Skip to content

Add 3D camera timeline track + cap-demo CLI skill - #2111

Merged
richiemcilroy merged 15 commits into
mainfrom
camera3d-track
Aug 11, 2026
Merged

Add 3D camera timeline track + cap-demo CLI skill#2111
richiemcilroy merged 15 commits into
mainfrom
camera3d-track

Conversation

@richiemcilroy

@richiemcilroy richiemcilroy commented Aug 11, 2026

Copy link
Copy Markdown
Member

Summary

  • Adds a "3d" studio editor track: schema (Camera3DSegment/Camera3DTracks), a hand-rolled homography warp + screen-space CoC blur renderer layer, track-heal rescale support, and the desktop UI (track lane, sidebar panel with templates/scenes/keyframe editing).
  • Embeds a new cap-demo companion skill into the cap CLI's agent installer (scouts a URL, records it, and treats the footage with the 3D camera), with a build-time guard against accidentally baking node_modules into the binary.

Test plan

  • cargo check clean across cap-project, cap-rendering, cap-recording, cap-editor, cap-export, and cap (CLI)
  • apps/desktop vitest: 154/154 passing (63 new in three-d.test.ts)
  • pnpm tsc -b apps/desktop/tsconfig.json clean

Greptile Summary

This PR adds a 3D camera timeline, rendering and editing support, recording track-healing integration, and an installable cap-demo CLI skill.

  • Adds the 3D camera project schema, GPU renderer, shaders, timeline controls, templates, and keyframe editing.
  • Integrates 3D tracks with desktop import/export, playback, recording recovery, and track rescaling.
  • Embeds the cap-demo skill and assets into the CLI with an installation path and build-time dependency guard.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
crates/project/src/configuration.rs Adds the serialized 3D camera segment, pose, blur, and keyframe-track configuration model.
crates/rendering/src/layers/camera3d.rs Implements the GPU layer that applies the 3D camera transform and screen-space blur.
apps/desktop/src/routes/editor/three-d.ts Adds frontend 3D segment manipulation, templates, scenes, and keyframe helpers with focused tests.
apps/cli/skill/cap-demo/lib/scout-shoot.mjs Implements the browser scouting and detached recording stage with project-qualified recording shutdown.
apps/cli/skill/cap-demo/lib/treat.py Converts recorded events into bounded timeline cuts, 3D camera shots, cursor data, music, and an exported demo.
apps/cli/src/agents.rs Extends agent installation to deploy the embedded cap-demo companion skill.
crates/recording/src/track_heal.rs Extends timeline healing and rescaling to preserve 3D camera segments and their keyframes.

Reviews (3): Last reviewed commit: "fix: keep cap-demo second shot boundary ..." | Re-trigger Greptile

Context used (3)

@cursor

cursor Bot commented Aug 11, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@socket-security

socket-security Bot commented Aug 11, 2026

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addednpm/​playwright-core@​1.62.1100100799980
Addedcargo/​include_dir@​0.7.410010090100100

View full report

Comment thread apps/cli/skill/cap-demo/lib/scout-shoot.mjs Outdated
Comment thread apps/cli/skill/cap-demo/lib/treat.py
Comment thread packages/ui-solid/src/auto-imports.d.ts
@richiemcilroy

Copy link
Copy Markdown
Member Author

hey @greptileai, please re-review the PR

Comment thread apps/cli/skill/cap-demo/lib/treat.py Outdated
@richiemcilroy

Copy link
Copy Markdown
Member Author

hey @greptileai, please re-review the PR

@richiemcilroy
richiemcilroy merged commit 8b8dc2f into main Aug 11, 2026
24 of 27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant