Skip to content

The WYSIWYG answers to the form theme and nothing else - #23

Merged
AllTerrainDeveloper merged 1 commit into
mainfrom
feature/preview-isolation
Aug 20, 2026
Merged

AllTerrainDeveloper merged 1 commit into
mainfrom
feature/preview-isolation

Conversation

@AllTerrainDeveloper

Copy link
Copy Markdown
Owner

Previews (builder canvas + Theme tab frame) were grounded on --atfb-bg → --os-window-bg, so the OpenStation theme leaked into the WYSIWYG. Now every preview owns its ground: fixed light neutral, the existing #101418 when the form theme is dark, color-scheme pinned to match, and the canvas halo ring mixes the preview's ground into the card token so only the seam adapts to the shell. Editing-layer annotations moved to preview-scoped tokens.

Verified live under a simulated dark shell: card chrome went rgb(29,35,39) while preview ground and studio frame held rgb(255,255,255) / color-scheme: light. 607 PHPUnit ✓ 261 vitest ✓. Held for manual testing before merge.

🤖 Generated with Claude Code

https://claude.ai/code/session_0119U4sRRWGcTQdwYreTwpAp

Every preview ground was painted with --atfb-bg, which resolves to the
shell's window token — so picking a legacy or dark OpenStation theme
re-grounded the canvas and the Theme tab's frame, and a form that will
publish onto a light page previewed on whatever the desktop happened to
be wearing. The grounds are now fixed neutrals owned by the form theme
alone: white, flipped to the existing dark backdrop when the theme marks
itself dark, with color-scheme pinned to match so even browser-painted
parts follow the form rather than the shell. Canvas previews bring that
ground always instead of only for dark themes — the halo ring mixes the
preview's own ground into the card's token, so the seam adapts to any
shell theme while the pixels inside never do. The editing layer's
annotations (ghosts, dashed summaries, remove buttons) move onto
preview-scoped tokens for the same reason: they draw on the preview's
ground, so they may not read the shell's palette.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0119U4sRRWGcTQdwYreTwpAp
@AllTerrainDeveloper
AllTerrainDeveloper merged commit c3a88c3 into main Aug 20, 2026
3 checks passed
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.

1 participant