diff --git a/docs/wireframes/control-panel-main-wireframe.png b/docs/wireframes/control-panel-main-wireframe.png new file mode 100644 index 0000000..a76b606 Binary files /dev/null and b/docs/wireframes/control-panel-main-wireframe.png differ diff --git a/docs/wireframes/control-panel-main-wireframe.svg b/docs/wireframes/control-panel-main-wireframe.svg new file mode 100644 index 0000000..c2a6794 --- /dev/null +++ b/docs/wireframes/control-panel-main-wireframe.svg @@ -0,0 +1,175 @@ + + + + + + + + kiwii-sdk-control-panel + AAR SDK validation control panel. Device components stay visible; unavailable components stay gray until capability detected. + + + Global RuntimeHost Status + + Bound: false + + Ping: NOT_BOUND + Last API: none + Last error: waiting for RuntimeHost bind + + Bind + + Unbind + + Ping + RuntimeHost bound enables component detection; component availability is still per-device. + + + RuntimeHostStatusComponent + + Active + Always interactive; owns bind state refresh. + + Bind Host + + Runtime + + Health + + Lifecycle + + + CameraComponent + + Gray: not detected + Needs RuntimeHost bound + camera state available. + + Detect + + State + + Open Full Camera View + + + LeftHandleComponent + + Gray: not detected + Needs left handle data. + + Detect + + IMU + + HE Static + + HE Stream + + + RightHandleComponent + + Gray: not detected + Needs right handle data. + + Detect + + IMU + + HE Static + + HE Stream + + + BalanceBoardComponent + + Gray: not detected + Needs balance board data. + + Detect + + State + + Balance + + Telemetry + + + MotorComponent + + Gray: not detected + Needs motor state/control state. + + Detect + + Set Kg + + Set Mode + + State + + + TelemetrySafetyComponent + + Gray: bound + Available after RuntimeHost bound. + + Telemetry + + Safety + + Device Cmd + + Trace + + + SessionLogComponent + + Active + Records all SDK calls. + + 16:27:00 bind() -> false + 16:27:05 camera.detect -> skipped + + + CameraComponent Detail View + When CameraComponent is selected, user can open full camera preview without hiding device cards. + + Full Camera Preview + 16:9 frame, full visible image + + Camera State + + Refresh Frame + + Open Fullscreen + status: unavailable + reason: Host not bound + + + Selected Component Result + Latest call, params, status, return summary, error summary. + + selected=CameraComponent + call=detect + status=idle + result=waiting for RuntimeHost bind +