renderer pack EMBER 02 supplied by the project lead, 7 Oct 2026: src/live-dag.js and src/proof-core.js adopted byte for byte (sha256 582f2e73... and c2a094a6...), reviewed as third-party code (one same-origin fetch of /api/live when poll is on, no eval, no CDN, no font download, tokens read from :root in both themes, checkpoints placed only on an exact blue score, proof never implies inclusion, a lock only when reported), its tests/verify.py run on this Mac (73 of 73) and the module mounted against the real observer feed (state live, only /api/live requested, zero records promoted). Home: the pack's full mode in the one-screen fold with the legend row and the newest block's caption, fed by the page's own reader. /live: the pack in the graph slot, the four miner stats (blocks in window, your blocks, proven, latest checkpoint), the All blocks / Selected chain / Your blocks tabs, Pause and Follow, the window stepper, the inspector column with IgneumProof's shard scene, the proof shards list, inclusion, miner key, blue score, DAA, parents, header time, checkpoint, finality, and the three-beat Motion, with meaning block; the observatory's six tiles, identities, event stream, block activity, light client and table stay. site.css gains --included and --excluded. The standalone demo is the pack's standalone.html; the 10-second recording is from this branch's /live. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
74 lines
3.5 KiB
Text
74 lines
3.5 KiB
Text
PASS Standalone preview renders without JS errors
|
|
PASS Standalone preview makes no network requests
|
|
PASS Both renderers use the same block records
|
|
PASS Sample contains six miner keys
|
|
PASS Visible source label says simulated
|
|
PASS Original mount API is exposed
|
|
PASS Zoom-in control works
|
|
PASS Zoom-out control works
|
|
PASS Ordinary page scrolling is not captured
|
|
PASS Modified wheel zooms the graph
|
|
PASS Keyboard inspection updates the details
|
|
PASS Escape clears selection
|
|
PASS Your-block filter is active
|
|
PASS Selected-chain filter is active
|
|
PASS Pause button updates state and accessibility
|
|
PASS Pause freezes displayed records while receiving data
|
|
PASS Pause freezes the rendered pixels
|
|
PASS Paused graph has no continuous RAF loop
|
|
PASS Resume applies buffered block records
|
|
PASS Sample block control selects a new own block
|
|
PASS Sample proof control advances shard states
|
|
PASS Sample checkpoint control produces an explicit locked record
|
|
PASS Accessible table contains block records
|
|
PASS Table selection opens the matching block
|
|
PASS Light theme control works
|
|
PASS Manual reduced motion propagates to both visuals
|
|
PASS System reduced-motion changes stop continuous drawing
|
|
PASS Motion resumes when the system preference changes
|
|
PASS Offscreen main graph suspends animation
|
|
PASS Main preview remains free of JS errors
|
|
PASS Responsive layout 320px has no horizontal overflow
|
|
PASS Compact renderer draws when scrolled into view at 320px
|
|
PASS Responsive preview 320px has no JS errors
|
|
PASS Responsive layout 390px has no horizontal overflow
|
|
PASS Compact renderer draws when scrolled into view at 390px
|
|
PASS Responsive preview 390px has no JS errors
|
|
PASS Responsive layout 768px has no horizontal overflow
|
|
PASS Compact renderer draws when scrolled into view at 768px
|
|
PASS Responsive preview 768px has no JS errors
|
|
PASS Responsive layout 1024px has no horizontal overflow
|
|
PASS Compact renderer draws when scrolled into view at 1024px
|
|
PASS Responsive preview 1024px has no JS errors
|
|
PASS Responsive layout 1440px has no horizontal overflow
|
|
PASS Compact renderer draws when scrolled into view at 1440px
|
|
PASS Responsive preview 1440px has no JS errors
|
|
PASS Valid observer payload is accepted
|
|
PASS Renderer does not mutate supplied records
|
|
PASS Age and selected-chain status do not imply proof or finality
|
|
PASS Existing records update miner, parents and header fields
|
|
PASS Malformed envelope is rejected without throwing
|
|
PASS Invalid block records are rejected without throwing
|
|
PASS Prototype-like hashes are safe map keys
|
|
PASS Tooltip treats incoming text as text, not markup
|
|
PASS Unknown shard state is not promoted to planned or verified
|
|
PASS Zoom has a 30-second lower bound
|
|
PASS Zoom has a 300-second upper bound
|
|
PASS ResizeObserver tracks container-only resizes
|
|
PASS Checkpoint is not snapped to a different blue score
|
|
PASS Exact checkpoint score renders a pending marker
|
|
PASS Weight alone does not infer checkpoint lock
|
|
PASS Stale feed preserves records and reports stale
|
|
PASS Stale feed does not animate as fresh activity
|
|
PASS Mounting again destroys the previous instance
|
|
PASS Destroy stops animation and rejects future pushes
|
|
PASS Polling preserves existing endpoint query parameters
|
|
PASS Polling requests fresh data with an abort signal
|
|
PASS Overlapping polls are prevented
|
|
PASS Queued zoom request uses latest window
|
|
PASS Observer response reaches rendered model
|
|
PASS Destroy aborts an in-flight observer request
|
|
PASS New module runs inside the supplied original HTML host
|
|
PASS Original host pause control still works
|
|
PASS Original host theme control remains compatible
|
|
RESULT 73 / 73
|