docs: defer per-instance highlight to open backlog (no scheduled phase)

Reframe the selection-blink follow-up so it doesn't suggest near-term
work. Was listed in N.5 ship record as "Phase B.4 follow-up adds the
field" — now phrased as open backlog with the hook reserved in
mesh_modern.vert's InstanceData comment for whoever eventually picks
it up.

The shader hook itself is unchanged — change is purely doc wording in
the plan SHIP record + CLAUDE.md WB integration cribs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Erik 2026-05-08 22:22:23 +02:00
parent 27eaf4e0be
commit d73dcd56ba
2 changed files with 12 additions and 9 deletions

View file

@ -96,12 +96,12 @@ ourselves".
as alpha-blend on GfxObj surfaces — falsifiable; if a magic-content as alpha-blend on GfxObj surfaces — falsifiable; if a magic-content
regression shows up, add a third indirect call with regression shows up, add a third indirect call with
`glBlendFunc(SrcAlpha, One)` per spec §6 fallback (~30 min change). `glBlendFunc(SrcAlpha, One)` per spec §6 fallback (~30 min change).
- **Per-instance highlight (selection blink) is reserved.** `mesh_modern.vert`'s - **Per-instance highlight (selection blink) is reserved — open
`InstanceData` struct has a documented hook for `vec4 highlightColor` backlog, no scheduled phase.** `mesh_modern.vert`'s `InstanceData`
— Phase B.4 follow-up adds the field + plumbs server-side selection struct has a documented hook for `vec4 highlightColor`. Whoever
state. Stride grows from 64 → 80 bytes when added; shader updates eventually picks it up finds the hook there; the change is localized:
trivially (read the field from `Instances[instanceIndex]` + mix into extend `InstanceData` stride 64→80 bytes, add the field, mix into
fragment color). fragment color in `mesh_modern.frag`. ~30 min when the time comes.
**Execution phases:** R1→R8 in the architecture doc. Each phase has clear **Execution phases:** R1→R8 in the architecture doc. Each phase has clear
goals, test criteria, and builds on the previous. Don't skip phases. goals, test criteria, and builds on the previous. Don't skip phases.

View file

@ -2434,7 +2434,7 @@ Append to this plan file (`docs/superpowers/plans/2026-05-08-phase-n5-modern-ren
- N.6: retire `InstancedMeshRenderer`. - N.6: retire `InstancedMeshRenderer`.
- N.6 candidate: persistent-mapped buffers if `glBufferData` shows up in profiling. - N.6 candidate: persistent-mapped buffers if `glBufferData` shows up in profiling.
- N.6 candidate: WB atlas adoption for memory savings on shared content. - N.6 candidate: WB atlas adoption for memory savings on shared content.
- Phase B.4 follow-up: per-instance `highlightColor` for selection blink. - Open backlog (no scheduled phase): per-instance `highlightColor` for retail-faithful selection blink — field reserved in `mesh_modern.vert`; whoever picks it up later finds the hook.
- (Long-session memory pressure — log evidence in N.6 watchlist.) - (Long-session memory pressure — log evidence in N.6 watchlist.)
``` ```
@ -2618,8 +2618,11 @@ adjustments captured beyond the plan:
walls, etc). walls, etc).
- **GPU-side culling** via compute pre-pass. - **GPU-side culling** via compute pre-pass.
- **Per-instance highlight (selection blink)** for retail-faithful click - **Per-instance highlight (selection blink)** for retail-faithful click
feedback. Field reserved in `mesh_modern.vert`'s `InstanceData` struct feedback — **open backlog, no scheduled phase.** Field reserved in
comment; `Phase B.4 follow-up` ticket. `mesh_modern.vert`'s `InstanceData` struct comment; whoever eventually
wants it finds the hook there. Change is localized: extend
`InstanceData` stride 64→80 bytes, add `vec4 highlightColor` field,
mix into fragment color. ~30 min when the time comes.
### Memory ### Memory