@cueframe/kernel 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (815) hide show
  1. package/LICENSE +661 -0
  2. package/dist/_members/account-model/testing/conversationStoreContract.d.ts +0 -59
  3. package/dist/_members/account-model/testing/index.d.ts +0 -5
  4. package/dist/_members/account-model/testing/restorePointStoreContract.d.ts +0 -24
  5. package/dist/_members/account-model/validators/contextFile.d.ts +0 -6
  6. package/dist/_members/account-model/validators/conversation.d.ts +0 -96
  7. package/dist/_members/account-model/validators/dashboardInsight.d.ts +0 -6
  8. package/dist/_members/account-model/validators/sessionToken.d.ts +0 -29
  9. package/dist/_members/account-model/validators/uploadToken.d.ts +0 -4
  10. package/dist/_members/account-model/validators/userSettings.d.ts +0 -4
  11. package/dist/_members/account-model/validators/workingComposition.d.ts +0 -7
  12. package/dist/_members/animate/animations/Create.d.ts +0 -19
  13. package/dist/_members/animate/animations/FadeIn.d.ts +0 -17
  14. package/dist/_members/animate/animations/GrowArrow.d.ts +0 -19
  15. package/dist/_members/animate/animations/GrowFromCenter.d.ts +0 -12
  16. package/dist/_members/animate/animations/Indicate.d.ts +0 -17
  17. package/dist/_members/animate/animations/MoveAlongPath.d.ts +0 -18
  18. package/dist/_members/animate/animations/Transform.d.ts +0 -28
  19. package/dist/_members/animate/animations/Wiggle.d.ts +0 -18
  20. package/dist/_members/animate/animations/Write.d.ts +0 -20
  21. package/dist/_members/animate/composition/AnimationGroup.d.ts +0 -21
  22. package/dist/_members/animate/composition/LaggedStart.d.ts +0 -22
  23. package/dist/_members/animate/composition/Succession.d.ts +0 -17
  24. package/dist/_members/animate/easing/rush.d.ts +0 -14
  25. package/dist/_members/animate/easing/smooth.d.ts +0 -7
  26. package/dist/_members/animate/easing/smootherstep.d.ts +0 -6
  27. package/dist/_members/animate/index.d.ts +0 -2
  28. package/dist/_members/animate/mobjects/Arrow.d.ts +0 -25
  29. package/dist/_members/animate/mobjects/BrandBox.d.ts +0 -25
  30. package/dist/_members/animate/mobjects/DiGraph.d.ts +0 -18
  31. package/dist/_members/animate/mobjects/Graph.d.ts +0 -38
  32. package/dist/_members/animate/three/ThreeCanvas.d.ts +0 -23
  33. package/dist/_members/animate/three/drei.d.ts +0 -7
  34. package/dist/_members/authoring/agent/buildTools.d.ts +0 -37
  35. package/dist/_members/authoring/agent/contextManagement.d.ts +0 -65
  36. package/dist/_members/authoring/agent/errors.d.ts +0 -9
  37. package/dist/_members/authoring/agent/memoryTool.d.ts +0 -2
  38. package/dist/_members/authoring/agent/promptCache.d.ts +0 -31
  39. package/dist/_members/authoring/agent.d.ts +0 -34
  40. package/dist/_members/authoring/capabilities.d.ts +0 -145
  41. package/dist/_members/authoring/composer/scopes.d.ts +0 -19
  42. package/dist/_members/authoring/context/brand.d.ts +0 -4
  43. package/dist/_members/authoring/context/brandTokens.d.ts +0 -4
  44. package/dist/_members/authoring/context/index.d.ts +0 -1
  45. package/dist/_members/authoring/context/timeline.d.ts +0 -15
  46. package/dist/_members/authoring/context/transcript.d.ts +0 -11
  47. package/dist/_members/authoring/context/types.d.ts +0 -4
  48. package/dist/_members/authoring/decomposer.d.ts +0 -12
  49. package/dist/_members/authoring/evaluate.d.ts +0 -26
  50. package/dist/_members/authoring/evaluator.d.ts +0 -16
  51. package/dist/_members/authoring/models/modelFactory.d.ts +0 -77
  52. package/dist/_members/authoring/motion/applyMotionPreset.d.ts +0 -12
  53. package/dist/_members/authoring/motion/materializeMotionPresetOps.d.ts +0 -7
  54. package/dist/_members/authoring/motion/shell.d.ts +0 -20
  55. package/dist/_members/authoring/pipelineTrace.d.ts +0 -19
  56. package/dist/_members/authoring/prompts/decomposerPrompt.d.ts +0 -4
  57. package/dist/_members/authoring/prompts/designReviewerPrompt.d.ts +0 -16
  58. package/dist/_members/authoring/prompts/evaluatorPrompt.d.ts +0 -4
  59. package/dist/_members/authoring/prompts/graphics.d.ts +0 -5
  60. package/dist/_members/authoring/prompts/plannerPrompt.d.ts +0 -30
  61. package/dist/_members/authoring/providers/resourceApi.d.ts +1 -20
  62. package/dist/_members/authoring/resource-routing.d.ts +0 -121
  63. package/dist/_members/authoring/resources.d.ts +0 -34
  64. package/dist/_members/authoring/scope.d.ts +0 -24
  65. package/dist/_members/authoring/tools/brandTokens.d.ts +0 -22
  66. package/dist/_members/authoring/tools/composeRoleTools.d.ts +0 -79
  67. package/dist/_members/authoring/tools/index.d.ts +0 -1
  68. package/dist/_members/authoring/tools/toolSets.d.ts +0 -50
  69. package/dist/_members/authoring/transpileComponent.d.ts +0 -34
  70. package/dist/_members/authoring/transpileHelper.d.ts +0 -18
  71. package/dist/_members/authoring/types.d.ts +0 -149
  72. package/dist/_members/brand-derivation/constants.d.ts +0 -17
  73. package/dist/_members/brand-derivation/contrastSafe.d.ts +0 -23
  74. package/dist/_members/cloud-import/CloudImportService.d.ts +0 -15
  75. package/dist/_members/cloud-import/ImportProvider.d.ts +0 -45
  76. package/dist/_members/cloud-import/MediaItemPreprocessor.d.ts +0 -9
  77. package/dist/_members/cloud-import/cloudConfig.d.ts +0 -15
  78. package/dist/_members/compose/CompositionRenderer.d.ts +0 -6
  79. package/dist/_members/compose/primitiveRegistry.d.ts +0 -64
  80. package/dist/_members/compose/sceneToRenderInput.d.ts +0 -26
  81. package/dist/_members/compose/schema.d.ts +0 -15
  82. package/dist/_members/compose/tokenResolver.d.ts +0 -11
  83. package/dist/_members/composition/audio/audioMix.d.ts +0 -34
  84. package/dist/_members/composition/audio/mixStaging.d.ts +0 -81
  85. package/dist/_members/composition/audio/musicPack.d.ts +0 -35
  86. package/dist/_members/composition/audio/musicPack.generated.d.ts +0 -6
  87. package/dist/_members/composition/audio/pack.d.ts +0 -43
  88. package/dist/_members/composition/audio/pack.generated.d.ts +0 -6
  89. package/dist/_members/composition/audio/palette.d.ts +0 -36
  90. package/dist/_members/composition/autozoom/index.d.ts +0 -32
  91. package/dist/_members/composition/brand-kit.d.ts +0 -8
  92. package/dist/_members/composition/brief/contract.d.ts +0 -90
  93. package/dist/_members/composition/color-grade.d.ts +0 -11
  94. package/dist/_members/composition/depth.d.ts +0 -19
  95. package/dist/_members/composition/fixtures/agentErrored.d.ts +0 -23
  96. package/dist/_members/composition/fonts.d.ts +0 -62
  97. package/dist/_members/composition/graphics-plan/compile.d.ts +0 -29
  98. package/dist/_members/composition/graphics-plan/index.d.ts +0 -5
  99. package/dist/_members/composition/graphics-plan/instantiateMotif.d.ts +0 -17
  100. package/dist/_members/composition/graphics-plan/motion.d.ts +0 -17
  101. package/dist/_members/composition/graphics-plan/schemas.d.ts +0 -171
  102. package/dist/_members/composition/graphics-plan/solve.d.ts +0 -19
  103. package/dist/_members/composition/invariants/clipPlacement.d.ts +0 -59
  104. package/dist/_members/composition/invariants/composition.d.ts +0 -5
  105. package/dist/_members/composition/invariants/etag.d.ts +0 -7
  106. package/dist/_members/composition/invariants/ids.d.ts +0 -6
  107. package/dist/_members/composition/invariants/keyframes.d.ts +0 -19
  108. package/dist/_members/composition/invariants/markers.d.ts +0 -6
  109. package/dist/_members/composition/invariants/time.d.ts +0 -8
  110. package/dist/_members/composition/invariants/tracks.d.ts +0 -48
  111. package/dist/_members/composition/ops/compositionOps.d.ts +5 -71
  112. package/dist/_members/composition/ops/compositionOps.shared.d.ts +30 -0
  113. package/dist/_members/composition/ops/headlessStore.d.ts +0 -24
  114. package/dist/_members/composition/ops/selectors.d.ts +0 -66
  115. package/dist/_members/composition/ops/timeline-word.d.ts +0 -5
  116. package/dist/_members/composition/ops/transcript.d.ts +0 -27
  117. package/dist/_members/composition/ops/types.d.ts +0 -51
  118. package/dist/_members/composition/primitive-catalog/catalogQuery.d.ts +0 -32
  119. package/dist/_members/composition/primitive-catalog/disabled.d.ts +0 -1
  120. package/dist/_members/composition/primitive-catalog/index.d.ts +0 -11
  121. package/dist/_members/composition/primitive-catalog/paramValidation.d.ts +0 -50
  122. package/dist/_members/composition/primitive-catalog/projection.d.ts +0 -39
  123. package/dist/_members/composition/primitive-catalog/types.d.ts +0 -78
  124. package/dist/_members/composition/projection/behind-placement.d.ts +0 -40
  125. package/dist/_members/composition/projection/behind-readiness.d.ts +52 -0
  126. package/dist/_members/composition/projection/brandKit.d.ts +0 -142
  127. package/dist/_members/composition/projection/cardTokens.d.ts +0 -65
  128. package/dist/_members/composition/projection/composition-floor.d.ts +0 -179
  129. package/dist/_members/composition/projection/cropProjection.d.ts +0 -75
  130. package/dist/_members/composition/projection/index.d.ts +2 -0
  131. package/dist/_members/composition/projection/occlusion-budget.d.ts +0 -37
  132. package/dist/_members/composition/projection/reframe-readiness.d.ts +49 -0
  133. package/dist/_members/composition/projection/safe-zones.d.ts +0 -29
  134. package/dist/_members/composition/reframe/aspectLoss.d.ts +12 -35
  135. package/dist/_members/composition/reframe/coverage.d.ts +0 -40
  136. package/dist/_members/composition/reframe/derive.d.ts +0 -21
  137. package/dist/_members/composition/reframe/index.d.ts +0 -60
  138. package/dist/_members/composition/reframe/kenBurns.d.ts +0 -37
  139. package/dist/_members/composition/reframe/shotScale.d.ts +0 -75
  140. package/dist/_members/composition/reframe/trajectory.d.ts +0 -65
  141. package/dist/_members/composition/timeline/compound.d.ts +0 -31
  142. package/dist/_members/composition/timeline/intent.d.ts +0 -29
  143. package/dist/_members/composition/timeline/keyframes.d.ts +0 -43
  144. package/dist/_members/composition/timeline/link.d.ts +0 -27
  145. package/dist/_members/composition/timeline/occupancy.d.ts +1 -42
  146. package/dist/_members/composition/timeline/placement.d.ts +5 -52
  147. package/dist/_members/composition/timeline/plan.d.ts +5 -53
  148. package/dist/_members/composition/timeline/resolve.d.ts +0 -36
  149. package/dist/_members/composition/timeline/trims.d.ts +0 -49
  150. package/dist/_members/composition/validators/brandKit.d.ts +0 -29
  151. package/dist/_members/composition/validators/composePlan.d.ts +0 -39
  152. package/dist/_members/composition/validators/composition.d.ts +63 -529
  153. package/dist/_members/composition/validators/graphicKinds.d.ts +0 -28
  154. package/dist/_members/composition/validators/render.d.ts +55 -23
  155. package/dist/_members/composition-ops/alphaLayers.d.ts +0 -56
  156. package/dist/_members/composition-ops/index.d.ts +27 -148
  157. package/dist/_members/composition-ops/materializeGrid.d.ts +0 -28
  158. package/dist/_members/composition-ops/opRecorder.d.ts +0 -34
  159. package/dist/_members/composition-ops/recordingStore.d.ts +0 -16
  160. package/dist/_members/composition-ops/replaceRegion.d.ts +0 -48
  161. package/dist/_members/composition-ops/testFixtures.d.ts +0 -14
  162. package/dist/_members/convex-api/api.d.ts +0 -3
  163. package/dist/_members/convex-api/dataModel.d.ts +0 -2
  164. package/dist/_members/core/index.d.ts +1 -1
  165. package/dist/_members/core/render/bookends.d.ts +0 -44
  166. package/dist/_members/core/render/captions.d.ts +0 -42
  167. package/dist/_members/core/render/compositionRender.d.ts +2 -165
  168. package/dist/_members/core/render/deriveTrajectory.d.ts +0 -140
  169. package/dist/_members/core/render/emphasis.d.ts +0 -6
  170. package/dist/_members/core/render/eval/cropBox.d.ts +0 -69
  171. package/dist/_members/core/render/eval/inclusion.d.ts +0 -39
  172. package/dist/_members/core/render/eval/index.d.ts +0 -58
  173. package/dist/_members/core/render/eval/metrics.d.ts +0 -36
  174. package/dist/_members/core/render/exportSettings.d.ts +4 -12
  175. package/dist/_members/core/render/index.d.ts +1 -1
  176. package/dist/_members/core/render/mapFaceToPerson.d.ts +0 -27
  177. package/dist/_members/core/render/types.d.ts +4 -156
  178. package/dist/_members/core/render/variantKeys.d.ts +1 -0
  179. package/dist/_members/core/render/vcam/cameraPath.d.ts +0 -44
  180. package/dist/_members/core/render/vcam/constants.d.ts +0 -93
  181. package/dist/_members/core/render/vcam/errorCodes.d.ts +0 -28
  182. package/dist/_members/core/render/vcam/framing.d.ts +0 -76
  183. package/dist/_members/core/render/vcam/requiredRegion.d.ts +0 -71
  184. package/dist/_members/core/render/vcam/shots.d.ts +0 -40
  185. package/dist/_members/core/render/vcam/subjectSet.d.ts +0 -85
  186. package/dist/_members/core/select/errorCodes.d.ts +0 -25
  187. package/dist/_members/core/select/index.d.ts +0 -20
  188. package/dist/_members/core/select/model.d.ts +0 -79
  189. package/dist/_members/core/select/select.d.ts +0 -49
  190. package/dist/_members/core/select/stabilize.d.ts +0 -102
  191. package/dist/_members/core/types.d.ts +0 -1
  192. package/dist/_members/director/ai-sdk/chunks.d.ts +14 -0
  193. package/dist/_members/director/ai-sdk/context.d.ts +6 -0
  194. package/dist/_members/director/ai-sdk/generationTool.d.ts +8 -0
  195. package/dist/_members/director/ai-sdk/index.d.ts +4 -0
  196. package/dist/_members/director/ai-sdk/messages.d.ts +292 -0
  197. package/dist/_members/director/domain/chat.d.ts +357 -0
  198. package/dist/_members/director/domain/generation.d.ts +1 -0
  199. package/dist/_members/director/domain/index.d.ts +3 -0
  200. package/dist/_members/director/domain/ports.d.ts +32 -0
  201. package/dist/_members/director/index.d.ts +2 -0
  202. package/dist/_members/director/testing/contract.d.ts +52 -0
  203. package/dist/_members/director/testing/index.d.ts +1 -0
  204. package/dist/_members/errors/registry.d.ts +0 -32
  205. package/dist/_members/foundation/codes/index.d.ts +0 -21
  206. package/dist/_members/mcp/adapter.d.ts +1 -84
  207. package/dist/_members/mcp/burnedNames.d.ts +0 -16
  208. package/dist/_members/mcp/core.d.ts +1 -81
  209. package/dist/_members/mcp/curation.d.ts +0 -112
  210. package/dist/_members/mcp/executor.d.ts +0 -49
  211. package/dist/_members/mcp/format.d.ts +0 -6
  212. package/dist/_members/mcp/generated/catalogPreviews.d.ts +0 -1
  213. package/dist/_members/mcp/generated/operations.d.ts +0 -23
  214. package/dist/_members/mcp/internalLoopTools.d.ts +0 -23
  215. package/dist/_members/mcp/prompts.d.ts +0 -16
  216. package/dist/_members/mcp/resources.d.ts +0 -13
  217. package/dist/_members/mcp/server.d.ts +0 -61
  218. package/dist/_members/mcp/wait.d.ts +0 -22
  219. package/dist/_members/mcp/x402Meta.d.ts +0 -44
  220. package/dist/_members/media-model/generation.d.ts +314 -0
  221. package/dist/_members/media-model/index.d.ts +1 -0
  222. package/dist/_members/media-model/media-kind.d.ts +0 -27
  223. package/dist/_members/media-model/transcriptSearch.d.ts +0 -42
  224. package/dist/_members/nle-export/fcpxml.d.ts +0 -13
  225. package/dist/_members/nle-export/index.d.ts +0 -6
  226. package/dist/_members/nle-export/types.d.ts +0 -26
  227. package/dist/_members/nle-export/xml/index.d.ts +0 -8
  228. package/dist/_members/nle-export/xml-utils.d.ts +0 -12
  229. package/dist/_members/perception/activeSpeaker.d.ts +0 -94
  230. package/dist/_members/perception/audioQuality.d.ts +0 -64
  231. package/dist/_members/perception/energyBeat.d.ts +0 -81
  232. package/dist/_members/perception/identityMatch.d.ts +0 -66
  233. package/dist/_members/perception/index.d.ts +0 -52
  234. package/dist/_members/perception/visualQuality.d.ts +0 -73
  235. package/dist/_members/plane/conformance.d.ts +0 -59
  236. package/dist/_members/plane/contract.d.ts +0 -29
  237. package/dist/_members/plane/index.d.ts +0 -15
  238. package/dist/_members/primitives/backgrounds/animated-bar-chart/index.d.ts +0 -13
  239. package/dist/_members/primitives/backgrounds/animated-line-chart/index.d.ts +0 -14
  240. package/dist/_members/primitives/backgrounds/dither-gradient-bg/index.d.ts +0 -14
  241. package/dist/_members/primitives/backgrounds/dynamic-grid/index.d.ts +0 -8
  242. package/dist/_members/primitives/backgrounds/ecosystem-constellation/index.d.ts +0 -8
  243. package/dist/_members/primitives/backgrounds/infinite-marquee/index.d.ts +0 -8
  244. package/dist/_members/primitives/backgrounds/mesh-gradient-bg/index.d.ts +0 -8
  245. package/dist/_members/primitives/backgrounds/perspective-marquee/index.d.ts +0 -8
  246. package/dist/_members/primitives/backgrounds/silk-flow-bg/index.d.ts +0 -17
  247. package/dist/_members/primitives/backgrounds/vector-field/index.d.ts +0 -14
  248. package/dist/_members/primitives/backgrounds/volumetric-rays/index.d.ts +0 -18
  249. package/dist/_members/primitives/captions/Captions.d.ts +0 -24
  250. package/dist/_members/primitives/captions/index.d.ts +0 -15
  251. package/dist/_members/primitives/captions/paginate.d.ts +0 -21
  252. package/dist/_members/primitives/captions/placement.d.ts +0 -30
  253. package/dist/_members/primitives/effects/blur/index.d.ts +0 -16
  254. package/dist/_members/primitives/effects/color-grade/index.d.ts +0 -20
  255. package/dist/_members/primitives/effects/grain/index.d.ts +0 -12
  256. package/dist/_members/primitives/effects/parallax/index.d.ts +0 -13
  257. package/dist/_members/primitives/effects/particles/index.d.ts +0 -16
  258. package/dist/_members/primitives/effects/pulsing-indicator/index.d.ts +0 -10
  259. package/dist/_members/primitives/effects/spotlight-card/index.d.ts +0 -8
  260. package/dist/_members/primitives/effects/spring-pop-in/index.d.ts +0 -10
  261. package/dist/_members/primitives/effects/success-confetti/index.d.ts +0 -8
  262. package/dist/_members/primitives/effects/vignette/index.d.ts +0 -12
  263. package/dist/_members/primitives/hero-text/HeroText.d.ts +0 -17
  264. package/dist/_members/primitives/hero-text/config.d.ts +0 -10
  265. package/dist/_members/primitives/hero-text/index.d.ts +0 -14
  266. package/dist/_members/primitives/index.d.ts +0 -8
  267. package/dist/_members/primitives/layouts/chat-to-preview-layout/index.d.ts +0 -8
  268. package/dist/_members/primitives/layouts/infinite-bento-pan/index.d.ts +0 -8
  269. package/dist/_members/primitives/layouts/letterbox/index.d.ts +0 -15
  270. package/dist/_members/primitives/layouts/photo-grid/index.d.ts +0 -17
  271. package/dist/_members/primitives/layouts/picture-in-picture/index.d.ts +0 -21
  272. package/dist/_members/primitives/layouts/split-screen/index.d.ts +0 -15
  273. package/dist/_members/primitives/layouts/staggered-bento-grid/index.d.ts +0 -8
  274. package/dist/_members/primitives/lib/easings.d.ts +0 -27
  275. package/dist/_members/primitives/lib/palette.d.ts +0 -22
  276. package/dist/_members/primitives/lib/preview.d.ts +0 -22
  277. package/dist/_members/primitives/lib/schema.d.ts +0 -36
  278. package/dist/_members/primitives/lib/seeded-random.d.ts +0 -23
  279. package/dist/_members/primitives/lib/text/contrast.d.ts +0 -17
  280. package/dist/_members/primitives/lib/text/fill.d.ts +0 -5
  281. package/dist/_members/primitives/lib/text/fitText.d.ts +0 -37
  282. package/dist/_members/primitives/lib/text/marker.d.ts +0 -10
  283. package/dist/_members/primitives/lib/text/motion.d.ts +0 -46
  284. package/dist/_members/primitives/lib/text/recolor.d.ts +0 -11
  285. package/dist/_members/primitives/lib/text/spec.d.ts +0 -39
  286. package/dist/_members/primitives/lib/text/stage.d.ts +0 -17
  287. package/dist/_members/primitives/lib/text/typeface.d.ts +0 -11
  288. package/dist/_members/primitives/lib/tokens.d.ts +0 -87
  289. package/dist/_members/primitives/lib/types.d.ts +0 -141
  290. package/dist/_members/primitives/scenes/changelog-bite/index.d.ts +0 -12
  291. package/dist/_members/primitives/scenes/hero-device-assemble/index.d.ts +0 -8
  292. package/dist/_members/primitives/scenes/landing-code-showcase/index.d.ts +0 -8
  293. package/dist/_members/primitives/scenes/live-code-compilation/index.d.ts +0 -8
  294. package/dist/_members/primitives/scenes/pricing-tier-focus/index.d.ts +0 -8
  295. package/dist/_members/primitives/scenes/product-launch-trailer/index.d.ts +0 -8
  296. package/dist/_members/primitives/scenes/terminal-to-browser-deploy/index.d.ts +0 -8
  297. package/dist/_members/primitives/subject-foreground/SubjectForeground.d.ts +0 -38
  298. package/dist/_members/primitives/subject-foreground/index.d.ts +0 -21
  299. package/dist/_members/primitives/text/blur-reveal/index.d.ts +0 -9
  300. package/dist/_members/primitives/text/cinematic-title/index.d.ts +0 -14
  301. package/dist/_members/primitives/text/inline-highlight/index.d.ts +0 -11
  302. package/dist/_members/primitives/text/karaoke/index.d.ts +0 -13
  303. package/dist/_members/primitives/text/kinetic-type/index.d.ts +0 -15
  304. package/dist/_members/primitives/text/lower-third/index.d.ts +0 -14
  305. package/dist/_members/primitives/text/marker-highlight/index.d.ts +0 -10
  306. package/dist/_members/primitives/text/masked-slide-reveal/index.d.ts +0 -8
  307. package/dist/_members/primitives/text/matrix-decode/index.d.ts +0 -9
  308. package/dist/_members/primitives/text/quote-card/index.d.ts +0 -9
  309. package/dist/_members/primitives/text/rgb-glitch-text/index.d.ts +0 -13
  310. package/dist/_members/primitives/text/shimmer-sweep/index.d.ts +0 -10
  311. package/dist/_members/primitives/text/slot-machine-roll/index.d.ts +0 -8
  312. package/dist/_members/primitives/text/staggered-fade-up/index.d.ts +0 -12
  313. package/dist/_members/primitives/text/stat-counter/index.d.ts +0 -13
  314. package/dist/_members/primitives/text/strikethrough-replace/index.d.ts +0 -9
  315. package/dist/_members/primitives/text/text-effect/index.d.ts +0 -17
  316. package/dist/_members/primitives/text/text-fade-replace/index.d.ts +0 -8
  317. package/dist/_members/primitives/text/token-stream/index.d.ts +0 -11
  318. package/dist/_members/primitives/text/tracking-in/index.d.ts +0 -8
  319. package/dist/_members/primitives/text/typewriter/index.d.ts +0 -12
  320. package/dist/_members/primitives/transitions/chromatic-aberration-wipe/index.d.ts +0 -11
  321. package/dist/_members/primitives/transitions/code-diff-wipe/index.d.ts +0 -8
  322. package/dist/_members/primitives/transitions/directional-wipe/index.d.ts +0 -10
  323. package/dist/_members/primitives/transitions/frosted-glass-wipe/index.d.ts +0 -10
  324. package/dist/_members/primitives/transitions/glitch-cut/index.d.ts +0 -3
  325. package/dist/_members/primitives/transitions/grid-pixelate-wipe/index.d.ts +0 -14
  326. package/dist/_members/primitives/transitions/ink-wipe/index.d.ts +0 -3
  327. package/dist/_members/primitives/transitions/kinetic-type-mask/index.d.ts +0 -12
  328. package/dist/_members/primitives/transitions/light-leak/index.d.ts +0 -3
  329. package/dist/_members/primitives/transitions/luma-matte/index.d.ts +0 -2
  330. package/dist/_members/primitives/transitions/morph/index.d.ts +0 -2
  331. package/dist/_members/primitives/transitions/spatial-push/index.d.ts +0 -10
  332. package/dist/_members/primitives/transitions/swipe-transition-wipe/index.d.ts +0 -13
  333. package/dist/_members/primitives/transitions/zoom-through/index.d.ts +0 -2
  334. package/dist/_members/primitives/transitions/zoom-through-transition/index.d.ts +0 -9
  335. package/dist/_members/primitives/ui-blocks/ai-generate-overlay/index.d.ts +0 -8
  336. package/dist/_members/primitives/ui-blocks/ai-generation-canvas/index.d.ts +0 -8
  337. package/dist/_members/primitives/ui-blocks/badge-pop/index.d.ts +0 -11
  338. package/dist/_members/primitives/ui-blocks/before-after-slider/index.d.ts +0 -11
  339. package/dist/_members/primitives/ui-blocks/benchmark-bars/index.d.ts +0 -11
  340. package/dist/_members/primitives/ui-blocks/bounding-box-selector/index.d.ts +0 -8
  341. package/dist/_members/primitives/ui-blocks/browser-flow/index.d.ts +0 -8
  342. package/dist/_members/primitives/ui-blocks/brush-stroke-simulator/index.d.ts +0 -18
  343. package/dist/_members/primitives/ui-blocks/chat-exchange/index.d.ts +0 -10
  344. package/dist/_members/primitives/ui-blocks/code-accordion/index.d.ts +0 -8
  345. package/dist/_members/primitives/ui-blocks/context-meter/index.d.ts +0 -11
  346. package/dist/_members/primitives/ui-blocks/cursor-flow/index.d.ts +0 -11
  347. package/dist/_members/primitives/ui-blocks/dashboard-populate/index.d.ts +0 -8
  348. package/dist/_members/primitives/ui-blocks/data-flow-pipes/index.d.ts +0 -9
  349. package/dist/_members/primitives/ui-blocks/device-mockup-zoom/index.d.ts +0 -8
  350. package/dist/_members/primitives/ui-blocks/drag-and-drop-flow/index.d.ts +0 -8
  351. package/dist/_members/primitives/ui-blocks/eval-scorecard/index.d.ts +0 -11
  352. package/dist/_members/primitives/ui-blocks/glass-code-block/index.d.ts +0 -8
  353. package/dist/_members/primitives/ui-blocks/image-expand-to-fullscreen/index.d.ts +0 -8
  354. package/dist/_members/primitives/ui-blocks/metric-gauge/index.d.ts +0 -12
  355. package/dist/_members/primitives/ui-blocks/morphing-modal/index.d.ts +0 -8
  356. package/dist/_members/primitives/ui-blocks/pipeline-journey/index.d.ts +0 -8
  357. package/dist/_members/primitives/ui-blocks/progress-steps/index.d.ts +0 -8
  358. package/dist/_members/primitives/ui-blocks/reasoning-trace/index.d.ts +0 -10
  359. package/dist/_members/primitives/ui-blocks/simulated-cursor/index.d.ts +0 -8
  360. package/dist/_members/primitives/ui-blocks/terminal-simulator/index.d.ts +0 -19
  361. package/dist/_members/primitives/ui-blocks/toast-notification/index.d.ts +0 -8
  362. package/dist/_members/primitives/ui-blocks/tool-call-stack/index.d.ts +0 -8
  363. package/dist/_members/primitives/ui-blocks/tool-menu-slide-in/index.d.ts +0 -8
  364. package/dist/_members/primitives/ui-blocks/visual-docs-snippet/index.d.ts +0 -8
  365. package/dist/_members/primitives/ui-blocks/voice-waveform/index.d.ts +0 -11
  366. package/dist/_members/primitives/workspace.d.ts +0 -29
  367. package/dist/_members/render-harness/browserOptions.d.ts +11 -0
  368. package/dist/_members/render-harness/browserOptions.d.ts.map +1 -0
  369. package/dist/_members/render-harness/cardRender.d.ts +0 -40
  370. package/dist/_members/render-harness/cardRender.d.ts.map +1 -1
  371. package/dist/_members/render-harness/contractRender.d.ts +0 -16
  372. package/dist/_members/render-harness/contractRender.d.ts.map +1 -1
  373. package/dist/_members/render-harness/extractSegments.d.ts +0 -37
  374. package/dist/_members/render-harness/extractSegments.d.ts.map +1 -1
  375. package/dist/_members/render-harness/index.d.ts +0 -12
  376. package/dist/_members/render-harness/index.d.ts.map +1 -1
  377. package/dist/_members/render-harness/localRender.d.ts +1 -110
  378. package/dist/_members/render-harness/localRender.d.ts.map +1 -1
  379. package/dist/_members/render-harness/materializeSources.d.ts +0 -22
  380. package/dist/_members/render-harness/materializeSources.d.ts.map +1 -1
  381. package/dist/_members/render-harness/mediaServer.d.ts +0 -16
  382. package/dist/_members/render-harness/mediaServer.d.ts.map +1 -1
  383. package/dist/_members/render-harness/renderInputAssets.d.ts +0 -45
  384. package/dist/_members/render-harness/renderInputAssets.d.ts.map +1 -1
  385. package/dist/_members/render-harness/resolveAssets.d.ts +0 -24
  386. package/dist/_members/render-harness/resolveAssets.d.ts.map +1 -1
  387. package/dist/_members/render-harness/sandboxGlobalSpecs.d.ts +0 -14
  388. package/dist/_members/render-harness/sandboxGlobalSpecs.d.ts.map +1 -1
  389. package/dist/account-model/validators.js +1 -1
  390. package/dist/account-model.js +1 -1
  391. package/dist/animate.js +0 -15
  392. package/dist/authoring/build-tools.js +8 -8
  393. package/dist/authoring/composer.js +0 -20
  394. package/dist/authoring/context.js +6 -6
  395. package/dist/authoring/pipelineTrace.js +1 -1
  396. package/dist/authoring/prompts.js +1 -1
  397. package/dist/authoring/resource-routing.js +1 -1
  398. package/dist/authoring/resources.js +1 -1
  399. package/dist/authoring/tools.js +7 -7
  400. package/dist/authoring.js +16 -80
  401. package/dist/{chunk-TWQOKKAF.js → chunk-23HFEKV7.js} +0 -6
  402. package/dist/{chunk-EA6MYCYW.js → chunk-2B5VJZHL.js} +14 -25
  403. package/dist/chunk-73DQTUWY.js +131 -0
  404. package/dist/{chunk-HI4UTTPS.js → chunk-AO744WIK.js} +1 -43
  405. package/dist/chunk-BADZHXLR.js +0 -0
  406. package/dist/{chunk-GA23TRNR.js → chunk-BKHGL4MB.js} +5 -13
  407. package/dist/{chunk-VOO5FQSS.js → chunk-BZZTVOGG.js} +6 -55
  408. package/dist/{chunk-ODL7GQJG.js → chunk-CAJQ7H5A.js} +17 -17
  409. package/dist/{chunk-ZB3C3HM7.js → chunk-DCVJWGIA.js} +4 -9
  410. package/dist/{chunk-IBYQG46O.js → chunk-DWLNPNC4.js} +1 -4
  411. package/dist/{chunk-SW336CJP.js → chunk-DYZE7JZA.js} +3 -26
  412. package/dist/{chunk-HCCBDJLW.js → chunk-EP2Y6M2J.js} +0 -4
  413. package/dist/{chunk-ZE76SSRT.js → chunk-FMODQD5P.js} +0 -6
  414. package/dist/chunk-FTVZF4GO.js +0 -0
  415. package/dist/{chunk-PMY24FUD.js → chunk-G5BFI32U.js} +1 -1
  416. package/dist/{chunk-LD5ZOUFT.js → chunk-GF52TW4I.js} +0 -4
  417. package/dist/{chunk-ABL557OT.js → chunk-GMD33ZD7.js} +1 -8
  418. package/dist/{chunk-XWKZB5U5.js → chunk-ICSZF37W.js} +21 -150
  419. package/dist/chunk-IEXAKOEX.js +113 -0
  420. package/dist/{chunk-UY4SWJVE.js → chunk-K2IUBCND.js} +0 -12
  421. package/dist/chunk-LJ5W4ZBU.js +146 -0
  422. package/dist/chunk-LLUW26BS.js +255 -0
  423. package/dist/{chunk-GEA7E2FL.js → chunk-PIURX6IZ.js} +220 -2
  424. package/dist/{chunk-MMEJ3Y7E.js → chunk-QETYXKQQ.js} +1 -10
  425. package/dist/{chunk-YX2GSJK7.js → chunk-RP4SXXLJ.js} +1 -1
  426. package/dist/{chunk-P727GZVO.js → chunk-SAMQUUO5.js} +3 -5
  427. package/dist/{chunk-RF7U3SCL.js → chunk-TD347SSX.js} +3 -11
  428. package/dist/{chunk-NFEGPWGS.js → chunk-TFGKUWHY.js} +1 -88
  429. package/dist/{chunk-LM4WDUQJ.js → chunk-TPA6PYN2.js} +1 -11
  430. package/dist/{chunk-OLFOPQCA.js → chunk-UQSOS726.js} +4 -18
  431. package/dist/{chunk-GBRNYH7W.js → chunk-V24L35GM.js} +0 -11
  432. package/dist/{chunk-COYMZ76S.js → chunk-VFMW3JUY.js} +1 -1
  433. package/dist/{chunk-YIOY2XEO.js → chunk-VHF66LCQ.js} +22 -94
  434. package/dist/{chunk-JMURQODM.js → chunk-VZ7TYX6Z.js} +0 -1
  435. package/dist/{chunk-SIGGQRY2.js → chunk-W3SIWT7J.js} +5030 -4412
  436. package/dist/{chunk-W35ZMOXB.js → chunk-WPZKOVYF.js} +0 -5
  437. package/dist/chunk-WZH57M53.js +494 -0
  438. package/dist/{chunk-AYVJXDLB.js → chunk-XHGZ2E77.js} +0 -2
  439. package/dist/{chunk-JRQVPFLF.js → chunk-XQ72DZKJ.js} +1 -1
  440. package/dist/{chunk-7DHP4ESU.js → chunk-YLDMAZZE.js} +0 -10
  441. package/dist/{chunk-FYZVH3MC.js → chunk-YQ7FFW3G.js} +0 -11
  442. package/dist/chunk-ZPLJ24OV.js +93 -0
  443. package/dist/cloud-import/multipart.js +1 -1
  444. package/dist/cloud-import.js +9 -16
  445. package/dist/compose/renderer.js +18 -18
  446. package/dist/compose.js +21 -21
  447. package/dist/composition/audio.js +1 -1
  448. package/dist/composition/brand-kit.js +0 -5
  449. package/dist/composition/graphics-plan.js +4 -4
  450. package/dist/composition/ops.js +5 -5
  451. package/dist/composition/primitive-catalog.js +1 -1
  452. package/dist/composition/projection.js +28 -4
  453. package/dist/composition/reframe/kenBurns.js +0 -4
  454. package/dist/composition/reframe.js +4 -2
  455. package/dist/composition/timeline.js +1 -1
  456. package/dist/composition/validators/graphic-kinds.js +1 -1
  457. package/dist/composition/validators.js +8 -6
  458. package/dist/composition-ops.js +18 -135
  459. package/dist/composition.js +35 -9
  460. package/dist/context-JLLU3MYD.js +14 -0
  461. package/dist/core/render.js +9 -7
  462. package/dist/core/select.js +2 -6
  463. package/dist/core.js +5 -7
  464. package/dist/director/ai-sdk.d.ts +1 -0
  465. package/dist/director/ai-sdk.js +33 -0
  466. package/dist/director/domain.d.ts +1 -0
  467. package/dist/director/domain.js +62 -0
  468. package/dist/director/testing.d.ts +1 -0
  469. package/dist/director/testing.js +22 -0
  470. package/dist/director.d.ts +1 -0
  471. package/dist/director.js +86 -0
  472. package/dist/errors.js +1 -1
  473. package/dist/foundation.js +1 -0
  474. package/dist/mcp/adapter.js +5 -64
  475. package/dist/mcp/core.js +1 -1
  476. package/dist/mcp/curation.js +1 -1
  477. package/dist/mcp/server.js +4 -4
  478. package/dist/mcp.js +4 -4
  479. package/dist/media-model/generation.d.ts +1 -0
  480. package/dist/media-model/generation.js +40 -0
  481. package/dist/media-model/testing.js +1071 -718
  482. package/dist/media-model.js +38 -6
  483. package/dist/nle-export/server.js +328 -130
  484. package/dist/nle-export.js +22 -21
  485. package/dist/plane/contract.js +0 -3
  486. package/dist/primitives/backgrounds.js +2 -2
  487. package/dist/primitives/captions.js +0 -5
  488. package/dist/primitives/effects.js +2 -2
  489. package/dist/primitives/hero-text.js +2 -2
  490. package/dist/primitives/layouts.js +2 -2
  491. package/dist/primitives/lib/index.js +17 -17
  492. package/dist/primitives/lib/text/fitText.js +1 -1
  493. package/dist/primitives/lib/tokens.js +1 -1
  494. package/dist/primitives/lib.js +17 -17
  495. package/dist/primitives/scenes.js +2 -2
  496. package/dist/primitives/text.js +2 -2
  497. package/dist/primitives/ui-blocks.js +4 -4
  498. package/dist/primitives.js +21 -21
  499. package/dist/render-harness/sandboxGlobalSpecs.js +1 -1
  500. package/dist/render-harness.js +24 -41
  501. package/package.json +39 -24
  502. package/dist/_members/account-model/index.js +0 -4
  503. package/dist/_members/account-model/testing/conversationStoreContract.js +0 -168
  504. package/dist/_members/account-model/testing/index.js +0 -7
  505. package/dist/_members/account-model/testing/restorePointStoreContract.js +0 -69
  506. package/dist/_members/account-model/types/index.js +0 -1
  507. package/dist/_members/account-model/validators/contextFile.js +0 -18
  508. package/dist/_members/account-model/validators/conversation.js +0 -95
  509. package/dist/_members/account-model/validators/dashboardInsight.js +0 -16
  510. package/dist/_members/account-model/validators/index.js +0 -7
  511. package/dist/_members/account-model/validators/sessionToken.js +0 -49
  512. package/dist/_members/account-model/validators/uploadToken.js +0 -16
  513. package/dist/_members/account-model/validators/userSettings.js +0 -12
  514. package/dist/_members/account-model/validators/workingComposition.js +0 -20
  515. package/dist/_members/brand-derivation/constants.js +0 -20
  516. package/dist/_members/brand-derivation/contrastSafe.js +0 -114
  517. package/dist/_members/brand-derivation/index.js +0 -1
  518. package/dist/_members/cloud-import/chunk-XKO6ZSWI.js +0 -162
  519. package/dist/_members/cloud-import/chunk-XKO6ZSWI.js.map +0 -1
  520. package/dist/_members/cloud-import/index.js +0 -241
  521. package/dist/_members/cloud-import/index.js.map +0 -1
  522. package/dist/_members/cloud-import/multipartUpload.js +0 -7
  523. package/dist/_members/cloud-import/multipartUpload.js.map +0 -1
  524. package/dist/_members/composition/audio/audioMix.js +0 -61
  525. package/dist/_members/composition/audio/index.js +0 -5
  526. package/dist/_members/composition/audio/mixStaging.js +0 -195
  527. package/dist/_members/composition/audio/musicPack.generated.js +0 -136
  528. package/dist/_members/composition/audio/musicPack.js +0 -36
  529. package/dist/_members/composition/audio/pack.generated.js +0 -603
  530. package/dist/_members/composition/audio/pack.js +0 -48
  531. package/dist/_members/composition/audio/palette.js +0 -134
  532. package/dist/_members/composition/autozoom/index.js +0 -83
  533. package/dist/_members/composition/brand-kit.js +0 -45
  534. package/dist/_members/composition/brief/contract.js +0 -209
  535. package/dist/_members/composition/color-grade.js +0 -80
  536. package/dist/_members/composition/depth.js +0 -8
  537. package/dist/_members/composition/fixtures/index.js +0 -143
  538. package/dist/_members/composition/fixtures/vaayaErrored.d.ts +0 -25
  539. package/dist/_members/composition/fixtures/vaayaErrored.js +0 -203
  540. package/dist/_members/composition/fonts.js +0 -162
  541. package/dist/_members/composition/graphics-plan/compile.js +0 -221
  542. package/dist/_members/composition/graphics-plan/index.js +0 -10
  543. package/dist/_members/composition/graphics-plan/instantiateMotif.js +0 -44
  544. package/dist/_members/composition/graphics-plan/motion.js +0 -66
  545. package/dist/_members/composition/graphics-plan/schemas.js +0 -261
  546. package/dist/_members/composition/graphics-plan/solve.js +0 -145
  547. package/dist/_members/composition/index.js +0 -5
  548. package/dist/_members/composition/invariants/clipPlacement.js +0 -69
  549. package/dist/_members/composition/invariants/composition.js +0 -28
  550. package/dist/_members/composition/invariants/errors.js +0 -10
  551. package/dist/_members/composition/invariants/etag.js +0 -38
  552. package/dist/_members/composition/invariants/ids.js +0 -33
  553. package/dist/_members/composition/invariants/index.js +0 -9
  554. package/dist/_members/composition/invariants/keyframes.js +0 -45
  555. package/dist/_members/composition/invariants/markers.js +0 -29
  556. package/dist/_members/composition/invariants/time.js +0 -20
  557. package/dist/_members/composition/invariants/tracks.js +0 -304
  558. package/dist/_members/composition/ops/compositionOps.js +0 -1056
  559. package/dist/_members/composition/ops/headlessStore.js +0 -94
  560. package/dist/_members/composition/ops/index.js +0 -4
  561. package/dist/_members/composition/ops/selectors.js +0 -118
  562. package/dist/_members/composition/ops/timeline-word.js +0 -1
  563. package/dist/_members/composition/ops/transcript.js +0 -77
  564. package/dist/_members/composition/ops/types.js +0 -16
  565. package/dist/_members/composition/primitive-catalog/catalogQuery.js +0 -150
  566. package/dist/_members/composition/primitive-catalog/disabled.js +0 -32
  567. package/dist/_members/composition/primitive-catalog/generated/meta.js +0 -15161
  568. package/dist/_members/composition/primitive-catalog/index.js +0 -46
  569. package/dist/_members/composition/primitive-catalog/paramValidation.js +0 -231
  570. package/dist/_members/composition/primitive-catalog/projection.js +0 -164
  571. package/dist/_members/composition/primitive-catalog/types.js +0 -14
  572. package/dist/_members/composition/projection/behind-placement.js +0 -62
  573. package/dist/_members/composition/projection/brandKit.js +0 -482
  574. package/dist/_members/composition/projection/cardTokens.js +0 -209
  575. package/dist/_members/composition/projection/composition-floor.js +0 -582
  576. package/dist/_members/composition/projection/cropProjection.js +0 -257
  577. package/dist/_members/composition/projection/index.js +0 -7
  578. package/dist/_members/composition/projection/occlusion-budget.js +0 -104
  579. package/dist/_members/composition/projection/safe-zones.js +0 -99
  580. package/dist/_members/composition/reframe/aspectLoss.js +0 -115
  581. package/dist/_members/composition/reframe/coverage.js +0 -62
  582. package/dist/_members/composition/reframe/derive.js +0 -73
  583. package/dist/_members/composition/reframe/index.js +0 -109
  584. package/dist/_members/composition/reframe/kenBurns.js +0 -64
  585. package/dist/_members/composition/reframe/shotScale.js +0 -176
  586. package/dist/_members/composition/reframe/trajectory.js +0 -124
  587. package/dist/_members/composition/timeline/compound.js +0 -134
  588. package/dist/_members/composition/timeline/index.js +0 -9
  589. package/dist/_members/composition/timeline/intent.js +0 -228
  590. package/dist/_members/composition/timeline/keyframes.js +0 -121
  591. package/dist/_members/composition/timeline/link.js +0 -59
  592. package/dist/_members/composition/timeline/occupancy.js +0 -36
  593. package/dist/_members/composition/timeline/placement.js +0 -74
  594. package/dist/_members/composition/timeline/plan.js +0 -31
  595. package/dist/_members/composition/timeline/resolve.js +0 -170
  596. package/dist/_members/composition/timeline/trims.js +0 -278
  597. package/dist/_members/composition/types/index.js +0 -1
  598. package/dist/_members/composition/validators/brandKit.js +0 -295
  599. package/dist/_members/composition/validators/composePlan.js +0 -113
  600. package/dist/_members/composition/validators/composition.js +0 -703
  601. package/dist/_members/composition/validators/font.js +0 -34
  602. package/dist/_members/composition/validators/graphicKinds.js +0 -30
  603. package/dist/_members/composition/validators/index.js +0 -9
  604. package/dist/_members/composition/validators/project.js +0 -29
  605. package/dist/_members/composition/validators/registry.js +0 -41
  606. package/dist/_members/composition/validators/render.js +0 -139
  607. package/dist/_members/composition/validators/session.js +0 -37
  608. package/dist/_members/composition/validators/webhook.js +0 -72
  609. package/dist/_members/composition-ops/alphaLayers.js +0 -141
  610. package/dist/_members/composition-ops/index.js +0 -637
  611. package/dist/_members/composition-ops/materializeGrid.js +0 -99
  612. package/dist/_members/composition-ops/opRecorder.js +0 -196
  613. package/dist/_members/composition-ops/recordingStore.js +0 -14
  614. package/dist/_members/composition-ops/replaceRegion.js +0 -102
  615. package/dist/_members/composition-ops/testFixtures.js +0 -19
  616. package/dist/_members/core/index.js +0 -5
  617. package/dist/_members/core/render/bookends.js +0 -53
  618. package/dist/_members/core/render/captions.js +0 -127
  619. package/dist/_members/core/render/compositionRender.js +0 -1249
  620. package/dist/_members/core/render/deriveTrajectory.js +0 -889
  621. package/dist/_members/core/render/emphasis.js +0 -16
  622. package/dist/_members/core/render/eval/cropBox.js +0 -139
  623. package/dist/_members/core/render/eval/inclusion.js +0 -96
  624. package/dist/_members/core/render/eval/index.js +0 -146
  625. package/dist/_members/core/render/eval/metrics.js +0 -94
  626. package/dist/_members/core/render/exportSettings.js +0 -65
  627. package/dist/_members/core/render/index.js +0 -20
  628. package/dist/_members/core/render/mapFaceToPerson.js +0 -73
  629. package/dist/_members/core/render/types.js +0 -8
  630. package/dist/_members/core/render/vcam/cameraPath.js +0 -248
  631. package/dist/_members/core/render/vcam/constants.js +0 -115
  632. package/dist/_members/core/render/vcam/errorCodes.js +0 -39
  633. package/dist/_members/core/render/vcam/framing.js +0 -136
  634. package/dist/_members/core/render/vcam/requiredRegion.js +0 -137
  635. package/dist/_members/core/render/vcam/shots.js +0 -53
  636. package/dist/_members/core/render/vcam/subjectSet.js +0 -388
  637. package/dist/_members/core/select/errorCodes.js +0 -38
  638. package/dist/_members/core/select/index.js +0 -26
  639. package/dist/_members/core/select/model.js +0 -18
  640. package/dist/_members/core/select/select.js +0 -244
  641. package/dist/_members/core/select/stabilize.js +0 -242
  642. package/dist/_members/core/types.js +0 -7
  643. package/dist/_members/errors/index.js +0 -1
  644. package/dist/_members/errors/registry.js +0 -560
  645. package/dist/_members/foundation/codes/index.js +0 -31
  646. package/dist/_members/foundation/index.js +0 -2
  647. package/dist/_members/foundation/primitives/index.js +0 -5
  648. package/dist/_members/mcp/adapter.js +0 -771
  649. package/dist/_members/mcp/burnedNames.js +0 -73
  650. package/dist/_members/mcp/core.js +0 -390
  651. package/dist/_members/mcp/curation.js +0 -792
  652. package/dist/_members/mcp/executor.js +0 -142
  653. package/dist/_members/mcp/format.js +0 -9
  654. package/dist/_members/mcp/generated/catalogPreviews.js +0 -95
  655. package/dist/_members/mcp/generated/harness.js +0 -81
  656. package/dist/_members/mcp/generated/operations.js +0 -131
  657. package/dist/_members/mcp/index.js +0 -50
  658. package/dist/_members/mcp/internalLoopTools.js +0 -109
  659. package/dist/_members/mcp/prompts.js +0 -45
  660. package/dist/_members/mcp/resources.js +0 -166
  661. package/dist/_members/mcp/server.js +0 -340
  662. package/dist/_members/mcp/wait.js +0 -378
  663. package/dist/_members/mcp/x402Meta.js +0 -66
  664. package/dist/_members/media-model/api.js +0 -175
  665. package/dist/_members/media-model/index.js +0 -1
  666. package/dist/_members/media-model/media-kind.js +0 -116
  667. package/dist/_members/media-model/testing/index.js +0 -1
  668. package/dist/_members/media-model/testing/mediaStoreContract.js +0 -82
  669. package/dist/_members/media-model/transcriptSearch.js +0 -70
  670. package/dist/_members/media-model/transcriptSearchCases.json +0 -79
  671. package/dist/_members/nle-export/compact-timeline.js +0 -73
  672. package/dist/_members/nle-export/compact-timeline.js.map +0 -1
  673. package/dist/_members/nle-export/composition-to-input.js +0 -147
  674. package/dist/_members/nle-export/composition-to-input.js.map +0 -1
  675. package/dist/_members/nle-export/fcpxml.js +0 -159
  676. package/dist/_members/nle-export/fcpxml.js.map +0 -1
  677. package/dist/_members/nle-export/index.js +0 -12
  678. package/dist/_members/nle-export/index.js.map +0 -1
  679. package/dist/_members/nle-export/premiere.js +0 -161
  680. package/dist/_members/nle-export/premiere.js.map +0 -1
  681. package/dist/_members/nle-export/server/index.js +0 -2
  682. package/dist/_members/nle-export/server/index.js.map +0 -1
  683. package/dist/_members/nle-export/server/pack-zip.js +0 -38
  684. package/dist/_members/nle-export/server/pack-zip.js.map +0 -1
  685. package/dist/_members/nle-export/srt.js +0 -50
  686. package/dist/_members/nle-export/srt.js.map +0 -1
  687. package/dist/_members/nle-export/types.js +0 -9
  688. package/dist/_members/nle-export/types.js.map +0 -1
  689. package/dist/_members/nle-export/xml/index.js +0 -11
  690. package/dist/_members/nle-export/xml/index.js.map +0 -1
  691. package/dist/_members/nle-export/xml-utils.js +0 -48
  692. package/dist/_members/nle-export/xml-utils.js.map +0 -1
  693. package/dist/_members/perception/activeSpeaker.js +0 -103
  694. package/dist/_members/perception/audioQuality.js +0 -76
  695. package/dist/_members/perception/energyBeat.js +0 -99
  696. package/dist/_members/perception/identityMatch.js +0 -91
  697. package/dist/_members/perception/index.js +0 -48
  698. package/dist/_members/perception/visualQuality.js +0 -95
  699. package/dist/_members/plane/conformance.js +0 -90
  700. package/dist/_members/plane/contract.js +0 -49
  701. package/dist/_members/plane/index.js +0 -16
  702. package/dist/_members/primitives/backgrounds/index.js +0 -32
  703. package/dist/_members/primitives/backgrounds/index.js.map +0 -1
  704. package/dist/_members/primitives/captions/index.js +0 -398
  705. package/dist/_members/primitives/captions/index.js.map +0 -1
  706. package/dist/_members/primitives/chunk-2LVE4UIT.js +0 -139
  707. package/dist/_members/primitives/chunk-2LVE4UIT.js.map +0 -1
  708. package/dist/_members/primitives/chunk-3IQUH6KK.js +0 -20
  709. package/dist/_members/primitives/chunk-3IQUH6KK.js.map +0 -1
  710. package/dist/_members/primitives/chunk-3OMURV6Q.js +0 -112
  711. package/dist/_members/primitives/chunk-3OMURV6Q.js.map +0 -1
  712. package/dist/_members/primitives/chunk-4IS6TMEG.js +0 -21
  713. package/dist/_members/primitives/chunk-4IS6TMEG.js.map +0 -1
  714. package/dist/_members/primitives/chunk-5MWGAEGQ.js +0 -1644
  715. package/dist/_members/primitives/chunk-5MWGAEGQ.js.map +0 -1
  716. package/dist/_members/primitives/chunk-7RRPFPQK.js +0 -15
  717. package/dist/_members/primitives/chunk-7RRPFPQK.js.map +0 -1
  718. package/dist/_members/primitives/chunk-DH5TRZK2.js +0 -125
  719. package/dist/_members/primitives/chunk-DH5TRZK2.js.map +0 -1
  720. package/dist/_members/primitives/chunk-E3KNUSFG.js +0 -2337
  721. package/dist/_members/primitives/chunk-E3KNUSFG.js.map +0 -1
  722. package/dist/_members/primitives/chunk-G2B3G4HK.js +0 -47
  723. package/dist/_members/primitives/chunk-G2B3G4HK.js.map +0 -1
  724. package/dist/_members/primitives/chunk-HFPFGZXT.js +0 -1494
  725. package/dist/_members/primitives/chunk-HFPFGZXT.js.map +0 -1
  726. package/dist/_members/primitives/chunk-HIWVFZVH.js +0 -19
  727. package/dist/_members/primitives/chunk-HIWVFZVH.js.map +0 -1
  728. package/dist/_members/primitives/chunk-IDAL6G3Y.js +0 -134
  729. package/dist/_members/primitives/chunk-IDAL6G3Y.js.map +0 -1
  730. package/dist/_members/primitives/chunk-KNC6JP5F.js +0 -34
  731. package/dist/_members/primitives/chunk-KNC6JP5F.js.map +0 -1
  732. package/dist/_members/primitives/chunk-KYRDVZST.js +0 -459
  733. package/dist/_members/primitives/chunk-KYRDVZST.js.map +0 -1
  734. package/dist/_members/primitives/chunk-LWLHS2NS.js +0 -3410
  735. package/dist/_members/primitives/chunk-LWLHS2NS.js.map +0 -1
  736. package/dist/_members/primitives/chunk-QAQ3P7DR.js +0 -8855
  737. package/dist/_members/primitives/chunk-QAQ3P7DR.js.map +0 -1
  738. package/dist/_members/primitives/chunk-ROV2ODWC.js +0 -81
  739. package/dist/_members/primitives/chunk-ROV2ODWC.js.map +0 -1
  740. package/dist/_members/primitives/chunk-TCRC2FH3.js +0 -183
  741. package/dist/_members/primitives/chunk-TCRC2FH3.js.map +0 -1
  742. package/dist/_members/primitives/chunk-US4YEDAA.js +0 -96
  743. package/dist/_members/primitives/chunk-US4YEDAA.js.map +0 -1
  744. package/dist/_members/primitives/chunk-UVKRO5ER.js +0 -13
  745. package/dist/_members/primitives/chunk-UVKRO5ER.js.map +0 -1
  746. package/dist/_members/primitives/chunk-W4EIIF2I.js +0 -10
  747. package/dist/_members/primitives/chunk-W4EIIF2I.js.map +0 -1
  748. package/dist/_members/primitives/chunk-WPGKIPCO.js +0 -3563
  749. package/dist/_members/primitives/chunk-WPGKIPCO.js.map +0 -1
  750. package/dist/_members/primitives/chunk-WZFLEGMD.js +0 -1435
  751. package/dist/_members/primitives/chunk-WZFLEGMD.js.map +0 -1
  752. package/dist/_members/primitives/chunk-XHU3WBEI.js +0 -33
  753. package/dist/_members/primitives/chunk-XHU3WBEI.js.map +0 -1
  754. package/dist/_members/primitives/chunk-YN7WTZZ7.js +0 -46
  755. package/dist/_members/primitives/chunk-YN7WTZZ7.js.map +0 -1
  756. package/dist/_members/primitives/effects/index.js +0 -30
  757. package/dist/_members/primitives/effects/index.js.map +0 -1
  758. package/dist/_members/primitives/hero-text/index.js +0 -14
  759. package/dist/_members/primitives/hero-text/index.js.map +0 -1
  760. package/dist/_members/primitives/index.js +0 -64
  761. package/dist/_members/primitives/index.js.map +0 -1
  762. package/dist/_members/primitives/layouts/index.js +0 -24
  763. package/dist/_members/primitives/layouts/index.js.map +0 -1
  764. package/dist/_members/primitives/lib/easings.js +0 -26
  765. package/dist/_members/primitives/lib/easings.js.map +0 -1
  766. package/dist/_members/primitives/lib/index.js +0 -74
  767. package/dist/_members/primitives/lib/index.js.map +0 -1
  768. package/dist/_members/primitives/lib/palette.js +0 -72
  769. package/dist/_members/primitives/lib/palette.js.map +0 -1
  770. package/dist/_members/primitives/lib/preview.js +0 -8
  771. package/dist/_members/primitives/lib/preview.js.map +0 -1
  772. package/dist/_members/primitives/lib/schema.js +0 -12
  773. package/dist/_members/primitives/lib/schema.js.map +0 -1
  774. package/dist/_members/primitives/lib/seeded-random.js +0 -14
  775. package/dist/_members/primitives/lib/seeded-random.js.map +0 -1
  776. package/dist/_members/primitives/lib/text/contrast.js +0 -12
  777. package/dist/_members/primitives/lib/text/contrast.js.map +0 -1
  778. package/dist/_members/primitives/lib/text/fill.js +0 -8
  779. package/dist/_members/primitives/lib/text/fill.js.map +0 -1
  780. package/dist/_members/primitives/lib/text/fitText.js +0 -10
  781. package/dist/_members/primitives/lib/text/fitText.js.map +0 -1
  782. package/dist/_members/primitives/lib/text/marker.js +0 -8
  783. package/dist/_members/primitives/lib/text/marker.js.map +0 -1
  784. package/dist/_members/primitives/lib/text/motion.js +0 -16
  785. package/dist/_members/primitives/lib/text/motion.js.map +0 -1
  786. package/dist/_members/primitives/lib/text/recolor.js +0 -8
  787. package/dist/_members/primitives/lib/text/recolor.js.map +0 -1
  788. package/dist/_members/primitives/lib/text/spec.js +0 -1
  789. package/dist/_members/primitives/lib/text/spec.js.map +0 -1
  790. package/dist/_members/primitives/lib/text/stage.js +0 -8
  791. package/dist/_members/primitives/lib/text/stage.js.map +0 -1
  792. package/dist/_members/primitives/lib/text/typeface.js +0 -8
  793. package/dist/_members/primitives/lib/text/typeface.js.map +0 -1
  794. package/dist/_members/primitives/lib/tokens.js +0 -24
  795. package/dist/_members/primitives/lib/tokens.js.map +0 -1
  796. package/dist/_members/primitives/lib/types.js +0 -1
  797. package/dist/_members/primitives/lib/types.js.map +0 -1
  798. package/dist/_members/primitives/params-required.json +0 -153
  799. package/dist/_members/primitives/scenes/index.js +0 -25
  800. package/dist/_members/primitives/scenes/index.js.map +0 -1
  801. package/dist/_members/primitives/subject-foreground/index.js +0 -30
  802. package/dist/_members/primitives/subject-foreground/index.js.map +0 -1
  803. package/dist/_members/primitives/text/index.js +0 -57
  804. package/dist/_members/primitives/text/index.js.map +0 -1
  805. package/dist/_members/primitives/transitions/index.js +0 -67
  806. package/dist/_members/primitives/transitions/index.js.map +0 -1
  807. package/dist/_members/primitives/ui-blocks/index.js +0 -76
  808. package/dist/_members/primitives/ui-blocks/index.js.map +0 -1
  809. package/dist/_members/primitives/version-map.json +0 -105
  810. package/dist/_members/primitives/workspace.js +0 -60
  811. package/dist/_members/primitives/workspace.js.map +0 -1
  812. package/dist/chunk-37NJ27UU.js +0 -501
  813. package/dist/chunk-6EQXLEP6.js +0 -194
  814. package/dist/chunk-MXFAADCQ.js +0 -735
  815. package/dist/context-OKX3HHFS.js +0 -14
