Skip to content

docs(skills): canonical zoomable diagram shell for visual-explainer - #1551

Open
FNDEVVE wants to merge 1 commit into
backnotprop:mainfrom
FNDEVVE:docs/visual-explainer-diagram-shell
Open

FNDEVVE wants to merge 1 commit into
backnotprop:mainfrom
FNDEVVE:docs/visual-explainer-diagram-shell

Conversation

@FNDEVVE

@FNDEVVE FNDEVVE commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Hand-rolled diagram shells in visual-explainer deliverables can regress the caption-overlap defect from #1546 (absolutely-positioned canvas escaping a static viewport's overflow, painting the zoomed diagram over the figure caption). The skill had no canonical shell — each artifact reinvented viewport, canvas, and caption markup.

This adds references/diagram-shell.md: a copy-instead-of-invent skeleton (HTML + CSS + zoom/pan behavior notes) with a five-rule clipping contract, wired into the visual-explainer path's "Before generating" list and the delivery gate (zoom-to-max + pan-to-extremes self-check in both palettes). The contract is pinned by tests: the viewport rule must keep position: relative + overflow: hidden, the canvas must stay absolute, and the SKILL.md pointer must survive edits.

The #1546 instance itself lives in the reporter's artifact file (fixed there with the one-line viewport positioning); this PR is the systemic half so future shells can't regress it.

Testing: bun test apps/skills/extra/plannotator-visual-explainer/SKILL.test.ts (10 pass, incl. 4 new contract tests).

Refs #1546.

Hand-rolled shells regress the backnotprop#1546 caption overlap (abs-pos canvas escaping a static viewport's overflow). Add a copy-instead-of-invent reference with a five-rule clipping contract, wire it into the visual-explainer path and delivery gate, and pin the contract with tests.

Refs backnotprop#1546.
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