Back Office · office.temerarii.xyz
One asset, all the way in — composition, the wireframe + storyboard, the output format stack, and the template, all read from the SAME content-index record. The expected output matches what /media surfaces for this post.
post thread-build-log-W27-Wedkind threadweek W27date 2026-07-08campaign thread · Wedpillar performancebeat Wedasset videoduration 31.9sground blackscenes 6

Checklist the per-video bar — engine/sim

83.0/100
plain languagevo coverageno dead airuniquenesscaption fitcompletenesscleanliness
quantitative quality · weights learn from your reviews (engine.sim.memory review thread-build-log-W27-Wed good|bad)
⚠ 6 flag(s) — not yet ship-ready: copy_genericlow_vo_coveragedead_airgeneric_scene · see docs/strategy/VIDEO-CHECKLIST.md

Composition comp · template family · expected output

composition SceneReelfamily / template BuildLog
9:16 Reelrendered1:1 Squarepending16:9 Widepending9:16 4Kpending1:1 4Kpending16:9 4KpendingGIF (SMS)pending
▶ open rendered mp4
expected output: 1/7 rendered — same matrix the /media preview surfaces for this asset.

Composition layer × scene 6 scenes · 31.9s · comp_id + rendered still + tier + the script

#Layer (comp_id · still · tier)BeatTimecodeMotionLogoAudioVO / on-screen / caption
1s1
matches intent
shared field
signature-3d
open0–6.1sspatial-parallaxicon·white-knockout♪ bed_in
Week five. We shipped fully code-rendered video this week, no timeline, no mouse.
on-screen: Shipped: video rendered by code
expected on screen: black ground · dodeca hero in the shared Signal Field · Mensor leads · node-graph · spatial-parallax · icon·white-knockout logo · caption bottom-left
spec (the prompt): comp_id shared Signal Fieldvisual node-graphshape dodecaground blacktreatment white-knockoutmotion spatial-parallaxpower summoninstrument summon→Shipped: video rendered by code
2s2
matches intent
CodeWindow
template
build6.1–11.1stype-onicon·wireframe♪ node_lock
The old way was dragging clips on a timeline for hours per edit, then re-exporting the whole thing for one text change.
on-screen: Old way: drag clips for hours
expected on screen: black ground · a CodeWindow panel over a dimmed Signal Field · Mensor leads · code · type-on · icon·wireframe logo · caption bottom-left
spec (the prompt): comp_id CodeWindowvisual codeshape dodecaground blacktreatment wireframemotion type-onpower summoninstrument draw-on→Old way: drag clips for hourscurate codeLines, windowTitle
3s3
matches intent
BuildLog
template
diff11.1–16.3scrossfade-8ficon·wireframe♪ node_lock
It broke on version drift. One package update and every render looked different.
on-screen: What broke: every render pinned wrong
expected on screen: black ground · a BuildLog panel over a dimmed Signal Field · Mensor leads · code · crossfade-8f · icon·wireframe logo · caption bottom-left
spec (the prompt): comp_id BuildLogvisual codeshape dodecaground blacktreatment wireframemotion crossfade-8fpower morphinstrument morph→What broke: every render pinned wrongcurate codeLines, lines
4s4
matches intent
NodeGraphCard
template
step16.3–21.9skinetic-buildicon·wireframe♪ node_lock
Now a video is a function we can call. Next, we render thirty of them in one batch.
on-screen: Next: render 30 at once
expected on screen: black ground · a NodeGraphCard panel over a dimmed Signal Field · Mensor leads · pipeline · kinetic-build · icon·wireframe logo · caption bottom-left
spec (the prompt): comp_id NodeGraphCardvisual pipelineshape dodecaground blacktreatment wireframemotion kinetic-buildpower throwinstrument laser-trace→Next: render 30 at oncecurate hub, nodes, stages, steps
5s5
first render · fix pending
StatScoreboard
templatedead_airgeneric_scene
proof21.9–26.9sreceipts-counticon·wireframe♪ node_lock
Build Log
expected on screen: black ground · a StatScoreboard panel over a dimmed Signal Field · Mensor leads · receipts · receipts-count · icon·wireframe logo · caption bottom-left
spec (the prompt): comp_id StatScoreboardvisual receiptsshape dodecaground blacktreatment wireframemotion receipts-countpower receiptsinstrument spotlight→Build Logcurate pillar, stats, statsLabels
6s6
first render · fix pending
shared field
signature-3ddead_airgeneric_scene
resolve26.9–31.9scoalescenceicon·white-knockout♪ bed_out
Build Log
expected on screen: black ground · dodeca hero in the shared Signal Field · Mensor leads · coalescence · coalescence · icon·white-knockout logo · caption bottom-left
spec (the prompt): comp_id shared Signal Fieldvisual coalescenceshape dodecaground blacktreatment white-knockoutmotion coalescencepower coalescenceinstrument coalescence→Build Log

Format stack 3 aspects · same scenes[], re-cropped

9:16
1080×1920
Stories · TikTok · YouTube Shorts · Reels
1:1
1080×1080
LinkedIn · Facebook · Instagram
16:9
1920×1080
X/Twitter · YouTube · LinkedIn video

Channels 9 destinations

LinkedInX/TwitterYouTubeInstagramFacebookThreadsTikTokPinterestBluesky

Social captions supplemental published copy · per channel (comp_id level)

tiktokWeek five. We shipped fully code-rendered video, no timeline, no mouse. A video is now a function we can call. It broke on version drift first. Next: render 30 in one batch. (AI-assisted)
instagramBuild log, week 5. Shipped: video rendered by code. No timeline. No mouse. What broke: version drift. One update and every render looked different. Next: 30 videos in one batch. #buildinpublic #remotion #codevideo #automation #buildlog
linkedinBuild log, week five. We shipped fully code-rendered video this week. No timeline, no mouse. The old way was dragging clips on a timeline for hours per edit. What broke first: version drift. One package update and every render looked different, so we pinned every dependency. Now a video is a function we can call. Next, we render thirty of them in one batch.
xWeek 5: we shipped fully code-rendered video. No timeline, no mouse. It broke on version drift until we pinned every package. A video is now a function we call. Next: 30 in one batch.
facebookBuild log, week five. We shipped fully code-rendered video this week, with no timeline and no mouse. The old way was dragging clips on a timeline for hours per edit. It broke first on version drift, one package update and every render looked different. Now a video is just a function we can call. Next up, we render thirty of them in one batch. Follow along.
threadsBuild log, week 5. We shipped fully code-rendered video. No timeline, no mouse. It broke on version drift first: one package update and every render looked different. We pinned everything. Now a video is a function we can call. Next, thirty in one batch.
pinterestHow we render video entirely in code, no timeline editor. Build log week five: fully code-rendered video, no mouse. The trap is version drift, so pin every package. Once a video is a function you can call, you can batch render thirty at once.
blueskyWeek 5: we shipped fully code-rendered video. No timeline, no mouse. It broke on version drift until we pinned every package. A video is now a function we call. Next: 30 in one batch.
youtubeTitle: Build Log Week 5: Video Rendered Entirely In Code This week we shipped fully code-rendered video, with no timeline and no mouse. The old way was dragging clips on a timeline for hours per edit. The first thing that broke was version drift: one package update and every render looked different, so we pinned every dependency. Now a video is a function we can call, and next we render thirty of them in one batch.

Cross-links every lens is a view on this one record