Summary
On Windows, a project's scene children are never attached to their parent, so nothing below a <scene> renders. dapi capture returns the scene fill only (or pure black), dapi check reports the scene with no children, and the editor's canvas stays empty while the timeline still lists a child clip.
- OS: Windows 11
- Node: v22.21.0 · npm: 11.6.1
- dapi / app: 0.201.0, run from a source checkout via
npm run dev:desktop (Vite on :5173 + Electron)
- Not related to footage: it reproduces with plain
<rect> nodes and no media at all.
Note: this environment needed two other Windows fixes before dapi could reach the app at all (CLI chmod build failure, and the named-pipe half-close handshake). I am filing those separately — they are unrelated to this.
Repro
A minimal project, no media, no timing tricks:
export default function Project() {
return (
<stage background="#161616" camera={[0.3, 0, 0, 0.3, 85, 150]}>
<scene name="Probe" width={1920} height={1080} fill="#FF00FF" active>
<sequence name="Lay">
<rect x={200} y={200} width={400} height={300} fill="#00FF00" start={0} end={5} />
</sequence>
</scene>
</stage>
);
}
dapi open <dir>
dapi check <sceneId>
# {"stats":{"nodes":1,"byKind":{"scene":1},"depth":0,"duration":16},
# "issues":[{"code":"no-visuals","severity":"error",
# "message":"No visual content anywhere in the subtree — every frame renders empty"}]}
nodes is 1: the <sequence> and <rect> are not in the scene's subtree.
dapi capture <sceneId> -t 1 -o ./out
The frame comes back as the scene fill only (magenta here; pure black in the real project). The child rect never draws. I bisected this with a plain white 400×300 rect on top of a black scene — also absent — so it is not about which element or its props.
In the editor itself the project opens, the timeline shows the Lay clip, the ruler runs, but the canvas is empty (no scene frame at all).
What the reconciler receives is correct
Instrumenting insertNode in packages/reconciler/src/renderer.ts shows Solid's universal renderer asking for exactly the right shape:
[insertNode] sequence <- rect
[insertNode] scene <- sequence
[insertNode] <- scene (stage has no tag)
[insertNode] <-
So the child→parent insertion is requested correctly and in the right order, but the parent link never lands in the world (ChildOf), and anything below a scene is consequently invisible/culled from the render.
Secondary symptom
Remounting the project (edit a project file while it is open) additionally throws in the console:
Uncaught (in promise) Error: useEditorApi must be used within EditorApiProvider
(http://localhost:5173/src/utils/common.ts:3)
After that the CLI can no longer resolve any node id (No such node: "<stamp>"), i.e. the editor session looks stale. This may be a separate issue from the missing parent links, or a consequence of it — reporting it because it appears in the same session.
Impact
With this, the agent workflow cannot work on Windows at all: capture (the documented verification tool) produces empty frames, and by extension an export would too. check also misreports, since it walks the same subtree.
Happy to test a fix — the checkout is local and I can rebuild/restart quickly.
Summary
On Windows, a project's scene children are never attached to their parent, so nothing below a
<scene>renders.dapi capturereturns the scene fill only (or pure black),dapi checkreports the scene with no children, and the editor's canvas stays empty while the timeline still lists a child clip.npm run dev:desktop(Vite on :5173 + Electron)<rect>nodes and no media at all.Repro
A minimal project, no media, no timing tricks:
nodesis 1: the<sequence>and<rect>are not in the scene's subtree.The frame comes back as the scene fill only (magenta here; pure black in the real project). The child rect never draws. I bisected this with a plain white 400×300 rect on top of a black scene — also absent — so it is not about which element or its props.
In the editor itself the project opens, the timeline shows the
Layclip, the ruler runs, but the canvas is empty (no scene frame at all).What the reconciler receives is correct
Instrumenting
insertNodeinpackages/reconciler/src/renderer.tsshows Solid's universal renderer asking for exactly the right shape:So the child→parent insertion is requested correctly and in the right order, but the parent link never lands in the world (
ChildOf), and anything below a scene is consequently invisible/culled from the render.Secondary symptom
Remounting the project (edit a project file while it is open) additionally throws in the console:
After that the CLI can no longer resolve any node id (
No such node: "<stamp>"), i.e. the editor session looks stale. This may be a separate issue from the missing parent links, or a consequence of it — reporting it because it appears in the same session.Impact
With this, the agent workflow cannot work on Windows at all:
capture(the documented verification tool) produces empty frames, and by extension an export would too.checkalso misreports, since it walks the same subtree.Happy to test a fix — the checkout is local and I can rebuild/restart quickly.