Add dev/web to plan; expand dev tools section and directory structure
- 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 <noreply@anthropic.com>
This commit is contained in:
19
planning.md
19
planning.md
@@ -17,10 +17,15 @@ video-setup/
|
|||||||
common/ - shared definitions (error types, base types)
|
common/ - shared definitions (error types, base types)
|
||||||
media_ctrl/ - Linux Media Controller API (topology, pad formats, links)
|
media_ctrl/ - Linux Media Controller API (topology, pad formats, links)
|
||||||
v4l2_ctrl/ - V4L2 camera controls (enumerate, get, set)
|
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)
|
node/ - video node entry point and top-level integration (later)
|
||||||
include/ - public headers
|
include/ - public headers
|
||||||
dev/
|
dev/
|
||||||
cli/ - exploratory CLI drivers, one per module
|
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
|
experiments/ - freeform experiments
|
||||||
tests/ - automated tests (later)
|
tests/ - automated tests (later)
|
||||||
Makefile
|
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 |
|
| 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 |
|
| `v4l2_ctrl_cli` | `v4l2_ctrl` | List controls, get/set values — lightweight `v4l2-ctl` equivalent |
|
||||||
| `transport_cli` | `transport` | Send/receive framed messages, inspect headers |
|
| `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
|
## Future: Protocol Preprocessor
|
||||||
|
|||||||
Reference in New Issue
Block a user