Skip to content

Lane B — Compositor primitives (SW-B1..B6): scene pre-pass, wipe masks, DVE transform, keyer math, NV12+A blend, kernel test pins #115

Description

@aperim-agent

Parallel lane in multiview-compositor (+ core types); both kernels (CPU reference + wgpu) move together.

  • SW-B1 L — Scene pre-pass / on-GPU pass fusion (one NV12 readback per tick) + multi-box composition source — ADR-0056
  • SW-B2 L — Wipe masks: per-tile SDF mask fn + softness/border (post-MVP wave 2) — ADR-0055
  • SW-B3 L — Per-tile affine transform + sub-pixel placement + finally wiring FitMode/crop/rotation (DVE substrate, post-MVP wave 2) — ADR-0055
  • SW-B4 M — Keyer math: luma + linear/fill+key (chroma/pattern post-MVP); key alpha at the verified inv-Bump @vitejs/plugin-react from 4.7.0 to 6.0.2 in /web #8 insertion points — ADR-0056/C007
  • SW-B5 M — NV12+A tile input: straight-alpha R8 plane, premultiplied exactly once in-kernel in linear light (deps: SW-C3 payload agreement) — ADR-0058
  • SW-B6 M — Kernel test pins: CPU-oracle/GPU-SSIM parity + the dissolve law (linear-light only; perceptual curve applies to t, never pixels; PQ/HLG goldens) — ADR-C007

Design docs: production-switcher brief · media-playout brief · SW backlog · work-schedule SW stream — all delivered in PR #112. Implementation starts only after the design PR is reviewed/merged and the operator green-lights coding.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    claimed:claudeActively being worked by the Claude devices/display program — do not pick upenhancementNew feature or requestswitcherProduction switcher program — briefs + ADR-0054..0059 + SW backlog (PR #112)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions