From 3b2bee705cfe5a250bb6049a90b5d734d3125f73 Mon Sep 17 00:00:00 2001 From: skal Date: Mon, 16 Feb 2026 23:33:53 +0100 Subject: fix: port Hybrid3D effect to sequence v2 architecture Hybrid3D was calling Renderer3D::render() which creates its own command encoder, bypassing the sequence system. Now uses renderer_.draw() with the passed encoder. Also adds texture blit support for RotatingCube compositing. Co-Authored-By: Claude Sonnet 4.5 --- doc/BACKLOG.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'doc') diff --git a/doc/BACKLOG.md b/doc/BACKLOG.md index 403ecc9..68995a7 100644 --- a/doc/BACKLOG.md +++ b/doc/BACKLOG.md @@ -150,6 +150,30 @@ Extend uniform parameter system to remaining effects. **Estimated Impact**: ~200-300 bytes per effect +### TODO MAYBE: Timeline Syntax for Buffer Operations +Explicit timeline control for buffer clear/blit operations. + +**Current**: Effects decide behavior (e.g., RotatingCube checks if input is "source") + +**Proposed**: Timeline syntax for buffer operations +- `[NONE]` - Shader samples input (post-process effects) +- `[CLEAR r g b a]` - Clear to color before render (3D standalone) +- `[BLIT]` - Copy input to output before render (3D composite) + +**Example**: +``` +EFFECT + RotatingCube source -> temp1 [CLEAR 0 0 0 0] 0.0 4.0 +EFFECT + RotatingCube temp1 -> temp2 [BLIT] 2.0 16.0 +``` + +**Trade-offs**: +- Pro: Explicit, instance-specific control, self-documenting +- Con: seq_compiler complexity, size cost, syntax bloat + +**Decision**: Effect-decides approach works for now. Only add if multiple 3D effects need per-instance control. + +**Priority**: Very Low (revisit if pattern becomes common) + ### Task #52: Procedural SDF Font Minimal bezier/spline set for [A-Z, 0-9] and SDF rendering. -- cgit v1.2.3