nx_iot_page.nx
buildroot/runtime/nx_iot_page.nx
about
nx_iot_page.nx -- EMIT the nishifamily.com/iot hub control panel.
The UI surface for the IoT hub (operator directive 2026-06-20: "in
everything we build we need a UI we are iterating on -- that's the big
point of the nishifamily.com hosting"). This organ AUTHORS the page;
no JS/HTML is hand-written elsewhere. Same emit -> push -> verify loop
every property reuses (publishing is the separate sovereign step
nx_aw_push, additive + vault-backed).
DATA-DRIVEN (CLAUDE.md #11): the per-device control widgets are NOT
hardcoded -- the page asks nx_iot_capability what each device class can
do (cap flags) and renders exactly the right controls, and prints the
capability JSON the /iot front-end would consume. Change a device's
class and its controls change, with zero edits here.
HONEST SCOPE this iteration (feedback-show-raw-output-no-overclaim):
- READ-ONLY DASHBOARD, safe to be public: it surfaces the hub design,
the data-driven control layout (demo devices), the auto-pair +
self-heal state machines, and the MEASURED-exceed numbers.
- The control widgets are the live UI surface but DO NOT actuate yet;
actuation is wired in the next pass behind operator-only OPAQUE auth
(a control panel must not be public -- the law in
feedback-every-capability-needs-iterating-ui). We iterate from here.
genealogy_id: NISHI_IOT_HUB_ROADMAP.md + project-iot-hub-multi-vendor-kickoff-2026-05-16
license_tier: ORIGINAL
dependencies 2 imports · 0 importers
imports: nx_syscalls.nxnx_iot_capability.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| 31 | const IOT_OUT: *u8 = "web_assets/iot.html" |
| 32 | const IOT_CAP_BYTES: i64 = 262144 |
functions
| 35 | func iot_cat(dst: *u8, off: i64, s: *u8) -> i64 |
| 43 | func iot_catn(dst: *u8, off: i64, v: i64) -> i64 |
| 58 | func iot_widgets(h: *u8, off: i64, caps: i64) -> i64 |
| 87 | func iot_card(h: *u8, off: i64, name: *u8, room: *u8, vlabel: *u8, |
| 108 | func main() -> i64 |