Repository navigation
Commit f0bc3d1
committed
feat(camera): several cameras in the picture, with layout sections
Up to four recorded cameras can now be on screen together. Layout sections on the
timeline choose a template — screen + small cameras, one camera full + small ones,
two cameras side by side, or another camera full — and which camera goes into each
place; the picture glides between sections. Each camera can be turned, mirrored,
cropped and perspective-corrected (a homography calibrated once with four corner
handles, optionally placed by detected ArUco markers from a printable sheet).
- Compositor: a list of camera layers per frame instead of one webcam rect,
planned in `camera_layers.rs` (glide and fade between neighbouring sections,
incl. a direct glide to and from an adjacent Full Camera section), extra camera
decoders opened only for cameras a layout shows (preview and export, a camera
that ends early never shortens the clip), a homography and a transparency lane in
`LayerCB` (HLSL, WGSL, MSL), the corrected camera cover-fitted into its box.
- Editor: Full Camera regions stay as they are (camera 1, desk view); every other
layout lives in `cameraLayoutRegions`, clip-anchored like Full Camera regions,
in the same timeline lane with no overlap across the two lists. "Add layout"
menu, a layout inspector (template, camera per place, reset windows), PiP places
movable and resizable in the preview, a "Cameras" section with per-camera
settings, and a calibration dialog (perspective and crop) with a loupe, target
format, margin and a live rectified preview. Marker detection uses js-aruco2
(MIT; the OpenCV 4x4 dictionary codes are BSD-3, both listed in
THIRD-PARTY-NOTICES.md).
- Every change is one undo step; projects without layout sections render exactly
as before.1 parent 0857621 commit f0bc3d1
158 files changed
Lines changed: 14249 additions & 663 deletions
File tree
- crates
- compositor-view-napi/src
- compositor
- src
- vk_shaders
- tests
- poc-d3d/src
- electron
- ai-edition
- deep-agent
- ipc
- native-bridge/services
- native/compositor-view
- scripts
- src
- cli
- components
- ai-edition
- v4
- video-editor
- i18n/locales
- ar
- cs
- de
- en
- es
- fr
- it
- ja-JP
- ko-KR
- pt-BR
- ru
- tr
- vi
- zh-CN
- zh-TW
- lib
- ai-edition
- document
- store
- timeline
- native
- types
- technical-documentation/testing
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
10 | 12 | | |
11 | 13 | | |
12 | 14 | | |
| |||
172 | 174 | | |
173 | 175 | | |
174 | 176 | | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
175 | 220 | | |
176 | 221 | | |
177 | 222 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | | - | |
| 18 | + | |
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| |||
368 | 368 | | |
369 | 369 | | |
370 | 370 | | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
371 | 374 | | |
372 | 375 | | |
373 | 376 | | |
| |||
376 | 379 | | |
377 | 380 | | |
378 | 381 | | |
| 382 | + | |
379 | 383 | | |
380 | 384 | | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
381 | 390 | | |
382 | 391 | | |
383 | 392 | | |
384 | 393 | | |
| 394 | + | |
385 | 395 | | |
386 | 396 | | |
387 | 397 | | |
388 | 398 | | |
389 | 399 | | |
390 | 400 | | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
391 | 409 | | |
392 | 410 | | |
393 | 411 | | |
| |||
504 | 522 | | |
505 | 523 | | |
506 | 524 | | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
507 | 545 | | |
508 | 546 | | |
509 | 547 | | |
| |||
701 | 739 | | |
702 | 740 | | |
703 | 741 | | |
704 | | - | |
705 | | - | |
706 | | - | |
707 | | - | |
708 | | - | |
709 | | - | |
710 | | - | |
711 | | - | |
712 | | - | |
713 | | - | |
714 | | - | |
| 742 | + | |
715 | 743 | | |
716 | 744 | | |
717 | 745 | | |
| |||
882 | 910 | | |
883 | 911 | | |
884 | 912 | | |
885 | | - | |
886 | | - | |
887 | | - | |
888 | | - | |
889 | | - | |
890 | | - | |
891 | | - | |
892 | | - | |
893 | | - | |
894 | | - | |
895 | | - | |
| 913 | + | |
896 | 914 | | |
897 | 915 | | |
898 | 916 | | |
| |||
0 commit comments