@@ -1,16 +0,0 @@
1
- /**
2
- * Build a Set keyed by "poolItemId:sourceStart" for O(1) emphasis lookups.
3
- * sourceStart is rounded to 3 decimal places to handle floating-point drift
4
- * between transcript sources and stored emphasis data.
5
- */
6
- export function buildEmphasisSet(emphasisWords) {
7
- const set = new Set();
8
- for (const w of emphasisWords) {
9
- set.add(`${w.poolItemId}:${w.sourceStart.toFixed(3)}`);
10
- }
11
- return set;
12
- }
13
- /** Check if a word (by poolItemId + sourceStart) is in the emphasis set. */
14
- export function isEmphasized(set, poolItemId, sourceStart) {
15
- return set.has(`${poolItemId}:${sourceStart.toFixed(3)}`);
16
- }
@@ -1,139 +0,0 @@
1
- /**
2
- * Reframe eval — the COMPOSED crop box per output frame.
3
- *
4
- * The eval target is the crop box the camera ACTUALLY lands on, in
5
- * output-crop-normalized space — NOT the raw `centers`/`zoom_scale` of the
6
- * trajectory JSON. Per the virtual-camera spec ("the composed (post-floor) crop
7
- * is the eval target … zoom is two-layer"), the jitter / center-crop metrics
8
- * sample the box `computeCropTransform` produces, so they measure what ships.
9
- *
10
- * Phase 0 samples the BASE camera path (the trajectory) — the floor yield is a
11
- * separate, caption-driven layer with its own golden (Phase 4). The geometry
12
- * below is the bake half of `computeCropTransform`
13
- * (packages/execution/render-entry/src/CropFromTrajectory.tsx): crop-window size from
14
- * `zoom_scale`, center from the per-frame `centers`, coverage-clamped so the
15
- * window never runs past the source edge. We replicate it here (rather than
16
- * import the renderer — execution must not depend on the Remotion bundle) and a
17
- * test pins this replica against the renderer's published clamp behavior.
18
- *
19
- * Coordinate system: the crop box is expressed in SOURCE-NORMALIZED units —
20
- * `cx,cy` ∈ [0,1] (window center vs source dims) and `w,h` ∈ [0,1] (window size
21
- * as a fraction of the source). Frame-to-frame motion of THIS box is the camera
22
- * motion; normalizing the per-component delta by the box's own size converts it
23
- * to output-crop-normalized units (a half-window pan is the same number at any
24
- * zoom — the zoom-invariant "held feel" the spec requires).
25
- */
26
- import { aspectWhRatio } from '../deriveTrajectory';
27
- /**
28
- * Crop-window dimensions (source-normalized) for a given `zoom_scale` + output
29
- * aspect — the bake half of `computeCropTransform`. The largest output-aspect
30
- * rect that fits the source, scaled by the clamped zoom. No `faceScale` (the
31
- * floor's caption-band yield) is applied here — Phase 0 samples the base path.
32
- */
33
- export function cropWindowSize(srcW, srcH, zoomScale, aspect) {
34
- const outAR = aspectWhRatio(aspect);
35
- const srcAR = srcW / srcH;
36
- let cropW;
37
- let cropH;
38
- if (srcAR > outAR) {
39
- cropH = srcH;
40
- cropW = srcH * outAR;
41
- }
42
- else {
43
- cropW = srcW;
44
- cropH = srcW / outAR;
45
- }
46
- // Mirror the renderer: zoom clamps to [0.4, 1.0] (CropFromTrajectory bakedZoom).
47
- const bakedZoom = Math.max(0.4, Math.min(1.0, zoomScale));
48
- cropW *= bakedZoom;
49
- cropH *= bakedZoom;
50
- return { w: cropW / srcW, h: cropH / srcH };
51
- }
52
- /**
53
- * Coverage-clamp a window center so the crop window stays fully inside the
54
- * source — the geometric invariant `computeCropTransform` enforces via
55
- * `tx = clamp(…)`, expressed here directly on the source-normalized center.
56
- * A window of width `w` can have its center range over `[w/2, 1 - w/2]`.
57
- */
58
- function clampCenter(c, sizeFrac) {
59
- const half = sizeFrac / 2;
60
- if (sizeFrac >= 1)
61
- return 0.5; // window covers the whole axis → centered
62
- return Math.max(half, Math.min(1 - half, c));
63
- }
64
- /** The composed crop box for one frame of one segment. */
65
- export function cropBoxForFrame(seg, frameInSeg, srcW, srcH, aspect) {
66
- // Eased segments carry a per-frame `zooms`; otherwise the scalar `zoom_scale`.
67
- const zoom = seg.zooms ? seg.zooms[Math.min(frameInSeg, seg.zooms.length - 1)] : seg.zoom_scale;
68
- const { w, h } = cropWindowSize(srcW, srcH, zoom, aspect);
69
- const center = seg.centers[Math.min(frameInSeg, seg.centers.length - 1)] ?? [0.5, 0.5];
70
- return {
71
- cx: clampCenter(center[0], w),
72
- cy: clampCenter(center[1], h),
73
- w,
74
- h,
75
- };
76
- }
77
- /**
78
- * Flatten a `TrajectoryData` to the per-output-frame composed crop-box series
79
- * over all its segments, in order. This is the series the jitter metric walks.
80
- */
81
- export function cropBoxSeries(traj) {
82
- const out = [];
83
- for (const seg of traj.segments) {
84
- const n = seg.centers.length;
85
- for (let i = 0; i < n; i++) {
86
- out.push(cropBoxForFrame(seg, i, traj.src_w, traj.src_h, traj.aspect));
87
- }
88
- }
89
- return out;
90
- }
91
- /**
92
- * The STATIC center-crop baseline a content-aware reframe MUST beat on
93
- * smoothness: the same per-segment `zoom_scale` (so the only variable is WHERE
94
- * the camera points), but the center pinned to source-center every frame
95
- * (coverage-clamped, which for a centered window is a no-op). A static crop has
96
- * zero pan jitter by construction — its only frame-to-frame motion is the
97
- * per-shot `zoom_scale` steps the algorithm itself authors. The reframe is
98
- * "adding jitter for nothing" if it cannot beat THIS.
99
- */
100
- export function centerCropBoxSeries(traj) {
101
- const out = [];
102
- for (const seg of traj.segments) {
103
- const n = seg.centers.length;
104
- for (let i = 0; i < n; i++) {
105
- const zoom = seg.zooms ? seg.zooms[Math.min(i, seg.zooms.length - 1)] : seg.zoom_scale;
106
- const { w, h } = cropWindowSize(traj.src_w, traj.src_h, zoom, traj.aspect);
107
- out.push({ cx: 0.5, cy: 0.5, w, h });
108
- }
109
- }
110
- return out;
111
- }
112
- /**
113
- * The RAW subject-centroid path baseline (the research bar): the per-frame
114
- * `centers` the algorithm computed, BEFORE any smoothing/deadzone, composed into
115
- * a crop box at the same per-segment zoom. A reframe must be SMOOTHER than the
116
- * path it is smoothing. Phase 0 cannot reconstruct the pre-EMA centroid from the
117
- * shipped trajectory (it only carries the smoothed `centers`), so this is a
118
- * scaffold that returns the shipped centers; Phase 3 wires the true raw path via
119
- * `eval/inclusion` + `eval/index` (keeping `emaSmooth` importable, per the
120
- * spec's characterization gate).
121
- */
122
- export function rawCentroidBoxSeries(traj) {
123
- return cropBoxSeries(traj);
124
- }
125
- /**
126
- * Compose an arbitrary per-frame `centers` series (e.g. the raw tracking
127
- * centroid, or the same centroid through the OLD `emaSmooth`) into a crop-box
128
- * series at a fixed per-frame crop window — the Phase-3 "smoother than EMA"
129
- * characterization baseline. `cropFor(frame)` gives the source-normalized window
130
- * for that output frame (the same the shipping path uses), so the ONLY variable
131
- * between ours and the baseline is the smoother. Centers are coverage-clamped
132
- * exactly as the renderer clamps them.
133
- */
134
- export function cropBoxSeriesFromCenters(centers, cropFor) {
135
- return centers.map((c, i) => {
136
- const { w, h } = cropFor(i);
137
- return { cx: clampCenter(c[0], w), cy: clampCenter(c[1], h), w, h };
138
- });
139
- }
@@ -1,96 +0,0 @@
1
- /**
2
- * Reframe eval — the INCLUSION metric (Phase 3 gate) + the shot-aware teleport
3
- * and old-vs-new smoothness baselines.
4
- *
5
- * The Phase-2 gate (jitter ≤ center-crop) is the WRONG bar for a MOVING subject:
6
- * a static center crop has jitter 0, but the subject walks out of frame. The
7
- * camera that TRACKS the subject HAS motion (jitter > 0) and is CORRECT. So the
8
- * Phase-3 gate is INCLUSION: the per-frame RequiredRegion (the padded subject/
9
- * group box the crop must contain) must stay ⊆ the crop window. Our reframe must
10
- * reach inclusionRate ≈ 1.0 on a moving subject (the camera tracks), and a
11
- * static center-crop's inclusionRate must be materially LOWER (the subject walks
12
- * out). See the virtual-camera spec, "Virtual-camera stability" + the Phase-3
13
- * gate note.
14
- *
15
- * Pure, deterministic, no I/O. Replays the SAME `selectSubjectSet` +
16
- * `regionsFromBoxes` the shipping all-faces derive uses, so the regions are
17
- * EXACTLY the boxes the camera was obliged to contain.
18
- */
19
- import { selectSubjectSet } from '../vcam/subjectSet';
20
- import { buildRequiredRegions } from '../vcam/requiredRegion';
21
- /** True iff the padded RequiredRegion is fully inside the crop box (the crop
22
- * window contains the region — the subject stays in frame). */
23
- export function regionInCrop(region, crop) {
24
- const rx1 = region.cx - region.w / 2;
25
- const rx2 = region.cx + region.w / 2;
26
- const ry1 = region.cy - region.h / 2;
27
- const ry2 = region.cy + region.h / 2;
28
- const cx1 = crop.cx - crop.w / 2;
29
- const cx2 = crop.cx + crop.w / 2;
30
- const cy1 = crop.cy - crop.h / 2;
31
- const cy2 = crop.cy + crop.h / 2;
32
- // A tiny tolerance absorbs float noise at the exact edge (a region flush with
33
- // the crop edge is contained, not out).
34
- const eps = 1e-6;
35
- return rx1 >= cx1 - eps && rx2 <= cx2 + eps && ry1 >= cy1 - eps && ry2 <= cy2 + eps;
36
- }
37
- /**
38
- * The per-frame RequiredRegions an `all-faces` camera was obliged to contain,
39
- * over the WHOLE track window (one all-faces segment). Recomputes the shipping
40
- * selection so the regions match the derive exactly. Null where no framed member
41
- * is present (occlusion / gap) — those frames are EXCLUDED from inclusionRate
42
- * (there's no subject to keep in frame).
43
- */
44
- export function requiredRegionsForTrack(track) {
45
- const cuts = new Set((track.shotBoundaries ?? []).filter((b) => b > 0));
46
- const sel = selectSubjectSet(track.perFrameTracked, track.srcW, track.srcH, track.srcFps, new Map(Object.entries(track.perKeyframeSpeaker).map(([k, v]) => [Number(k), v])), cuts);
47
- // Use the SAME canonical RequiredRegions the camera frames (pad + per-shot
48
- // outlier reject) — the gate measures inclusion against exactly the region the
49
- // derive was obliged to contain, so it can't be gamed by measuring a looser box.
50
- return buildRequiredRegions(sel.perFrameBoxes, track.srcFps, cuts);
51
- }
52
- /** The all-faces `inclusionRate` for a crop-box series vs the per-frame
53
- * RequiredRegions: the fraction of REGION-BEARING frames whose region is fully
54
- * inside the crop. `1.0` ⇒ the subject never walks out of frame. Frames with no
55
- * region (no subject present) are not counted. */
56
- export function inclusionRate(regions, crops) {
57
- let framesWithRegion = 0;
58
- let contained = 0;
59
- const n = Math.min(regions.length, crops.length);
60
- for (let i = 0; i < n; i++) {
61
- const r = regions[i];
62
- if (r === null)
63
- continue;
64
- framesWithRegion++;
65
- if (regionInCrop(r, crops[i]))
66
- contained++;
67
- }
68
- return {
69
- rate: framesWithRegion > 0 ? contained / framesWithRegion : 1,
70
- framesWithRegion,
71
- contained,
72
- };
73
- }
74
- /**
75
- * The largest per-frame center step measured WITHIN trajectory segments (one per
76
- * sub-shot), in output-crop-normalized units. Steps ACROSS a segment boundary
77
- * (a detector shot cut) are EXCLUDED — a camera snap at a real cut is intended
78
- * (the only reset), so it is not a "teleport". An intra-shot maxStep above the
79
- * bar is the chase/teleport the gate guards against. `segLens` are the per-
80
- * segment frame counts (so the walk knows where the cut-snaps are).
81
- */
82
- export function intraShotMaxStep(crops, segLens) {
83
- let max = 0;
84
- let frame = 0;
85
- for (const len of segLens) {
86
- for (let i = 1; i < len; i++) {
87
- const a = crops[frame + i - 1];
88
- const b = crops[frame + i];
89
- const step = Math.abs(b.cx - a.cx) / Math.max(b.w, 1e-6) + Math.abs(b.cy - a.cy) / Math.max(b.h, 1e-6);
90
- if (step > max)
91
- max = step;
92
- }
93
- frame += len;
94
- }
95
- return max;
96
- }
@@ -1,146 +0,0 @@
1
- /**
2
- * Reframe eval harness — the public surface for the metrics + the fixture-driven
3
- * report. Pure TS, no Modal, no R2: every metric replays a cached `SubjectTrack`
4
- * fixture through the REAL `deriveTrajectory` and measures the composed crop box.
5
- * See the virtual-camera spec's "Eval / metrics / test harness (built FIRST)".
6
- *
7
- * Phase 0 shipped jitter + center-crop. Phase 3 adds the INCLUSION gate (the
8
- * camera tracks a moving subject ⇒ region ⊆ crop) + the shot-aware teleport
9
- * metric + the "smoother than the old EMA path" characterization, because pure
10
- * jitter-beats-center-crop is the WRONG bar once the camera legitimately moves to
11
- * track (a static center-crop has jitter 0 but loses a walking subject).
12
- */
13
- import { deriveTrajectory, emaSmooth, cropWindowSizeFor, nearestKpValue } from '../deriveTrajectory';
14
- import { cropBoxSeries, centerCropBoxSeries, rawCentroidBoxSeries, cropBoxSeriesFromCenters, } from './cropBox';
15
- import { jitter } from './metrics';
16
- import { requiredRegionsForTrack, inclusionRate, intraShotMaxStep, regionInCrop, } from './inclusion';
17
- import { selectSubjectSet, selectSingleSubjectBoxes, } from '../vcam/subjectSet';
18
- import { buildRequiredRegions } from '../vcam/requiredRegion';
19
- import { segmentShots } from '../vcam/shots';
20
- export { cropBoxSeries, centerCropBoxSeries, rawCentroidBoxSeries, cropBoxSeriesFromCenters, cropWindowSize, cropBoxForFrame, } from './cropBox';
21
- export { jitter, iou, mIoU } from './metrics';
22
- export { requiredRegionsForTrack, inclusionRate, intraShotMaxStep, regionInCrop, } from './inclusion';
23
- /**
24
- * Run the base eval over a fixture track + authored reframe segments. Derives the
25
- * trajectory through the SHIPPING `deriveTrajectory`, composes the crop boxes,
26
- * and reports jitter vs the center-crop + raw-centroid baselines.
27
- */
28
- export function evalReframe(track, segments, aspect, bakeVersion) {
29
- const traj = deriveTrajectory(track, segments, aspect, bakeVersion);
30
- const ours = cropBoxSeries(traj);
31
- const center = centerCropBoxSeries(traj);
32
- const raw = rawCentroidBoxSeries(traj);
33
- const j = jitter(ours);
34
- const cj = jitter(center);
35
- const rj = jitter(raw);
36
- return {
37
- jitter: j,
38
- centerCropJitter: cj,
39
- rawCentroidJitter: rj,
40
- beatsCenterCrop: j.total <= cj.total,
41
- frames: ours.length,
42
- };
43
- }
44
- /**
45
- * The Phase-3 tracking eval for an `all-faces` segment over the whole window.
46
- * Recomputes the per-frame RequiredRegions (the SAME `selectSubjectSet` the
47
- * derive uses) and measures whether the camera keeps the subject in frame
48
- * (inclusion), how it compares to the old EMA path (smoothness), and that it
49
- * never teleports within a shot. The fixed crop window per frame is the
50
- * segment's authored zoom + aspect (all-faces has no eased per-frame zoom).
51
- */
52
- export function evalTracking(track, aspect, bakeVersion) {
53
- const segments = [
54
- { startSec: 0, endSec: track.window.endSec, focus: { mode: 'all-faces' }, zoom: 1 },
55
- ];
56
- const traj = deriveTrajectory(track, segments, aspect, bakeVersion);
57
- const ours = cropBoxSeries(traj);
58
- const center = centerCropBoxSeries(traj);
59
- const regions = requiredRegionsForTrack(track);
60
- // The fixed per-frame crop window (zoom 1.0 here — the authored all-faces zoom).
61
- const win = cropWindowSizeFor(track.srcW, track.srcH, 1.0, aspect);
62
- const cropFor = () => win;
63
- // Reconstruct the RAW per-frame tracking centroid + the OLD emaSmooth path over
64
- // the SAME selection, to prove ours (cameraPath) is no rougher than EMA.
65
- const cuts = new Set((track.shotBoundaries ?? []).filter((b) => b > 0));
66
- const sel = selectSubjectSet(track.perFrameTracked, track.srcW, track.srcH, track.srcFps, new Map(Object.entries(track.perKeyframeSpeaker).map(([k, v]) => [Number(k), v])), cuts);
67
- const rawCenters = sel.centers;
68
- const emaCenters = emaSmooth(rawCenters, 0.35, cuts);
69
- const rawBoxes = cropBoxSeriesFromCenters(rawCenters, cropFor);
70
- const emaBoxes = cropBoxSeriesFromCenters(emaCenters, cropFor);
71
- const segLens = traj.segments.map((s) => s.centers.length);
72
- return {
73
- inclusionRate: inclusionRate(regions, ours).rate,
74
- centerCropInclusionRate: inclusionRate(regions, center).rate,
75
- framesWithRegion: inclusionRate(regions, ours).framesWithRegion,
76
- jitter: jitter(ours),
77
- emaPathJitter: jitter(emaBoxes),
78
- rawPathJitter: jitter(rawBoxes),
79
- intraShotMaxStep: intraShotMaxStep(ours, segLens),
80
- frames: ours.length,
81
- };
82
- }
83
- /** Resolve a Focus mode + faceId into the single-subject adapter pick. */
84
- function pickFor(mode, faceId) {
85
- return mode === 'face' ? { kind: 'face', authoredFaceId: faceId ?? '' } : { kind: 'active-speaker' };
86
- }
87
- /**
88
- * Characterize the P4 `face` / `active-speaker` migration on a real fixture: the
89
- * NEW core geometric-deadzone path (run via the SHIPPING `deriveTrajectory`) vs
90
- * the OLD `emaSmooth` path (reconstructed here over the SAME per-frame chosen-
91
- * subject centroid the old code used), measured against ONE inclusion region (the
92
- * chosen subject's per-frame padded BOX). All over a single full-window segment.
93
- */
94
- export function evalSingleSubject(track, mode, aspect, bakeVersion, faceId) {
95
- const segments = [
96
- {
97
- startSec: 0,
98
- endSec: track.window.endSec,
99
- focus: mode === 'face' ? { mode: 'face', faceId: faceId ?? 'face-0' } : { mode: 'active-speaker' },
100
- zoom: 1,
101
- },
102
- ];
103
- // NEW: the shipping migrated derive.
104
- const traj = deriveTrajectory(track, segments, aspect, bakeVersion);
105
- const newBoxes = cropBoxSeries(traj);
106
- // The chosen subject's per-frame box (the adapter the migrated derive uses) →
107
- // the SINGLE inclusion region both paths are judged against + the centroid the
108
- // OLD emaSmooth consumed.
109
- const cuts = new Set((track.shotBoundaries ?? []).filter((b) => b > 0));
110
- const perKf = new Map(Object.entries(track.perKeyframeSpeaker).map(([k, v]) => [Number(k), v]));
111
- const single = selectSingleSubjectBoxes(track.perFrameTracked, track.srcW, track.srcH, perKf, pickFor(mode, faceId), (frame) => nearestKpValue(perKf, frame));
112
- const regions = buildRequiredRegions(single.perFrameBoxes, track.srcFps, cuts);
113
- // OLD: emaSmooth(0.35) over the chosen subject's per-frame centroid (the bare
114
- // center the deleted branch produced), composed at the SAME zoom-1.0 window.
115
- const win = cropWindowSizeFor(track.srcW, track.srcH, 1.0, aspect);
116
- const cropFor = () => win;
117
- const centroids = single.perFrameBoxes.map((b) => b === null ? null : [(b[0] + b[2]) / 2, (b[1] + b[3]) / 2]);
118
- const emaCenters = emaSmooth(centroids, 0.35, cuts);
119
- const emaBoxes = cropBoxSeriesFromCenters(emaCenters.map((c) => [c[0], c[1]]), cropFor);
120
- // Inclusion vs the chosen subject's padded box region (one bar for both paths).
121
- const incl = (crops) => {
122
- let fw = 0;
123
- let contained = 0;
124
- for (let i = 0; i < regions.length; i++) {
125
- const r = regions[i];
126
- if (r === null)
127
- continue;
128
- fw++;
129
- if (regionInCrop(r, crops[i]))
130
- contained++;
131
- }
132
- return { rate: fw > 0 ? contained / fw : 1, framesWithRegion: fw };
133
- };
134
- // Intra-shot max step (cut-snaps excluded) needs per-shot frame counts.
135
- const segLens = segmentShots(cuts, regions.length).map((s) => s.end - s.start);
136
- const newIncl = incl(newBoxes);
137
- return {
138
- jitter: jitter(newBoxes),
139
- emaJitter: jitter(emaBoxes),
140
- inclusionRate: newIncl.rate,
141
- emaInclusionRate: incl(emaBoxes).rate,
142
- intraShotMaxStep: intraShotMaxStep(newBoxes, segLens),
143
- emaIntraShotMaxStep: intraShotMaxStep(emaBoxes, segLens),
144
- framesWithRegion: newIncl.framesWithRegion,
145
- };
146
- }
@@ -1,94 +0,0 @@
1
- /**
2
- * Reframe eval metrics — pure, label-free, deterministic.
3
- *
4
- * Tier 1 (HARD CI BLOCKERS, no human labels): `jitter` + the center-crop
5
- * comparison. These are what gate the build per the virtual-camera spec —
6
- * "jitter-beats-center-crop is the only ship-blocker".
7
- *
8
- * Tier 2 (REPORTED, not blocking): `mIoU` — scaffolded + reported, NOT a gate,
9
- * because per-frame human ground-truth boxes don't exist yet (RESOLVED #3).
10
- *
11
- * `jitter` = mean over frames of the absolute frame-to-frame difference of the
12
- * composed crop box (center x/y AND size), in output-crop-normalized units. The
13
- * per-component delta is normalized by the box's own size, so the metric is
14
- * zoom-invariant: a half-window pan reads the same number at any zoom (the spec's
15
- * "held feel is zoom-invariant" requirement). Lower is smoother. A static crop
16
- * has zero pan jitter; the only motion it carries is the per-shot `zoom_scale`
17
- * steps, which both paths share — so `jitter(ours) ≤ jitter(centerCrop)` isolates
18
- * "where the camera points" as the sole variable.
19
- */
20
- /**
21
- * Jitter of a composed crop-box series. Empty / single-frame series → all zeros
22
- * (no motion to measure). The center delta is divided by the per-frame window
23
- * size so it is expressed in fractions of the crop window (output-crop space);
24
- * the zoom delta is divided by the mean window size for the same normalization.
25
- */
26
- export function jitter(boxes) {
27
- if (boxes.length < 2) {
28
- return { center: 0, zoom: 0, total: 0, maxCenterStep: 0 };
29
- }
30
- let centerAcc = 0;
31
- let zoomAcc = 0;
32
- let maxCenterStep = 0;
33
- let wSum = 0;
34
- let hSum = 0;
35
- for (const b of boxes) {
36
- wSum += b.w;
37
- hSum += b.h;
38
- }
39
- const meanW = wSum / boxes.length || 1e-6;
40
- const meanH = hSum / boxes.length || 1e-6;
41
- for (let i = 1; i < boxes.length; i++) {
42
- const a = boxes[i - 1];
43
- const b = boxes[i];
44
- // Center delta in output-crop units: source-normalized delta ÷ window size
45
- // (so it's a fraction of the visible window, not of the whole source).
46
- const dxOut = Math.abs(b.cx - a.cx) / Math.max(b.w, 1e-6);
47
- const dyOut = Math.abs(b.cy - a.cy) / Math.max(b.h, 1e-6);
48
- const step = dxOut + dyOut;
49
- centerAcc += step;
50
- if (step > maxCenterStep)
51
- maxCenterStep = step;
52
- // Zoom (window-size) delta, normalized by the mean window size.
53
- zoomAcc += Math.abs(b.w - a.w) / meanW + Math.abs(b.h - a.h) / meanH;
54
- }
55
- const denom = boxes.length - 1;
56
- const center = centerAcc / denom;
57
- const zoom = zoomAcc / denom;
58
- return { center, zoom, total: center + zoom, maxCenterStep };
59
- }
60
- /** Intersection-over-union of two source-normalized crop boxes. */
61
- export function iou(a, b) {
62
- const ax1 = a.cx - a.w / 2;
63
- const ax2 = a.cx + a.w / 2;
64
- const ay1 = a.cy - a.h / 2;
65
- const ay2 = a.cy + a.h / 2;
66
- const bx1 = b.cx - b.w / 2;
67
- const bx2 = b.cx + b.w / 2;
68
- const by1 = b.cy - b.h / 2;
69
- const by2 = b.cy + b.h / 2;
70
- const ix = Math.max(0, Math.min(ax2, bx2) - Math.max(ax1, bx1));
71
- const iy = Math.max(0, Math.min(ay2, by2) - Math.max(ay1, by1));
72
- const inter = ix * iy;
73
- const union = a.w * a.h + b.w * b.h - inter;
74
- return union > 0 ? inter / union : 0;
75
- }
76
- /**
77
- * mIoU + IoU@0.5 vs a per-frame ground-truth crop-box series (Tier 2, REPORTED
78
- * only). Scaffolded now so the harness emits a number the moment labels exist;
79
- * NOT a CI gate (no hand-labeled fixtures yet — RESOLVED #3). Lengths must match.
80
- */
81
- export function mIoU(ours, groundTruth) {
82
- const n = Math.min(ours.length, groundTruth.length);
83
- if (n === 0)
84
- return { mIoU: 0, iouAt50: 0, n: 0 };
85
- let sum = 0;
86
- let hits = 0;
87
- for (let i = 0; i < n; i++) {
88
- const v = iou(ours[i], groundTruth[i]);
89
- sum += v;
90
- if (v >= 0.5)
91
- hits++;
92
- }
93
- return { mIoU: sum / n, iouAt50: hits / n, n };
94
- }
@@ -1,65 +0,0 @@
1
- // ── Constants ──────────────────────────────────────────────────────────────
2
- export const DEFAULT_FPS = 30;
3
- export const DEFAULT_WIDTH = 1920;
4
- export const DEFAULT_HEIGHT = 1080;
5
- export const DEFAULT_RENDER_SETTINGS = {
6
- format: 'source',
7
- quality: 'source',
8
- resolution: 'source',
9
- watermark: false,
10
- captionsEnabled: true,
11
- };
12
- export const FORMAT_PRESETS = {
13
- '16:9': { label: 'Landscape', aspectWidth: 16, aspectHeight: 9 },
14
- '9:16': { label: 'TikTok / Reels', aspectWidth: 9, aspectHeight: 16 },
15
- '4:5': { label: 'Instagram Portrait', aspectWidth: 4, aspectHeight: 5 },
16
- '1:1': { label: 'Square', aspectWidth: 1, aspectHeight: 1 },
17
- };
18
- export const RESOLUTION_PRESETS = {
19
- '1080p': { label: '1080p (Full HD)', height: 1080 },
20
- '1440p': { label: '1440p (2K)', height: 1440 },
21
- '4k': { label: '4K (Ultra HD)', height: 2160 },
22
- };
23
- // BPP (bits-per-pixel) presets — scales encoding quality proportionally to
24
- // resolution so file sizes are predictable across 720p through 4K.
25
- const BPP = {
26
- maximum: 0.3,
27
- social: 0.15,
28
- web: 0.08,
29
- potato: 0.04,
30
- };
31
- // ── Functions ──────────────────────────────────────────────────────────────
32
- /** Convert a BPP value to an approximate CRF (H.264). */
33
- export function bppToCrf(bpp) {
34
- return Math.max(15, Math.min(36, Math.round(51 - bpp * 120)));
35
- }
36
- /** Compute output dimensions and CRF from source dims + quality preset. */
37
- export function computeExportDimensions(sourceWidth, sourceHeight, format, quality) {
38
- let w;
39
- let h;
40
- if (format === 'source') {
41
- w = sourceWidth;
42
- h = sourceHeight;
43
- }
44
- else {
45
- const preset = FORMAT_PRESETS[format];
46
- const shortEdge = Math.min(sourceWidth, sourceHeight);
47
- const minAspect = Math.min(preset.aspectWidth, preset.aspectHeight);
48
- w = Math.round(shortEdge * (preset.aspectWidth / minAspect));
49
- h = Math.round(shortEdge * (preset.aspectHeight / minAspect));
50
- }
51
- // Ensure even dimensions (required by most codecs)
52
- w = w % 2 === 0 ? w : w + 1;
53
- h = h % 2 === 0 ? h : h + 1;
54
- if (quality === 'source') {
55
- return { width: w, height: h, crf: undefined };
56
- }
57
- const bpp = BPP[quality];
58
- if (bpp === undefined)
59
- return { width: w, height: h, crf: undefined };
60
- return { width: w, height: h, crf: bppToCrf(bpp) };
61
- }
62
- /** Ensure a dimension is even (required by most codecs). */
63
- export function ensureEven(n) {
64
- return n % 2 === 0 ? n : n + 1;
65
- }
@@ -1,20 +0,0 @@
1
- export { buildEmphasisSet, isEmphasized } from './emphasis';
2
- export { extractCaptionWordsFromDoc, sliceTranscriptWords, splitIntoSentences } from './captions';
3
- // (auto-reframe module deleted 2026-05-25 — baked-variants substrate
4
- // replacement. Crop trajectories now live in pre-baked variant videos,
5
- // not in render-time computation.)
6
- // (caption-safe-area deleted 2026-06-04 — the composition floor's reframe-yield
7
- // replaces the scalar caption shift. See @cueframe/composition/projection
8
- // resolveCompositionFloor + packages/execution/render-entry/src/floor/buildFloorInput.ts.)
9
- export { compositionToRenderInput, referencedMediaIds, componentRefsByClipId, assembleRenderInput, validateComposition, compositionFormatDimensions, playableSpans, } from './compositionRender';
10
- // Brand intro/outro bookend timeline math — pure, fps-driven, never throws.
11
- // Shared by compositionToRenderInput (forward: body → extended total) and the
12
- // cueframe renderer's MainComposition (bumper → reserved frames + body shift).
13
- export { bookendFrames, resolveBookendTimeline, CARD_BOOKEND_DEFAULT_MS, VIDEO_BOOKEND_DEFAULT_MS, } from './bookends';
14
- export { DEFAULT_FPS, DEFAULT_WIDTH, DEFAULT_HEIGHT, DEFAULT_RENDER_SETTINGS, FORMAT_PRESETS, RESOLUTION_PRESETS, bppToCrf, computeExportDimensions, ensureEven, } from './exportSettings';
15
- // Crop-trajectory inline derive — PURE STAGE-B math over a cached SubjectTrack.
16
- // The render derives the crop trajectory INLINE from the track + the clip's
17
- // reframe (no pre-baked variant cache). See
18
- // brain/Projects/CueFrame/specs/2026-06-14-render-time-resolution-design.md.
19
- export { faceArea, resolveSubjectFaces, selectedFaceCenter, isJump, emaSmooth, clip01, captionBandReserve, aspectWhRatio, nearestKpValue, activeWindowsFor, perSubjectSeries, calibrateShotScale, deriveSegment, deriveTrajectory, buildEasedZooms, buildPannedCenters, easeOutCubic, JUMP_THRESHOLD, MIN_SUBJECT_RESOLUTION, } from './deriveTrajectory';
20
- export { mapFaceIdToPersonId } from './mapFaceToPerson';
@@ -1,73 +0,0 @@
1
- /**
2
- * Face→person identity mapping for the perception ESCALATION path.
3
- *
4
- * The plan authors subjects against the FACE roster (`face-N`, YuNet/SCRFD).
5
- * When the face tracker carries that identity in too few frames
6
- * (`subject_not_tracked` — e.g. the subject looks away for most of a long
7
- * segment), the compose escalates to the PERSON detector (YOLO11x + BoT-SORT),
8
- * whose track names identities `person-N`. This maps the authored face id onto
9
- * the person id whose body boxes CONTAIN that face, scored over exactly the
10
- * frames where the face DID resolve — the face evidence is sparse but real, and
11
- * a face box sits inside its own person's box in every such frame.
12
- *
13
- * Pure math, no I/O. Tracks may have different frame counts (defensive):
14
- * frames align by relative position in the shared detection window.
15
- */
16
- /** Fraction of the FACE box's area inside the person box. 1 = fully contained. */
17
- function containment(face, person) {
18
- const [fx1, fy1, fx2, fy2] = face;
19
- const [px1, py1, px2, py2] = person;
20
- const faceArea = Math.max(0, fx2 - fx1) * Math.max(0, fy2 - fy1);
21
- if (faceArea === 0)
22
- return 0;
23
- const ix = Math.max(0, Math.min(fx2, px2) - Math.max(fx1, px1));
24
- const iy = Math.max(0, Math.min(fy2, py2) - Math.max(fy1, py1));
25
- return (ix * iy) / faceArea;
26
- }
27
- /**
28
- * Map one authored face id to the person-track id that carries it, or null when
29
- * the evidence is missing/ambiguous (caller fails loud — never a guess).
30
- *
31
- * Decision rule: sum per-frame containment per person id over the frames where
32
- * the face resolves; the winner needs (a) support in ≥30% of those frames at
33
- * ≥60% containment, and (b) a 1.5× margin over the runner-up (two people
34
- * side-by-side must not coin-flip).
35
- */
36
- export function mapFaceIdToPersonId(faceTrack, personTrack, faceId) {
37
- const nF = faceTrack.perFrameTracked.length;
38
- const nP = personTrack.perFrameTracked.length;
39
- if (nF === 0 || nP === 0)
40
- return null;
41
- const scores = new Map();
42
- let faceFrames = 0;
43
- for (let i = 0; i < nF; i++) {
44
- const face = faceTrack.perFrameTracked[i]?.[faceId];
45
- if (!face)
46
- continue;
47
- faceFrames++;
48
- // Align by relative position — identical-length tracks map i→i exactly.
49
- const j = nF === 1 ? 0 : Math.round((i * (nP - 1)) / (nF - 1));
50
- const persons = personTrack.perFrameTracked[j] ?? {};
51
- for (const [pid, pbox] of Object.entries(persons)) {
52
- const c = containment(face, pbox);
53
- if (c <= 0)
54
- continue;
55
- const s = scores.get(pid) ?? { total: 0, matched: 0 };
56
- s.total += c;
57
- if (c >= 0.6)
58
- s.matched++;
59
- scores.set(pid, s);
60
- }
61
- }
62
- if (faceFrames === 0 || scores.size === 0)
63
- return null;
64
- const ranked = [...scores.entries()].sort((a, b) => b[1].total - a[1].total);
65
- const [winnerId, winner] = ranked[0];
66
- const runnerUp = ranked[1]?.[1].total ?? 0;
67
- const margin = runnerUp > 0 ? winner.total / runnerUp : Infinity;
68
- if (winner.matched / faceFrames < 0.3)
69
- return null; // too little real containment
70
- if (margin < 1.5)
71
- return null; // ambiguous between two people
72
- return { personId: winnerId, matchedFrames: winner.matched, faceFrames, margin };
73
- }
@@ -1,8 +0,0 @@
1
- // Self-contained types for the render pipeline.
2
- // These MUST NOT import from @tauri-apps/* or any barrel that re-exports Tauri types,
3
- // because Remotion's webpack bundler will try to resolve those imports and fail.
4
- //
5
- // OverlayTemplate and OverlayParams are intentionally duplicated from src/types/index.ts.
6
- // Remotion bundles via webpack which cannot resolve @tauri-apps/* imports that appear
7
- // in the main types barrel. Keeping these copies decoupled avoids webpack build failures.
8
- export {};