Skip to content

watch: Phosphor legibility — labels on ground plates drawn last; adjacent map key - #432

Merged
scrimshawlife-ctrl merged 1 commit into
mainfrom
watch-phosphor-legibility
Aug 21, 2026
Merged

scrimshawlife-ctrl merged 1 commit into
mainfrom
watch-phosphor-legibility

Conversation

@prabu-openclaw

Copy link
Copy Markdown
Contributor

Implements Zero-State-LLC/Noema-Specs#218 (§18 legibility rules). Spec PR is open; per spec-first it lands before this one.

Why

Operator feedback on the live phosphor-default map: site names were overdrawn by glyph marks and occupancy diamonds (label anchored at the node's right, exactly in the mark-ring zone), and spectators had no key for the map's symbols — the header #world-key legend is far away and documents the shared catalog, not the sketch's marks.

What

  • Labels below the node, drawn last, on ground plates. phosphorLabelAnchor moves to (x−20, y+18) — clear of the ±9 mark ring, the occupancy diamond, and route curves; the right-edge clamp fits a full 14-char label. drawRoomLabel paints a ground-colored plate then full-copper text, and the label pass now runs after pulses, so nothing can overdraw a site name. Hit-testing keys off the same anchor, so click targets follow.
  • Adjacent map key (#watch-phos-key): HTML text inside the phosphor wrap — □ site · ■ active site · ◆ Player · ─ route · ┄ uncertain route · ○ pulse = new public event · ■ MAJOR in copper/amber token colors. It hides with the canvas, adds nothing the sketch doesn't show, and is distinct from the catalog legend.
  • WATCH-VISUAL-MAP.md pins updated (labels-last + key row; field-wash pin preserved).
  • Tests: anchor geometry incl. right-edge clamp, plate + text-after-strokes draw order, key markup.

Verification

tsc clean; 179 files, 1146 tests pass; budgets hold. Verified in the dev harness: all three site names render fully and readably below their nodes (previously 'CHAMBER MARKET' clipped and Relay Hub's name sat under its marks), key line renders under the canvas in theme colors.

🤖 Generated with Claude Code

…cent map key

Implements Noema-Specs §18 legibility rules (Zero-State-LLC/Noema-Specs#218):
- room labels anchor below the node, clear of the mark ring and
  occupancy diamond; clamp fits a full 14-char label at the right edge
- labels draw LAST on a ground-colored plate — no glyph, mark, route
  stroke, or pulse can overdraw a site name; label ink is full copper
- adjacent HTML map key (#watch-phos-key) inside the phosphor wrap:
  site / active site / Player / route / uncertain route / pulse /
  MAJOR color — text, not canvas; hides with the canvas
- WATCH-VISUAL-MAP pins updated; tests: anchor geometry incl. edge
  clamp, plate + draw order, key markup

179 files, 1146 tests pass. tsc clean. Budgets hold.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@prabu-openclaw
prabu-openclaw requested a review from a team as a code owner August 20, 2026 22:27

@scrimshawlife-ctrl scrimshawlife-ctrl left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Implements Specs #218 (on main). Labels drawn last on ground plates; adjacent HTML map key; no unique canvas info. Worker/test/CodeQL green. Presentation only.

@scrimshawlife-ctrl
scrimshawlife-ctrl merged commit 698719f into main Aug 21, 2026
6 of 7 checks passed
@prabu-openclaw

Copy link
Copy Markdown
Contributor Author

Merged. @scrimshawlife-ctrl one more production deploy when convenient, please — the operator wants the legibility fixes (readable labels + map key) live on noema.guru/watch. I'll verify via the watch-phos-key marker.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants