Board, pool and readout commit before connection rebuild
Download complete editable project · Read the review limits
Rebuild the board-completion study in DaVinci Resolve
Revision r03. Native Resolve execution is untested. This is a construction guide, not a tested project import or proof of visual parity. The original Remotion code and SVGs remain the executable reference. One treatment has two authored content variants; neither recreates the source product or game rules.
Timeline and controls
Use a 1920×1080 composition with 60 frames at 24000/1001 fps (23.976). Disable audio. Set the first composition frame to zero, or subtract its actual start offset in every expression. Local 0–59 maps to source 2613–2672. The end-exclusive boundary is 60: no extra ending hold or frame interpolation.
controls-default-r03.csv and controls-adaptation-r03.csv contain one row per
local frame. They are manual control tables, not natively importable curves.
Regenerate one into a new filename with:
node --experimental-strip-types scripts/controls.mjs default new-default.csv
These tables are generated from the exact stateAt function used in the
Remotion renderer. Hold discrete gates and use the supplied per-frame values
for numerical properties. Do not smooth the disappearance or joint commit.
Build and layer order
Use native Background, Text+, shape/mask and Merge nodes. Keep the original six SVG module glyphs as separate editable vectors or imported permitted media; do not use source screenshots or render either supplied movie into the graph. Keep the original source SVG files with the project. Load the bundled Geist font and its OFL license. Native font metrics and SVG-import behavior need a real Resolve check; do not compensate by shrinking or changing copy silently.
Read the fixed geometry, colors, text sizes and label boxes from src/Board.tsx.
For each screen-space coordinate (x,y), the normalized Fusion point is
(x/1920, 1-y/1080). Convert widths/heights by their respective canvas dimension.
Check the resulting aspect ratio and corner order in the actual viewer. A 42 px
radius circle is 84/1920 by 84/1080, not equal normalized width and height.
Merge in this order: background/grid/header; board glow; module pool; preview scaffold; committed connections; nodes/labels; detached traveler; score panel; local payout; panel accents; completion/footer. Masks belong to their shape, not the whole scene. Traveler is not clipped to the pool. Panel accents sit above the right panel. Board color changes must not affect pale panels.
Use the five board centers (965,274), (705,534), (965,534), (1225,534),
(965,816). Label offsets and widths are NODE_LABELS in src/model.ts; the
top and center labels intentionally clear the vertical connector. Use the
same labels, including Digest, in the adaptation. Preserve the fixed-copy
guards. Pool slots use x=98+138(slot mod 2), y=288+183floor(slot/2).
State ownership
| Owner | Local controls and behavior |
|---|---|
| Pool | Six original indices before 26; remove index 1 at 26 and reflow to five. Individual cards mute at 29, not the whole panel. |
| Pre-commit scaffold | Three gold occupied arms with 12 px midpoint badges at 1–25. Lower arm stays gray, becoming blue/dashed during preview 10–25. Remove every old arm and badge at 26. |
| Traveler | Use the exact CSV positions at 10–24. It overlaps the pool and board. Remove at 25 while old score/pool/preview remain. |
| Preview | Dashed target ring at 10–17, solid ring at 18–25; lower link remains dashed. Preview badge uses after-before. Remove at 26. |
| Node occupancy | Empty at 0; four already present at 1, with no invented individual placements. Five at 26, sharing the pool and score gate. |
| Score and bar | Numeric score changes at 26. Bar still has before/target at 26 and progresses to after/target at 34. Use bar_fraction, not score/target. |
| Connections | Four independent center-to-end paths. End fractions are CSV top_end, left_end, right_end, bottom_end. Top is partial at 28 and full at 30; side arms and then bottom follow. All four are full at 35. |
| Achievement/completion | Achievement changes at 26. Completion text starts at 27. Keep these values through every later material change. |
| Material | Multiply each original gradient/line RGB channel by 0.03+0.97*material_level, round to an integer, and preserve alpha. The original RGB stops are in Board.tsx. Board glow opacity follows material_level. At 43/44 the graph is dark; 46 brown; 50 gold; 53 brown; 57/58 dark; 59 gold. Panels/readout stay unchanged. |
The previous RESOLVE.md and timing.csv describe r02 and are retained only
as historical construction notes. Their edge, bar, material and accent controls
must not drive r03.
Two independent accent groups
All paths below are authored spatial approximations from ordered source stills, not recovered particle tracks. Both groups belong to the single board example.
Local payout exists at 28–48. Let amount=payout_progress. Put the authored
payout text at (1018,763-12*amount) with 18 px type. Its group opacity is
min(1,(frame-27)/3)*min(1,(49-frame)/7). For six sparks numbered 0–5:
angle = indexpi/3 + 2amount; x = 965 + cos(angle)(10+13amount);
y = 824 + sin(angle)*12. Radius is 3 px for even indices, 2 px for odd.
Use #f4da8b. These marks stay local to the lower node.
Panel accents exist at 34–53. Let amount=panel_progress. Group opacity is
min(1,(frame-33)/3)*min(1,(54-frame)/8). For fourteen marks numbered 0–13:
x = 1320 + 330amount + 32(index mod 4);
y = 520 - 320amount - 22(index mod 5) - sin(index2.1)20.
Widths are 7 px for index mod 3=0, otherwise 4; heights 4 px for even indices,
otherwise 7. Corner radius 1 px. Colors cycle #c4a552, #839e9b, #bca88d.
Rotate index*31 degrees clockwise in screen coordinates about each upper-left
corner; check the sign after Fusion's Y conversion. The marks cross above the
right panel. They do not emerge from or mask the score text.
Review before reuse
Inspect both actual exports at 0/1, 24/25/26, 28/30/31/35, 43/46/50 and 53/57/58/59. Check label/connector separation, moving bar, midpoint marks, separate local/right accent regions, dark/brown/gold transitions, silence and the absence of an extra ending hold. Then watch at the native rate. Do not claim moving fidelity or native parity from this guide, CSV or static images.
The unchanged source-first review established relative ordering, not exact easing or particle trajectories. The r03 interpolation, colors, layout, sample text and module artwork are authored. Source typography, card artwork, material detail and continuous motion remain differences requiring visual review.