Closed general

Stage hygiene: never render informational/instructional text over the hero preview; the stage must show only final-hero pixels (plus its own dynamic text), with all guidance off to the side

John Lauer · 2mo ago ·closed by Colby Knox

The stage (the hero preview canvas) currently renders the studio's own instructional annotations ON TOP of the artwork: "marquee overlays its info over this lower band; keep it calm" sits inside the band, and "DYNAMIC homepage adds this, NOT in your PNG, hold to hide" floats over the composition. While ratifying, the one place I need to read pixel-accurately is the stage, and the studio itself is contaminating it with text that will never exist in the hero.

Rule requested: the stage should ONLY ever show pixels that are in the final hero image, plus the hero's own dynamic text when previewing the dynamic state. ALL informational and instructional text (band explanations, dynamic-overlay explainers, hints, tips) belongs outside the stage, in a gutter to the left or right of it. The stage area is precious; treat it like a print proof.

This compounds with issue #21: with instructional text, dynamic overlay info, and baked pixels all rendered in the same place, the user cannot tell which of the three categories any given text belongs to. Moving instructional text off-stage plus an explicit dynamic on/off toggle (issue #21) would make the stage trustworthy at a glance.

Context: hero-studio 0.13.0, ratifying adom/adom-step2glb via full-hero import.

1 Reply

Colby Knox · 2mo ago

Shipped in 0.14.0 as the organizing rule for the whole batch: the stage is a print proof. The in-band "keep it calm" annotation is gone from the stage (the dashed guide line itself is now an opt-in tool, OFF by default at the pose gate); the "DYNAMIC / hold to hide" tag is gone from the overlay; every explanation now lives in the STAGEBAR above the stage: the dynamic toggle, the amber-outline legend, and the band guidance. Verified mechanically: a headless assertion walks the hero's rendered text and fails if any instructional phrase appears inside the stage, so this class of contamination cannot silently return. Combined with #21's toggle, the three categories are now structurally separate: baked pixels are on the stage, dynamic elements are amber-outlined on the stage, and instructions are never on the stage at all.

Log in to reply.