From 94ac152d55cd66e24ed1fc8fce4002bdbec020bb Mon Sep 17 00:00:00 2001 From: mikael-lovqvists-claude-agent Date: Wed, 25 Mar 2026 22:23:43 +0000 Subject: [PATCH] Add dev/web to plan; expand dev tools section and directory structure MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - dev/web/ is the browser-side equivalent of dev/cli/ — a Node.js dev UI that speaks the binary protocol and exposes V4L2/topology inspection - Explicitly noted as blocked on transport+protocol being finalised - Distinguished from the future production dashboard - Directory structure updated to show serial/transport/protocol modules Co-Authored-By: Claude Sonnet 4.6 --- planning.md | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/planning.md b/planning.md index 624a692..512cd56 100644 --- a/planning.md +++ b/planning.md @@ -17,10 +17,15 @@ video-setup/ common/ - shared definitions (error types, base types) media_ctrl/ - Linux Media Controller API (topology, pad formats, links) v4l2_ctrl/ - V4L2 camera controls (enumerate, get, set) + serial/ - little-endian binary serialization primitives + transport/ - framed TCP stream, single-write send + protocol/ - typed write_*/read_* message functions node/ - video node entry point and top-level integration (later) include/ - public headers dev/ cli/ - exploratory CLI drivers, one per module + web/ - development web UI (Node.js/Express); browser-side equivalent + of the CLI tools; depends on protocol being finalised experiments/ - freeform experiments tests/ - automated tests (later) Makefile @@ -51,9 +56,11 @@ Modules are listed in intended build order. Each depends only on modules above i --- -## Dev CLI Drivers +## Dev Tools -Each module gets a corresponding CLI driver in `dev/cli/` that exercises its API and serves as both an integration check and a useful development tool. +### CLI (`dev/cli/`) + +Each module gets a corresponding CLI driver that exercises its API and serves as both an integration check and a useful development tool. | Driver | Exercises | Notes | |---|---|---| @@ -61,6 +68,14 @@ Each module gets a corresponding CLI driver in `dev/cli/` that exercises its API | `v4l2_ctrl_cli` | `v4l2_ctrl` | List controls, get/set values — lightweight `v4l2-ctl` equivalent | | `transport_cli` | `transport` | Send/receive framed messages, inspect headers | +### Web UI (`dev/web/`) + +A Node.js/Express development web UI — the browser-side equivalent of the CLI tools. Connects to a running video node as a binary protocol peer and exposes its capabilities through a browser interface: V4L2 control inspection and adjustment, media topology view, stream state. + +**Prerequisite**: the `transport` and `protocol` modules must be finalised before `dev/web/` can be implemented — the web UI depends on a stable wire format and a `protocol.mjs` that mirrors the C protocol module. + +This is a development aid, not the production dashboard. The production dashboard (full stream configuration UI) is a later, separate project. + --- ## Future: Protocol Preprocessor