web/console-render.sx: render-to-console walks a live DOM element tree through the engine's own dom-* accessors and prints it as terminal text — the results <ul> becomes a bulleted list, the filter <input> a text field, the load-more sentinel a "…" line, an .sx-error element a flagged line. It's the console platform's draw step: the browser PAINTS the engine's tree, the harness ASSERTS it, this PRINTS it — one tree, three bindings, the proof the engine is a general runtime not a browser library. Wired into the picker's SX engine tests (web/tests/test-relate-picker.sx): the load and error tests now ALSO assert their console rendering — the same tree the engine built drives both the DOM assertion and the terminal output, so Phase 1's suite is the console renderer's regression suite for free. Plus a relate-picker:console suite for the field/bullet/sentinel/error shapes. 7/7 green, no web-suite regressions. (Class membership reads the live classList via dom-has-class?, not the static class attribute — the engine adds .sx-error through classList.) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
180 KiB
180 KiB