Skip to content

A Node can be a Camera: a Camera reading and a drawn SIMULATED picture that stays on the Node #116

Closed

Description

@Fazorath

Parent

#27 (M6 General sensors)

Spec: docs/specs/general-sensors.md (added by PR #111; read it there until it merges). Parent: #27.

What to build

A Node declaring camera sends ["camera", n, "pic"] with n rising by one per share from 1, and draws one small SVG (newest only, in memory) at each share from the water level at its own spot and the Event time: a water line against a depth staff, or dry ground. "SIMULATED" is in the drawing; it holds no coordinates, Node id or real place name. A read-only route on the Node returns it as image/svg+xml (404 when the Node doesn't declare camera). The Sandbox's Hub passes its Sensors' pictures through one Sandbox-only route, in-process. A Live Hub hides Camera rows from simulated Nodes like any simulated reading. Adds Camera wording to the docs/specs/wire-formats.md known kinds. Spec decision 4.

Acceptance criteria

  • A Node declaring camera sends ["camera", n, "pic"] with n going up per share, and its picture route returns an SVG; a Node not declaring it returns 404 and sends no such Measurement.
  • The SVG contains "SIMULATED", differs between a wet and a dry spot, and contains no coordinates or Node id.
  • No picture bytes pass through the Mesh: the only camera data on the Mesh is the Measurement.
  • The Sandbox Hub's pass-through route serves a Sandbox Sensor's picture and exists only in the Sandbox.
  • A Live Hub shows no Camera rows from simulated Nodes; the Rule set never reads camera (Flood Risk unchanged).
  • scripts/check.sh node passes.

Blockers are native links.

Metadata

Metadata

Assignees

Labels

area: nodeNode service (node/)featureNew behaviour a user can seeready-for-agentSpec'd and safe for the night shift to build

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions