@cueframe/kernel 0.1.1 → 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 (501) hide show
  1. package/dist/_members/account-model/testing/conversationStoreContract.d.ts +0 -59
  2. package/dist/_members/account-model/testing/index.d.ts +0 -5
  3. package/dist/_members/account-model/testing/restorePointStoreContract.d.ts +0 -24
  4. package/dist/_members/account-model/validators/contextFile.d.ts +0 -6
  5. package/dist/_members/account-model/validators/conversation.d.ts +0 -96
  6. package/dist/_members/account-model/validators/dashboardInsight.d.ts +0 -6
  7. package/dist/_members/account-model/validators/sessionToken.d.ts +0 -29
  8. package/dist/_members/account-model/validators/uploadToken.d.ts +0 -4
  9. package/dist/_members/account-model/validators/userSettings.d.ts +0 -4
  10. package/dist/_members/account-model/validators/workingComposition.d.ts +0 -7
  11. package/dist/_members/animate/animations/Create.d.ts +0 -19
  12. package/dist/_members/animate/animations/FadeIn.d.ts +0 -17
  13. package/dist/_members/animate/animations/GrowArrow.d.ts +0 -19
  14. package/dist/_members/animate/animations/GrowFromCenter.d.ts +0 -12
  15. package/dist/_members/animate/animations/Indicate.d.ts +0 -17
  16. package/dist/_members/animate/animations/MoveAlongPath.d.ts +0 -18
  17. package/dist/_members/animate/animations/Transform.d.ts +0 -28
  18. package/dist/_members/animate/animations/Wiggle.d.ts +0 -18
  19. package/dist/_members/animate/animations/Write.d.ts +0 -20
  20. package/dist/_members/animate/composition/AnimationGroup.d.ts +0 -21
  21. package/dist/_members/animate/composition/LaggedStart.d.ts +0 -22
  22. package/dist/_members/animate/composition/Succession.d.ts +0 -17
  23. package/dist/_members/animate/easing/rush.d.ts +0 -14
  24. package/dist/_members/animate/easing/smooth.d.ts +0 -7
  25. package/dist/_members/animate/easing/smootherstep.d.ts +0 -6
  26. package/dist/_members/animate/index.d.ts +0 -2
  27. package/dist/_members/animate/mobjects/Arrow.d.ts +0 -25
  28. package/dist/_members/animate/mobjects/BrandBox.d.ts +0 -25
  29. package/dist/_members/animate/mobjects/DiGraph.d.ts +0 -18
  30. package/dist/_members/animate/mobjects/Graph.d.ts +0 -38
  31. package/dist/_members/animate/three/ThreeCanvas.d.ts +0 -23
  32. package/dist/_members/animate/three/drei.d.ts +0 -7
  33. package/dist/_members/authoring/agent/buildTools.d.ts +0 -37
  34. package/dist/_members/authoring/agent/contextManagement.d.ts +0 -65
  35. package/dist/_members/authoring/agent/errors.d.ts +0 -9
  36. package/dist/_members/authoring/agent/memoryTool.d.ts +0 -2
  37. package/dist/_members/authoring/agent/promptCache.d.ts +0 -31
  38. package/dist/_members/authoring/agent.d.ts +0 -34
  39. package/dist/_members/authoring/capabilities.d.ts +0 -145
  40. package/dist/_members/authoring/composer/scopes.d.ts +0 -19
  41. package/dist/_members/authoring/context/brand.d.ts +0 -4
  42. package/dist/_members/authoring/context/brandTokens.d.ts +0 -4
  43. package/dist/_members/authoring/context/index.d.ts +0 -1
  44. package/dist/_members/authoring/context/timeline.d.ts +0 -15
  45. package/dist/_members/authoring/context/transcript.d.ts +0 -11
  46. package/dist/_members/authoring/context/types.d.ts +0 -4
  47. package/dist/_members/authoring/decomposer.d.ts +0 -12
  48. package/dist/_members/authoring/evaluate.d.ts +0 -26
  49. package/dist/_members/authoring/evaluator.d.ts +0 -16
  50. package/dist/_members/authoring/models/modelFactory.d.ts +0 -77
  51. package/dist/_members/authoring/motion/applyMotionPreset.d.ts +0 -12
  52. package/dist/_members/authoring/motion/materializeMotionPresetOps.d.ts +0 -7
  53. package/dist/_members/authoring/motion/shell.d.ts +0 -20
  54. package/dist/_members/authoring/pipelineTrace.d.ts +0 -19
  55. package/dist/_members/authoring/prompts/decomposerPrompt.d.ts +0 -4
  56. package/dist/_members/authoring/prompts/designReviewerPrompt.d.ts +0 -16
  57. package/dist/_members/authoring/prompts/evaluatorPrompt.d.ts +0 -4
  58. package/dist/_members/authoring/prompts/graphics.d.ts +0 -5
  59. package/dist/_members/authoring/prompts/plannerPrompt.d.ts +0 -30
  60. package/dist/_members/authoring/providers/resourceApi.d.ts +1 -20
  61. package/dist/_members/authoring/resource-routing.d.ts +0 -121
  62. package/dist/_members/authoring/resources.d.ts +0 -34
  63. package/dist/_members/authoring/scope.d.ts +0 -24
  64. package/dist/_members/authoring/tools/brandTokens.d.ts +0 -22
  65. package/dist/_members/authoring/tools/composeRoleTools.d.ts +0 -79
  66. package/dist/_members/authoring/tools/index.d.ts +0 -1
  67. package/dist/_members/authoring/tools/toolSets.d.ts +0 -50
  68. package/dist/_members/authoring/transpileComponent.d.ts +0 -34
  69. package/dist/_members/authoring/transpileHelper.d.ts +0 -18
  70. package/dist/_members/authoring/types.d.ts +0 -149
  71. package/dist/_members/brand-derivation/constants.d.ts +0 -17
  72. package/dist/_members/brand-derivation/contrastSafe.d.ts +0 -23
  73. package/dist/_members/cloud-import/CloudImportService.d.ts +0 -15
  74. package/dist/_members/cloud-import/ImportProvider.d.ts +0 -45
  75. package/dist/_members/cloud-import/MediaItemPreprocessor.d.ts +0 -9
  76. package/dist/_members/cloud-import/cloudConfig.d.ts +0 -15
  77. package/dist/_members/compose/CompositionRenderer.d.ts +0 -6
  78. package/dist/_members/compose/primitiveRegistry.d.ts +0 -64
  79. package/dist/_members/compose/sceneToRenderInput.d.ts +0 -26
  80. package/dist/_members/compose/schema.d.ts +0 -15
  81. package/dist/_members/compose/tokenResolver.d.ts +0 -11
  82. package/dist/_members/composition/audio/audioMix.d.ts +0 -34
  83. package/dist/_members/composition/audio/mixStaging.d.ts +0 -81
  84. package/dist/_members/composition/audio/musicPack.d.ts +0 -35
  85. package/dist/_members/composition/audio/musicPack.generated.d.ts +0 -6
  86. package/dist/_members/composition/audio/pack.d.ts +0 -43
  87. package/dist/_members/composition/audio/pack.generated.d.ts +0 -6
  88. package/dist/_members/composition/audio/palette.d.ts +0 -36
  89. package/dist/_members/composition/autozoom/index.d.ts +0 -32
  90. package/dist/_members/composition/brand-kit.d.ts +0 -8
  91. package/dist/_members/composition/brief/contract.d.ts +0 -90
  92. package/dist/_members/composition/color-grade.d.ts +0 -11
  93. package/dist/_members/composition/depth.d.ts +0 -19
  94. package/dist/_members/composition/fixtures/agentErrored.d.ts +0 -23
  95. package/dist/_members/composition/fonts.d.ts +0 -62
  96. package/dist/_members/composition/graphics-plan/compile.d.ts +0 -29
  97. package/dist/_members/composition/graphics-plan/index.d.ts +0 -5
  98. package/dist/_members/composition/graphics-plan/instantiateMotif.d.ts +0 -17
  99. package/dist/_members/composition/graphics-plan/motion.d.ts +0 -17
  100. package/dist/_members/composition/graphics-plan/schemas.d.ts +0 -171
  101. package/dist/_members/composition/graphics-plan/solve.d.ts +0 -19
  102. package/dist/_members/composition/invariants/clipPlacement.d.ts +0 -59
  103. package/dist/_members/composition/invariants/composition.d.ts +0 -5
  104. package/dist/_members/composition/invariants/etag.d.ts +0 -7
  105. package/dist/_members/composition/invariants/ids.d.ts +0 -6
  106. package/dist/_members/composition/invariants/keyframes.d.ts +0 -19
  107. package/dist/_members/composition/invariants/markers.d.ts +0 -6
  108. package/dist/_members/composition/invariants/time.d.ts +0 -8
  109. package/dist/_members/composition/invariants/tracks.d.ts +0 -48
  110. package/dist/_members/composition/ops/compositionOps.d.ts +4 -71
  111. package/dist/_members/composition/ops/compositionOps.shared.d.ts +30 -0
  112. package/dist/_members/composition/ops/headlessStore.d.ts +0 -24
  113. package/dist/_members/composition/ops/selectors.d.ts +0 -66
  114. package/dist/_members/composition/ops/timeline-word.d.ts +0 -5
  115. package/dist/_members/composition/ops/transcript.d.ts +0 -27
  116. package/dist/_members/composition/ops/types.d.ts +0 -51
  117. package/dist/_members/composition/primitive-catalog/catalogQuery.d.ts +0 -32
  118. package/dist/_members/composition/primitive-catalog/disabled.d.ts +0 -1
  119. package/dist/_members/composition/primitive-catalog/index.d.ts +0 -11
  120. package/dist/_members/composition/primitive-catalog/paramValidation.d.ts +0 -50
  121. package/dist/_members/composition/primitive-catalog/projection.d.ts +0 -39
  122. package/dist/_members/composition/primitive-catalog/types.d.ts +0 -78
  123. package/dist/_members/composition/projection/behind-placement.d.ts +0 -40
  124. package/dist/_members/composition/projection/behind-readiness.d.ts +14 -89
  125. package/dist/_members/composition/projection/brandKit.d.ts +0 -142
  126. package/dist/_members/composition/projection/cardTokens.d.ts +0 -65
  127. package/dist/_members/composition/projection/composition-floor.d.ts +0 -179
  128. package/dist/_members/composition/projection/cropProjection.d.ts +0 -75
  129. package/dist/_members/composition/projection/occlusion-budget.d.ts +0 -37
  130. package/dist/_members/composition/projection/reframe-readiness.d.ts +4 -111
  131. package/dist/_members/composition/projection/safe-zones.d.ts +0 -29
  132. package/dist/_members/composition/reframe/aspectLoss.d.ts +12 -35
  133. package/dist/_members/composition/reframe/coverage.d.ts +0 -40
  134. package/dist/_members/composition/reframe/derive.d.ts +0 -21
  135. package/dist/_members/composition/reframe/index.d.ts +0 -60
  136. package/dist/_members/composition/reframe/kenBurns.d.ts +0 -37
  137. package/dist/_members/composition/reframe/shotScale.d.ts +0 -75
  138. package/dist/_members/composition/reframe/trajectory.d.ts +0 -65
  139. package/dist/_members/composition/timeline/compound.d.ts +0 -31
  140. package/dist/_members/composition/timeline/intent.d.ts +0 -29
  141. package/dist/_members/composition/timeline/keyframes.d.ts +0 -43
  142. package/dist/_members/composition/timeline/link.d.ts +0 -27
  143. package/dist/_members/composition/timeline/occupancy.d.ts +1 -42
  144. package/dist/_members/composition/timeline/placement.d.ts +5 -52
  145. package/dist/_members/composition/timeline/plan.d.ts +5 -53
  146. package/dist/_members/composition/timeline/resolve.d.ts +0 -36
  147. package/dist/_members/composition/timeline/trims.d.ts +0 -49
  148. package/dist/_members/composition/validators/brandKit.d.ts +0 -29
  149. package/dist/_members/composition/validators/composePlan.d.ts +0 -39
  150. package/dist/_members/composition/validators/composition.d.ts +30 -513
  151. package/dist/_members/composition/validators/graphicKinds.d.ts +0 -28
  152. package/dist/_members/composition/validators/render.d.ts +23 -23
  153. package/dist/_members/composition-ops/alphaLayers.d.ts +0 -56
  154. package/dist/_members/composition-ops/index.d.ts +27 -148
  155. package/dist/_members/composition-ops/materializeGrid.d.ts +0 -28
  156. package/dist/_members/composition-ops/opRecorder.d.ts +0 -34
  157. package/dist/_members/composition-ops/recordingStore.d.ts +0 -16
  158. package/dist/_members/composition-ops/replaceRegion.d.ts +0 -48
  159. package/dist/_members/composition-ops/testFixtures.d.ts +0 -14
  160. package/dist/_members/convex-api/api.d.ts +0 -3
  161. package/dist/_members/convex-api/dataModel.d.ts +0 -2
  162. package/dist/_members/core/index.d.ts +1 -1
  163. package/dist/_members/core/render/bookends.d.ts +0 -44
  164. package/dist/_members/core/render/captions.d.ts +0 -42
  165. package/dist/_members/core/render/compositionRender.d.ts +1 -180
  166. package/dist/_members/core/render/deriveTrajectory.d.ts +0 -140
  167. package/dist/_members/core/render/emphasis.d.ts +0 -6
  168. package/dist/_members/core/render/eval/cropBox.d.ts +0 -69
  169. package/dist/_members/core/render/eval/inclusion.d.ts +0 -39
  170. package/dist/_members/core/render/eval/index.d.ts +0 -58
  171. package/dist/_members/core/render/eval/metrics.d.ts +0 -36
  172. package/dist/_members/core/render/exportSettings.d.ts +4 -12
  173. package/dist/_members/core/render/index.d.ts +1 -1
  174. package/dist/_members/core/render/mapFaceToPerson.d.ts +0 -27
  175. package/dist/_members/core/render/types.d.ts +1 -184
  176. package/dist/_members/core/render/variantKeys.d.ts +1 -0
  177. package/dist/_members/core/render/vcam/cameraPath.d.ts +0 -44
  178. package/dist/_members/core/render/vcam/constants.d.ts +0 -93
  179. package/dist/_members/core/render/vcam/errorCodes.d.ts +0 -28
  180. package/dist/_members/core/render/vcam/framing.d.ts +0 -76
  181. package/dist/_members/core/render/vcam/requiredRegion.d.ts +0 -71
  182. package/dist/_members/core/render/vcam/shots.d.ts +0 -40
  183. package/dist/_members/core/render/vcam/subjectSet.d.ts +0 -85
  184. package/dist/_members/core/select/errorCodes.d.ts +0 -25
  185. package/dist/_members/core/select/index.d.ts +0 -20
  186. package/dist/_members/core/select/model.d.ts +0 -79
  187. package/dist/_members/core/select/select.d.ts +0 -49
  188. package/dist/_members/core/select/stabilize.d.ts +0 -102
  189. package/dist/_members/core/types.d.ts +0 -1
  190. package/dist/_members/director/ai-sdk/chunks.d.ts +14 -0
  191. package/dist/_members/director/ai-sdk/context.d.ts +6 -0
  192. package/dist/_members/director/ai-sdk/generationTool.d.ts +8 -0
  193. package/dist/_members/director/ai-sdk/index.d.ts +4 -0
  194. package/dist/_members/director/ai-sdk/messages.d.ts +292 -0
  195. package/dist/_members/director/domain/chat.d.ts +357 -0
  196. package/dist/_members/director/domain/generation.d.ts +1 -0
  197. package/dist/_members/director/domain/index.d.ts +3 -0
  198. package/dist/_members/director/domain/ports.d.ts +32 -0
  199. package/dist/_members/director/index.d.ts +2 -0
  200. package/dist/_members/director/testing/contract.d.ts +52 -0
  201. package/dist/_members/director/testing/index.d.ts +1 -0
  202. package/dist/_members/errors/registry.d.ts +0 -32
  203. package/dist/_members/foundation/codes/index.d.ts +0 -21
  204. package/dist/_members/mcp/adapter.d.ts +1 -84
  205. package/dist/_members/mcp/burnedNames.d.ts +0 -16
  206. package/dist/_members/mcp/core.d.ts +1 -81
  207. package/dist/_members/mcp/curation.d.ts +0 -112
  208. package/dist/_members/mcp/executor.d.ts +0 -49
  209. package/dist/_members/mcp/format.d.ts +0 -6
  210. package/dist/_members/mcp/generated/catalogPreviews.d.ts +0 -1
  211. package/dist/_members/mcp/generated/operations.d.ts +0 -23
  212. package/dist/_members/mcp/internalLoopTools.d.ts +0 -23
  213. package/dist/_members/mcp/prompts.d.ts +0 -16
  214. package/dist/_members/mcp/resources.d.ts +0 -13
  215. package/dist/_members/mcp/server.d.ts +0 -61
  216. package/dist/_members/mcp/wait.d.ts +0 -22
  217. package/dist/_members/mcp/x402Meta.d.ts +0 -44
  218. package/dist/_members/media-model/generation.d.ts +314 -0
  219. package/dist/_members/media-model/index.d.ts +1 -0
  220. package/dist/_members/media-model/media-kind.d.ts +0 -27
  221. package/dist/_members/media-model/transcriptSearch.d.ts +0 -42
  222. package/dist/_members/nle-export/fcpxml.d.ts +0 -13
  223. package/dist/_members/nle-export/index.d.ts +0 -6
  224. package/dist/_members/nle-export/types.d.ts +0 -26
  225. package/dist/_members/nle-export/xml/index.d.ts +0 -8
  226. package/dist/_members/nle-export/xml-utils.d.ts +0 -12
  227. package/dist/_members/perception/activeSpeaker.d.ts +0 -94
  228. package/dist/_members/perception/audioQuality.d.ts +0 -64
  229. package/dist/_members/perception/energyBeat.d.ts +0 -81
  230. package/dist/_members/perception/identityMatch.d.ts +0 -66
  231. package/dist/_members/perception/index.d.ts +0 -52
  232. package/dist/_members/perception/visualQuality.d.ts +0 -73
  233. package/dist/_members/plane/conformance.d.ts +0 -59
  234. package/dist/_members/plane/contract.d.ts +0 -29
  235. package/dist/_members/plane/index.d.ts +0 -15
  236. package/dist/_members/primitives/backgrounds/animated-bar-chart/index.d.ts +0 -13
  237. package/dist/_members/primitives/backgrounds/animated-line-chart/index.d.ts +0 -14
  238. package/dist/_members/primitives/backgrounds/dither-gradient-bg/index.d.ts +0 -14
  239. package/dist/_members/primitives/backgrounds/dynamic-grid/index.d.ts +0 -8
  240. package/dist/_members/primitives/backgrounds/ecosystem-constellation/index.d.ts +0 -8
  241. package/dist/_members/primitives/backgrounds/infinite-marquee/index.d.ts +0 -8
  242. package/dist/_members/primitives/backgrounds/mesh-gradient-bg/index.d.ts +0 -8
  243. package/dist/_members/primitives/backgrounds/perspective-marquee/index.d.ts +0 -8
  244. package/dist/_members/primitives/backgrounds/silk-flow-bg/index.d.ts +0 -17
  245. package/dist/_members/primitives/backgrounds/vector-field/index.d.ts +0 -14
  246. package/dist/_members/primitives/backgrounds/volumetric-rays/index.d.ts +0 -18
  247. package/dist/_members/primitives/captions/Captions.d.ts +0 -24
  248. package/dist/_members/primitives/captions/index.d.ts +0 -15
  249. package/dist/_members/primitives/captions/paginate.d.ts +0 -21
  250. package/dist/_members/primitives/captions/placement.d.ts +0 -30
  251. package/dist/_members/primitives/effects/blur/index.d.ts +0 -16
  252. package/dist/_members/primitives/effects/color-grade/index.d.ts +0 -20
  253. package/dist/_members/primitives/effects/grain/index.d.ts +0 -12
  254. package/dist/_members/primitives/effects/parallax/index.d.ts +0 -13
  255. package/dist/_members/primitives/effects/particles/index.d.ts +0 -16
  256. package/dist/_members/primitives/effects/pulsing-indicator/index.d.ts +0 -10
  257. package/dist/_members/primitives/effects/spotlight-card/index.d.ts +0 -8
  258. package/dist/_members/primitives/effects/spring-pop-in/index.d.ts +0 -10
  259. package/dist/_members/primitives/effects/success-confetti/index.d.ts +0 -8
  260. package/dist/_members/primitives/effects/vignette/index.d.ts +0 -12
  261. package/dist/_members/primitives/hero-text/HeroText.d.ts +0 -17
  262. package/dist/_members/primitives/hero-text/config.d.ts +0 -10
  263. package/dist/_members/primitives/hero-text/index.d.ts +0 -14
  264. package/dist/_members/primitives/index.d.ts +0 -8
  265. package/dist/_members/primitives/layouts/chat-to-preview-layout/index.d.ts +0 -8
  266. package/dist/_members/primitives/layouts/infinite-bento-pan/index.d.ts +0 -8
  267. package/dist/_members/primitives/layouts/letterbox/index.d.ts +0 -15
  268. package/dist/_members/primitives/layouts/photo-grid/index.d.ts +0 -17
  269. package/dist/_members/primitives/layouts/picture-in-picture/index.d.ts +0 -21
  270. package/dist/_members/primitives/layouts/split-screen/index.d.ts +0 -15
  271. package/dist/_members/primitives/layouts/staggered-bento-grid/index.d.ts +0 -8
  272. package/dist/_members/primitives/lib/easings.d.ts +0 -27
  273. package/dist/_members/primitives/lib/palette.d.ts +0 -22
  274. package/dist/_members/primitives/lib/preview.d.ts +0 -22
  275. package/dist/_members/primitives/lib/schema.d.ts +0 -36
  276. package/dist/_members/primitives/lib/seeded-random.d.ts +0 -23
  277. package/dist/_members/primitives/lib/text/contrast.d.ts +0 -17
  278. package/dist/_members/primitives/lib/text/fill.d.ts +0 -5
  279. package/dist/_members/primitives/lib/text/fitText.d.ts +0 -37
  280. package/dist/_members/primitives/lib/text/marker.d.ts +0 -10
  281. package/dist/_members/primitives/lib/text/motion.d.ts +0 -46
  282. package/dist/_members/primitives/lib/text/recolor.d.ts +0 -11
  283. package/dist/_members/primitives/lib/text/spec.d.ts +0 -39
  284. package/dist/_members/primitives/lib/text/stage.d.ts +0 -17
  285. package/dist/_members/primitives/lib/text/typeface.d.ts +0 -11
  286. package/dist/_members/primitives/lib/tokens.d.ts +0 -87
  287. package/dist/_members/primitives/lib/types.d.ts +0 -141
  288. package/dist/_members/primitives/scenes/changelog-bite/index.d.ts +0 -12
  289. package/dist/_members/primitives/scenes/hero-device-assemble/index.d.ts +0 -8
  290. package/dist/_members/primitives/scenes/landing-code-showcase/index.d.ts +0 -8
  291. package/dist/_members/primitives/scenes/live-code-compilation/index.d.ts +0 -8
  292. package/dist/_members/primitives/scenes/pricing-tier-focus/index.d.ts +0 -8
  293. package/dist/_members/primitives/scenes/product-launch-trailer/index.d.ts +0 -8
  294. package/dist/_members/primitives/scenes/terminal-to-browser-deploy/index.d.ts +0 -8
  295. package/dist/_members/primitives/subject-foreground/SubjectForeground.d.ts +0 -38
  296. package/dist/_members/primitives/subject-foreground/index.d.ts +0 -21
  297. package/dist/_members/primitives/text/blur-reveal/index.d.ts +0 -9
  298. package/dist/_members/primitives/text/cinematic-title/index.d.ts +0 -14
  299. package/dist/_members/primitives/text/inline-highlight/index.d.ts +0 -11
  300. package/dist/_members/primitives/text/karaoke/index.d.ts +0 -13
  301. package/dist/_members/primitives/text/kinetic-type/index.d.ts +0 -15
  302. package/dist/_members/primitives/text/lower-third/index.d.ts +0 -14
  303. package/dist/_members/primitives/text/marker-highlight/index.d.ts +0 -10
  304. package/dist/_members/primitives/text/masked-slide-reveal/index.d.ts +0 -8
  305. package/dist/_members/primitives/text/matrix-decode/index.d.ts +0 -9
  306. package/dist/_members/primitives/text/quote-card/index.d.ts +0 -9
  307. package/dist/_members/primitives/text/rgb-glitch-text/index.d.ts +0 -13
  308. package/dist/_members/primitives/text/shimmer-sweep/index.d.ts +0 -10
  309. package/dist/_members/primitives/text/slot-machine-roll/index.d.ts +0 -8
  310. package/dist/_members/primitives/text/staggered-fade-up/index.d.ts +0 -12
  311. package/dist/_members/primitives/text/stat-counter/index.d.ts +0 -13
  312. package/dist/_members/primitives/text/strikethrough-replace/index.d.ts +0 -9
  313. package/dist/_members/primitives/text/text-effect/index.d.ts +0 -17
  314. package/dist/_members/primitives/text/text-fade-replace/index.d.ts +0 -8
  315. package/dist/_members/primitives/text/token-stream/index.d.ts +0 -11
  316. package/dist/_members/primitives/text/tracking-in/index.d.ts +0 -8
  317. package/dist/_members/primitives/text/typewriter/index.d.ts +0 -12
  318. package/dist/_members/primitives/transitions/chromatic-aberration-wipe/index.d.ts +0 -11
  319. package/dist/_members/primitives/transitions/code-diff-wipe/index.d.ts +0 -8
  320. package/dist/_members/primitives/transitions/directional-wipe/index.d.ts +0 -10
  321. package/dist/_members/primitives/transitions/frosted-glass-wipe/index.d.ts +0 -10
  322. package/dist/_members/primitives/transitions/glitch-cut/index.d.ts +0 -3
  323. package/dist/_members/primitives/transitions/grid-pixelate-wipe/index.d.ts +0 -14
  324. package/dist/_members/primitives/transitions/ink-wipe/index.d.ts +0 -3
  325. package/dist/_members/primitives/transitions/kinetic-type-mask/index.d.ts +0 -12
  326. package/dist/_members/primitives/transitions/light-leak/index.d.ts +0 -3
  327. package/dist/_members/primitives/transitions/luma-matte/index.d.ts +0 -2
  328. package/dist/_members/primitives/transitions/morph/index.d.ts +0 -2
  329. package/dist/_members/primitives/transitions/spatial-push/index.d.ts +0 -10
  330. package/dist/_members/primitives/transitions/swipe-transition-wipe/index.d.ts +0 -13
  331. package/dist/_members/primitives/transitions/zoom-through/index.d.ts +0 -2
  332. package/dist/_members/primitives/transitions/zoom-through-transition/index.d.ts +0 -9
  333. package/dist/_members/primitives/ui-blocks/ai-generate-overlay/index.d.ts +0 -8
  334. package/dist/_members/primitives/ui-blocks/ai-generation-canvas/index.d.ts +0 -8
  335. package/dist/_members/primitives/ui-blocks/badge-pop/index.d.ts +0 -11
  336. package/dist/_members/primitives/ui-blocks/before-after-slider/index.d.ts +0 -11
  337. package/dist/_members/primitives/ui-blocks/benchmark-bars/index.d.ts +0 -11
  338. package/dist/_members/primitives/ui-blocks/bounding-box-selector/index.d.ts +0 -8
  339. package/dist/_members/primitives/ui-blocks/browser-flow/index.d.ts +0 -8
  340. package/dist/_members/primitives/ui-blocks/brush-stroke-simulator/index.d.ts +0 -18
  341. package/dist/_members/primitives/ui-blocks/chat-exchange/index.d.ts +0 -10
  342. package/dist/_members/primitives/ui-blocks/code-accordion/index.d.ts +0 -8
  343. package/dist/_members/primitives/ui-blocks/context-meter/index.d.ts +0 -11
  344. package/dist/_members/primitives/ui-blocks/cursor-flow/index.d.ts +0 -11
  345. package/dist/_members/primitives/ui-blocks/dashboard-populate/index.d.ts +0 -8
  346. package/dist/_members/primitives/ui-blocks/data-flow-pipes/index.d.ts +0 -9
  347. package/dist/_members/primitives/ui-blocks/device-mockup-zoom/index.d.ts +0 -8
  348. package/dist/_members/primitives/ui-blocks/drag-and-drop-flow/index.d.ts +0 -8
  349. package/dist/_members/primitives/ui-blocks/eval-scorecard/index.d.ts +0 -11
  350. package/dist/_members/primitives/ui-blocks/glass-code-block/index.d.ts +0 -8
  351. package/dist/_members/primitives/ui-blocks/image-expand-to-fullscreen/index.d.ts +0 -8
  352. package/dist/_members/primitives/ui-blocks/metric-gauge/index.d.ts +0 -12
  353. package/dist/_members/primitives/ui-blocks/morphing-modal/index.d.ts +0 -8
  354. package/dist/_members/primitives/ui-blocks/pipeline-journey/index.d.ts +0 -8
  355. package/dist/_members/primitives/ui-blocks/progress-steps/index.d.ts +0 -8
  356. package/dist/_members/primitives/ui-blocks/reasoning-trace/index.d.ts +0 -10
  357. package/dist/_members/primitives/ui-blocks/simulated-cursor/index.d.ts +0 -8
  358. package/dist/_members/primitives/ui-blocks/terminal-simulator/index.d.ts +0 -19
  359. package/dist/_members/primitives/ui-blocks/toast-notification/index.d.ts +0 -8
  360. package/dist/_members/primitives/ui-blocks/tool-call-stack/index.d.ts +0 -8
  361. package/dist/_members/primitives/ui-blocks/tool-menu-slide-in/index.d.ts +0 -8
  362. package/dist/_members/primitives/ui-blocks/visual-docs-snippet/index.d.ts +0 -8
  363. package/dist/_members/primitives/ui-blocks/voice-waveform/index.d.ts +0 -11
  364. package/dist/_members/primitives/workspace.d.ts +0 -29
  365. package/dist/_members/render-harness/browserOptions.d.ts +11 -0
  366. package/dist/_members/render-harness/browserOptions.d.ts.map +1 -0
  367. package/dist/_members/render-harness/cardRender.d.ts +0 -40
  368. package/dist/_members/render-harness/cardRender.d.ts.map +1 -1
  369. package/dist/_members/render-harness/contractRender.d.ts +0 -16
  370. package/dist/_members/render-harness/contractRender.d.ts.map +1 -1
  371. package/dist/_members/render-harness/extractSegments.d.ts +0 -37
  372. package/dist/_members/render-harness/extractSegments.d.ts.map +1 -1
  373. package/dist/_members/render-harness/index.d.ts +0 -12
  374. package/dist/_members/render-harness/index.d.ts.map +1 -1
  375. package/dist/_members/render-harness/localRender.d.ts +1 -110
  376. package/dist/_members/render-harness/localRender.d.ts.map +1 -1
  377. package/dist/_members/render-harness/materializeSources.d.ts +0 -22
  378. package/dist/_members/render-harness/materializeSources.d.ts.map +1 -1
  379. package/dist/_members/render-harness/mediaServer.d.ts +0 -16
  380. package/dist/_members/render-harness/mediaServer.d.ts.map +1 -1
  381. package/dist/_members/render-harness/renderInputAssets.d.ts +0 -45
  382. package/dist/_members/render-harness/renderInputAssets.d.ts.map +1 -1
  383. package/dist/_members/render-harness/resolveAssets.d.ts +0 -24
  384. package/dist/_members/render-harness/resolveAssets.d.ts.map +1 -1
  385. package/dist/_members/render-harness/sandboxGlobalSpecs.d.ts +0 -14
  386. package/dist/_members/render-harness/sandboxGlobalSpecs.d.ts.map +1 -1
  387. package/dist/account-model/validators.js +1 -1
  388. package/dist/account-model.js +1 -1
  389. package/dist/animate.js +0 -15
  390. package/dist/authoring/build-tools.js +8 -8
  391. package/dist/authoring/composer.js +0 -20
  392. package/dist/authoring/context.js +6 -6
  393. package/dist/authoring/pipelineTrace.js +1 -1
  394. package/dist/authoring/prompts.js +1 -1
  395. package/dist/authoring/resource-routing.js +1 -1
  396. package/dist/authoring/resources.js +1 -1
  397. package/dist/authoring/tools.js +7 -7
  398. package/dist/authoring.js +14 -80
  399. package/dist/{chunk-TWQOKKAF.js → chunk-23HFEKV7.js} +0 -6
  400. package/dist/{chunk-EA6MYCYW.js → chunk-2B5VJZHL.js} +14 -25
  401. package/dist/chunk-73DQTUWY.js +131 -0
  402. package/dist/{chunk-HI4UTTPS.js → chunk-AO744WIK.js} +1 -43
  403. package/dist/chunk-BADZHXLR.js +0 -0
  404. package/dist/{chunk-GA23TRNR.js → chunk-BKHGL4MB.js} +5 -13
  405. package/dist/{chunk-PDYO3DOJ.js → chunk-BZZTVOGG.js} +6 -55
  406. package/dist/{chunk-AP6ZIVAV.js → chunk-CAJQ7H5A.js} +17 -17
  407. package/dist/{chunk-7FO3ZJ43.js → chunk-DCVJWGIA.js} +1 -9
  408. package/dist/{chunk-AQBREB5O.js → chunk-DWLNPNC4.js} +1 -4
  409. package/dist/{chunk-SW336CJP.js → chunk-DYZE7JZA.js} +3 -26
  410. package/dist/{chunk-HCCBDJLW.js → chunk-EP2Y6M2J.js} +0 -4
  411. package/dist/{chunk-ZE76SSRT.js → chunk-FMODQD5P.js} +0 -6
  412. package/dist/chunk-FTVZF4GO.js +0 -0
  413. package/dist/{chunk-PMY24FUD.js → chunk-G5BFI32U.js} +1 -1
  414. package/dist/{chunk-LD5ZOUFT.js → chunk-GF52TW4I.js} +0 -4
  415. package/dist/{chunk-ABL557OT.js → chunk-GMD33ZD7.js} +1 -8
  416. package/dist/{chunk-ZWMV6DD2.js → chunk-ICSZF37W.js} +10 -162
  417. package/dist/chunk-IEXAKOEX.js +113 -0
  418. package/dist/{chunk-UY4SWJVE.js → chunk-K2IUBCND.js} +0 -12
  419. package/dist/chunk-LJ5W4ZBU.js +146 -0
  420. package/dist/chunk-LLUW26BS.js +255 -0
  421. package/dist/{chunk-JJ6XD7NG.js → chunk-PIURX6IZ.js} +70 -2
  422. package/dist/{chunk-MMEJ3Y7E.js → chunk-QETYXKQQ.js} +1 -10
  423. package/dist/{chunk-YX2GSJK7.js → chunk-RP4SXXLJ.js} +1 -1
  424. package/dist/{chunk-P727GZVO.js → chunk-SAMQUUO5.js} +3 -5
  425. package/dist/{chunk-RF7U3SCL.js → chunk-TD347SSX.js} +3 -11
  426. package/dist/{chunk-TOJEXFXL.js → chunk-TFGKUWHY.js} +1 -88
  427. package/dist/{chunk-UHGSZZDI.js → chunk-TPA6PYN2.js} +1 -11
  428. package/dist/{chunk-OLFOPQCA.js → chunk-UQSOS726.js} +4 -18
  429. package/dist/{chunk-GBRNYH7W.js → chunk-V24L35GM.js} +0 -11
  430. package/dist/{chunk-MBCXCJOE.js → chunk-VFMW3JUY.js} +1 -1
  431. package/dist/{chunk-DK2ODBNT.js → chunk-VHF66LCQ.js} +16 -98
  432. package/dist/{chunk-JMURQODM.js → chunk-VZ7TYX6Z.js} +0 -1
  433. package/dist/{chunk-SIGGQRY2.js → chunk-W3SIWT7J.js} +5030 -4412
  434. package/dist/{chunk-W35ZMOXB.js → chunk-WPZKOVYF.js} +0 -5
  435. package/dist/chunk-WZH57M53.js +494 -0
  436. package/dist/{chunk-AYVJXDLB.js → chunk-XHGZ2E77.js} +0 -2
  437. package/dist/{chunk-HY3RIEZW.js → chunk-XQ72DZKJ.js} +1 -1
  438. package/dist/{chunk-7DHP4ESU.js → chunk-YLDMAZZE.js} +0 -10
  439. package/dist/{chunk-FYZVH3MC.js → chunk-YQ7FFW3G.js} +0 -11
  440. package/dist/chunk-ZPLJ24OV.js +93 -0
  441. package/dist/cloud-import/multipart.js +1 -1
  442. package/dist/cloud-import.js +9 -16
  443. package/dist/compose/renderer.js +18 -18
  444. package/dist/compose.js +21 -21
  445. package/dist/composition/audio.js +1 -1
  446. package/dist/composition/brand-kit.js +0 -5
  447. package/dist/composition/graphics-plan.js +4 -4
  448. package/dist/composition/ops.js +5 -5
  449. package/dist/composition/primitive-catalog.js +1 -1
  450. package/dist/composition/projection.js +11 -3
  451. package/dist/composition/reframe/kenBurns.js +0 -4
  452. package/dist/composition/reframe.js +4 -2
  453. package/dist/composition/timeline.js +1 -1
  454. package/dist/composition/validators/graphic-kinds.js +1 -1
  455. package/dist/composition/validators.js +4 -4
  456. package/dist/composition-ops.js +16 -135
  457. package/dist/composition.js +15 -7
  458. package/dist/context-JLLU3MYD.js +14 -0
  459. package/dist/core/render.js +9 -7
  460. package/dist/core/select.js +2 -6
  461. package/dist/core.js +5 -7
  462. package/dist/director/ai-sdk.d.ts +1 -0
  463. package/dist/director/ai-sdk.js +33 -0
  464. package/dist/director/domain.d.ts +1 -0
  465. package/dist/director/domain.js +62 -0
  466. package/dist/director/testing.d.ts +1 -0
  467. package/dist/director/testing.js +22 -0
  468. package/dist/director.d.ts +1 -0
  469. package/dist/director.js +86 -0
  470. package/dist/errors.js +1 -1
  471. package/dist/foundation.js +1 -0
  472. package/dist/mcp/adapter.js +4 -64
  473. package/dist/mcp/core.js +1 -1
  474. package/dist/mcp/curation.js +1 -1
  475. package/dist/mcp/server.js +4 -4
  476. package/dist/mcp.js +4 -4
  477. package/dist/media-model/generation.d.ts +1 -0
  478. package/dist/media-model/generation.js +40 -0
  479. package/dist/media-model.js +38 -6
  480. package/dist/nle-export.js +21 -21
  481. package/dist/plane/contract.js +0 -3
  482. package/dist/primitives/backgrounds.js +2 -2
  483. package/dist/primitives/captions.js +0 -5
  484. package/dist/primitives/effects.js +2 -2
  485. package/dist/primitives/hero-text.js +2 -2
  486. package/dist/primitives/layouts.js +2 -2
  487. package/dist/primitives/lib/index.js +17 -17
  488. package/dist/primitives/lib/text/fitText.js +1 -1
  489. package/dist/primitives/lib/tokens.js +1 -1
  490. package/dist/primitives/lib.js +17 -17
  491. package/dist/primitives/scenes.js +2 -2
  492. package/dist/primitives/text.js +2 -2
  493. package/dist/primitives/ui-blocks.js +4 -4
  494. package/dist/primitives.js +21 -21
  495. package/dist/render-harness/sandboxGlobalSpecs.js +1 -1
  496. package/dist/render-harness.js +24 -41
  497. package/package.json +37 -21
  498. package/dist/chunk-6EQXLEP6.js +0 -194
  499. package/dist/chunk-OCFDUCF4.js +0 -504
  500. package/dist/chunk-PODIYN2K.js +0 -742
  501. package/dist/context-YWUZDG5X.js +0 -14
@@ -1,85 +1,14 @@
1
- /**
2
- * vcam/requiredRegion.ts — every focus mode's per-frame target, lowered into a
3
- * `RequiredRegion`: the SOURCE-NORMALIZED box the crop window MUST contain.
4
- *
5
- * Phase 3 of the virtual-camera redesign (brain spec
6
- * 2026-06-21-virtual-camera-reframe-design.md, "Every focus mode lowers to a
7
- * RequiredRegion" + "Virtual-camera stability"). A RequiredRegion is the padded
8
- * subject/group extent (subject box + headroom pad). `cameraPath` then enforces
9
- * the INCLUSION INVARIANT: the crop always contains the RequiredRegion ⇒ the
10
- * subject can never walk out of frame.
11
- *
12
- * This is a REPRESENTATION, not a behavior change for the modes that already
13
- * work: `face` lowers its single per-frame subject box; `point` a zero-size rect
14
- * at the authored location; `frame-center` the center rect. Only `all-faces`
15
- * gains tracking — its region is the per-frame framed-group union box from
16
- * `subjectSet` (hysteresis-filtered), so the camera follows a moving group.
17
- *
18
- * Pure, deterministic, no I/O. All boxes are source-normalized `[x1,y1,x2,y2]`
19
- * ∈ [0,1]; `REGION_PAD` is a fraction of the source dimension (the geometry is
20
- * source-normalized — the deadzone in `cameraPath` is the output-crop-normalized
21
- * hold band, a separate stage).
22
- */
23
1
  import type { Center, NormBox } from './subjectSet.js';
24
- /** The padded box the crop must contain, as a center+size — the unit the
25
- * camera-path solver consumes. Source-normalized: `cx,cy` ∈ [0,1], `w,h` the
26
- * fraction of the source the region spans (already padded). */
27
2
  export interface RequiredRegion {
28
3
  cx: number;
29
4
  cy: number;
30
- /** Padded region width as a fraction of source width. */
31
5
  w: number;
32
- /** Padded region height as a fraction of source height. */
33
6
  h: number;
34
7
  }
35
- /** Pad a source-normalized box on every side by `pad` (clamped to [0,1]) and
36
- * express it as a `RequiredRegion` (center + padded size). A zero-area box (a
37
- * `point` target) yields a zero-size padded region at the point. */
38
8
  export declare function padBox(box: NormBox, pad?: number): RequiredRegion;
39
- /** A zero-size RequiredRegion at a single point (the `point` mode target, or any
40
- * centroid-only target with no extent). Padded so a point still carries a small
41
- * margin the crop must contain. */
42
9
  export declare function pointRegion(c: Center, pad?: number): RequiredRegion;
43
- /** The frame-center RequiredRegion — a zero-size region at source center. The
44
- * crop centering on it is a no-op (the window is already centerable), so this
45
- * preserves `frame-center`'s `[0.5,0.5]` behavior exactly. */
46
10
  export declare function centerRegion(): RequiredRegion;
47
- /**
48
- * Lower a per-frame series of source-normalized union boxes (e.g. `all-faces`'s
49
- * per-frame framed-group box from `subjectSet.perFrameBoxes`) into per-frame
50
- * RequiredRegions. A null box (no framed member present — occlusion / gap) →
51
- * null region; `cameraPath` forward-fills the last in-shot region across the
52
- * gap (so the camera holds, not snaps to center, during a brief occlusion).
53
- */
54
11
  export declare function regionsFromBoxes(boxes: Array<NormBox | null>, pad?: number): Array<RequiredRegion | null>;
55
- /**
56
- * Lower a per-frame series of centroid-only targets (the `face` /
57
- * `active-speaker` per-frame center) into zero-size RequiredRegions. These modes
58
- * carry a single subject point, not a measured box, in the crop-center path —
59
- * lowering to a padded point keeps their framing (the camera points at the
60
- * subject) while giving `cameraPath` a region to include. A null center (subject
61
- * absent this frame) → null region (forward-filled by `cameraPath`).
62
- */
63
12
  export declare function regionsFromCenters(centers: Array<Center | null>, pad?: number): Array<RequiredRegion | null>;
64
- /**
65
- * Outlier-robust median filter on a region series within a SHOT (radius `r`
66
- * frames). Single-frame detector/ReID spikes — a crowd ReID flicker that
67
- * teleports the box across the frame for one frame, then snaps back — would
68
- * otherwise yank the camera (the chase, re-skinned). A short median on
69
- * cx/cy/w/h rejects them while tracking a clean multi-frame walk (an order
70
- * statistic, lag-free on a monotone pan). The window is clamped to the shot
71
- * (never reads past a cut). Null entries are skipped in the window (a present
72
- * spike isn't outvoted by absent frames). Identity for r < 1.
73
- */
74
13
  export declare function medianFilterRegions(regions: Array<RequiredRegion | null>, r: number, shotStart: number, shotEnd: number): Array<RequiredRegion | null>;
75
- /**
76
- * Build the canonical per-frame RequiredRegions for an `all-faces` segment from
77
- * the per-frame framed-group union boxes (`subjectSet.perFrameBoxes`): pad each
78
- * box, then outlier-reject single-frame spikes per shot. This is THE region the
79
- * camera is obliged to contain AND the region the eval measures inclusion
80
- * against — one source of truth, so the gate is honest (the camera is judged on
81
- * the same temporally-coherent region it frames). `interiorCuts` are the segment-
82
- * local shot boundaries (median windows never cross a cut). `fps` sizes the
83
- * median radius. Null boxes (occlusion) stay null (forward-filled by cameraPath).
84
- */
85
14
  export declare function buildRequiredRegions(boxes: Array<NormBox | null>, fps: number, interiorCuts: Iterable<number>, pad?: number): Array<RequiredRegion | null>;
@@ -1,45 +1,5 @@
1
- /**
2
- * vcam/shots.ts — shot segmentation, the SOLE cut source.
3
- *
4
- * Phase 1 of the virtual-camera redesign (brain spec
5
- * 2026-06-21-virtual-camera-reframe-design.md, "Shot/segment handling"):
6
- * cuts come ONLY from the detector's `track.shotBoundaries` (HSV hard cuts),
7
- * NEVER inferred from a face-center jump. The deleted `isJump`-as-cut inference
8
- * is the false-cut snap (the 1.6-frame-widths/sec teleport) — structurally
9
- * impossible once the only reset is a real detector boundary.
10
- *
11
- * Two scopes the selection math must NOT conflate:
12
- * - **Identity scope = the authored segment** (cross-shot). A tracker id is
13
- * stable within a shot; the same person is followed across cuts. The
14
- * `MIN_SUBJECT_RESOLUTION` resolution gate lives at segment granularity.
15
- * - **Camera re-lock scope = the shot.** The per-shot LOCKED subject set
16
- * (quality gate) is computed per shot; deadzone / window / zoom-fit reset
17
- * at a shot boundary (the latter two land in Phase 3/5).
18
- *
19
- * Pure, deterministic, no I/O. Inputs are already segment-local frame indices
20
- * (the caller rebased the window-local `shotBoundaries` into segment offsets).
21
- */
22
- /** A half-open shot range `[start, end)` in segment-local frame indices. */
23
1
  export interface ShotRange {
24
- /** First frame of the shot (segment-local, inclusive). */
25
2
  start: number;
26
- /** One past the last frame of the shot (segment-local, exclusive). */
27
3
  end: number;
28
4
  }
29
- /**
30
- * Split `[0, segLen)` into shot ranges at the interior cut frames.
31
- *
32
- * `interiorCuts` are segment-local frame indices where a NEW shot begins — the
33
- * SAME set `deriveTrajectory` already derives (`segCuts`: window-local
34
- * `shotBoundaries` strictly inside the segment, rebased to segment offsets). A
35
- * cut at frame `c` ends the prior shot at `c` and starts the next at `c`.
36
- *
37
- * Legacy tracks with no `shotBoundaries` → no interior cuts → ONE shot covering
38
- * the whole segment (the safe hold). `shot_boundaries_missing` is NOT thrown —
39
- * a one-shot segment is a legal, documented outcome, never a degrade.
40
- *
41
- * Out-of-range / duplicate / unsorted cuts are tolerated: cuts are sorted,
42
- * deduped, and clamped to `(0, segLen)`; zero-length spans are dropped. A
43
- * segment of length 0 yields no shots.
44
- */
45
5
  export declare function segmentShots(interiorCuts: Iterable<number>, segLen: number): ShotRange[];
@@ -1,106 +1,21 @@
1
- /**
2
- * vcam/subjectSet.ts — the CHASE KILLER (Phase 2).
3
- *
4
- * The `all-faces` failure is the per-frame area-weighted centroid of EVERY
5
- * detected face: any transient face (a crowd extra, a ByteTrack fragment, a
6
- * background head) yanks the centroid, so the camera ping-pongs (the "chase").
7
- * This module selects a STABLE subject set and frames the GROUP smoothly,
8
- * beating a static center crop on jitter — the headline behavioral fix.
9
- *
10
- * Mode-isolated: this is consulted ONLY for the `all-faces` path in
11
- * `deriveSegment`. `face` / `point` / `frame-center` / `active-speaker` keep
12
- * their existing selection verbatim.
13
- *
14
- * Pipeline (brain spec 2026-06-21-virtual-camera-reframe-design.md, "Subject-of
15
- * -interest selection"):
16
- * 1. Per-shot LOCKED subject set (quality gate) — size-aware drop, NOT a flat
17
- * persistence gate, so a dominant late entrant is kept and a transient
18
- * small face is dropped.
19
- * 2. Identity scope = the authored SEGMENT: union the per-shot locked sets →
20
- * the segment candidate pool; rank by segment-wide dominance; take top-K.
21
- * 3. Per-frame set-MEMBERSHIP hysteresis over the pool (add/drop debounce) so
22
- * a member flickering at the gate boundary doesn't toggle the framing.
23
- * 4. Emit, PER FRAME, the area-weighted centroid + union bbox over the framed
24
- * members PRESENT this frame. The centroid is the raw crop target; the box
25
- * is the RequiredRegion source. Transient entries/exits can't yank the
26
- * camera (they're gated out of the framed set), but the framed group's own
27
- * motion IS followed — Phase 3's deadzone + Hamming window in `cameraPath`
28
- * turn this per-frame target into a held-then-glide path, so a walking
29
- * subject stays in frame (the camera tracks) without chasing micro-jitter.
30
- * (Phase 2 held this target static, which kept a moving subject framed only
31
- * while it stayed near the centroid; Phase 3 lets the hold glide to re-
32
- * contain the subject when it walks.)
33
- *
34
- * The per-subject `face_box_series` the floor reads is produced UNCHANGED by
35
- * `perSubjectSeries` — this module only chooses WHERE the camera points.
36
- */
37
1
  import type { FaceBox } from '../../../perception/index.js';
38
- /** A normalized crop center `[cx, cy]` in [0,1] vs source dims. */
39
2
  export type Center = [number, number];
40
- /** A source-normalized axis-aligned box `[x1, y1, x2, y2]` ∈ [0,1]. */
41
3
  export type NormBox = [number, number, number, number];
42
- /** The selection result for one segment's `all-faces` path. */
43
4
  export interface SubjectSetResult {
44
- /** Per-frame crop target (the basis for `centers`). For `all-faces` this is
45
- * the per-frame framed-group centroid — the basis Phase 3's cameraPath
46
- * smooths into a tracking glide. (Phase 2 held it static; Phase 3 lets the
47
- * camera follow a walking subject because this now varies per frame.) */
48
5
  centers: Center[];
49
- /** Per-frame UNION bbox of the framed members PRESENT this frame (after the
50
- * membership hysteresis), source-normalized `[x1,y1,x2,y2]`, or null when no
51
- * framed member is present (occlusion / between-shot gap). This is the
52
- * RequiredRegion source: Phase 3 lowers it to the padded box the crop must
53
- * contain so the subject can never walk out of frame. */
54
6
  perFrameBoxes: Array<NormBox | null>;
55
- /** The tracker ids chosen as the framed set (top-K by dominance). For
56
- * diagnostics / the per-subject floor series (which is produced separately
57
- * but lists the SAME framed ids). Empty when no face survives the gate. */
58
7
  framedIds: string[];
59
- /** How many frames the framed set was present in (≥1 member) — feeds the
60
- * segment-level resolution accounting (so `all-faces` on a faceless clip
61
- * center-holds, the documented outcome, rather than throwing). */
62
8
  resolvedFrames: number;
63
9
  }
64
- /**
65
- * Select the stable subject set for an `all-faces` segment and emit the per-
66
- * frame crop target. Pure over the segment-local slice.
67
- *
68
- * Empty locked set (no face survives the gate — a faceless / crowd-only clip) →
69
- * center-hold (`[0.5,0.5]` every frame), a DEFINED outcome, never a throw
70
- * (per spec fail-loud invariants).
71
- */
72
10
  export declare function selectSubjectSet(perFrameTracked: Array<Record<string, FaceBox>>, srcW: number, srcH: number, fps: number, perKeyframeSpeaker: Map<number, string>, interiorCuts: Iterable<number>): SubjectSetResult;
73
- /** How the single chosen subject is resolved per frame. `authoredFaceId` is the
74
- * agent's `face` pick (a `face-N` id); `null` means active-speaker (resolve via
75
- * the per-keyframe speaker, then degrade to the largest face). */
76
11
  export type SingleSubjectPick = {
77
12
  kind: 'face';
78
13
  authoredFaceId: string;
79
14
  } | {
80
15
  kind: 'active-speaker';
81
16
  };
82
- /** The per-frame chosen-subject box series for a `topK=1` segment (face /
83
- * active-speaker). The box is the chosen subject's source-normalized extent
84
- * `[x1,y1,x2,y2]`, or null when the chosen subject is absent this frame
85
- * (occlusion / between-shot gap) — `cameraPath` forward-fills the last in-shot
86
- * region across a brief gap and center-holds a shot with no subject at all. */
87
17
  export interface SingleSubjectResult {
88
- /** Per-frame chosen-subject box (source-normalized) or null when absent. */
89
18
  perFrameBoxes: Array<NormBox | null>;
90
- /** How many frames the chosen subject was actually resolved (a non-null box) —
91
- * feeds the `MIN_SUBJECT_RESOLUTION` fail-loud gate for an authored `face`. */
92
19
  resolvedFrames: number;
93
20
  }
94
- /**
95
- * The `topK=1` subjects adapter for `face` / `active-speaker`. Per frame, resolve
96
- * the single chosen subject and emit its source-normalized box. Pure over the
97
- * segment-local slice.
98
- *
99
- * - `face` (authored id): the box of that STABLE tracker id this frame; absent →
100
- * null (no silent snap to a different person — the roster rule). The empty /
101
- * non-`face-` sentinel id resolves to the largest face (legacy callers).
102
- * - `active-speaker`: the box of the per-keyframe speaker pick when tracked this
103
- * frame; otherwise the largest face this frame (the ASD degrade, mirror of
104
- * `deriveSegment`'s active-speaker path).
105
- */
106
21
  export declare function selectSingleSubjectBoxes(perFrameTracked: Array<Record<string, FaceBox>>, srcW: number, srcH: number, perKeyframeSpeaker: Map<number, string>, pick: SingleSubjectPick, nearestSpeaker: (frame: number) => string | null): SingleSubjectResult;
@@ -1,27 +1,2 @@
1
- /**
2
- * select/errorCodes.ts — the Selector error vocabulary, as VALUES.
3
- *
4
- * Every code the Selector core / adapters / lowerings can throw (now or in a
5
- * later phase) is listed here as a literal value, and the registry-membership CI
6
- * test (`__tests__/selectorErrorRegistry.test.ts`) imports THIS list and asserts
7
- * each exists in `@cueframe/errors`'s `ERROR_CODES`. Importing the codes as VALUES
8
- * (not grepping literals) means a template/variable code can't slip past — an
9
- * unregistered code would make the CFERR decode fall back to `internal_error` and
10
- * 500 (the `clip_source_track_mismatch` landmine).
11
- *
12
- * Phase 1 (this phase) registers all of these even though only the CORE codes
13
- * (`selector_signal_absent`, `selector_override_conflict`) are thrown today; the
14
- * adapter/lowering codes (`selector_timebase_undefined`, `selector_group_unsynced`,
15
- * `selector_segment_out_of_media`) are thrown by the Phase-2 switch adapters and
16
- * are registered now so they can never 500 when that phase lands. Phase 3
17
- * (active-speaker) adds `selector_speaking_double_count` — the structural double-
18
- * count guard (§11-L5): weighting both `activeSpeaker` and `speaking` fails loud.
19
- * Phase 6 (cross-source identity) adds `selector_identity_detector_version_mismatch`
20
- * — a `lockPersonId` match over a STALE-detector-version embedding fails loud (the
21
- * 3-stamp lesson: a person-lock cosine over embeddings from a different
22
- * `DETECTOR_VERSION` than the reference is meaningless; refuse rather than guess).
23
- */
24
- /** The error codes the Selector layer is allowed to throw. Each MUST be a row in
25
- * `@cueframe/errors` `ERROR_CODES` (asserted in CI). */
26
1
  export declare const SELECTOR_ERROR_CODES: readonly ["selector_signal_absent", "selector_override_conflict", "selector_timebase_undefined", "selector_group_unsynced", "selector_segment_out_of_media", "selector_speaking_double_count", "selector_identity_detector_version_mismatch"];
27
2
  export type SelectorErrorCode = (typeof SELECTOR_ERROR_CODES)[number];
@@ -1,27 +1,7 @@
1
- /**
2
- * @cueframe/core/select — the durable Selector core (selector-abstraction spec).
3
- *
4
- * The candidate-agnostic data model + the ~40-line `select()` scoring contract +
5
- * the per-kind `stabilize` seam. Reframe is its first instance (the subjects
6
- * adapter lives in `render/vcam/subjectSet.ts`, which calls `scoreAndRank` +
7
- * `stabilizeSelectionHysteresis` and lowers via the sealed `cameraPath`).
8
- *
9
- * Switch (Phase 2) is the second instance — same core, new candidate adapter +
10
- * the incumbent-challenger/presence-gate stabilizers + the cut/overlay lowering.
11
- */
12
1
  export type { SignalKey, Signal, CandidateSignals, Candidate, CandidateTimebase, CoreCandidate, WhenClause, EligibilityClause, SelectorRule, OverrideSpan, SelectorPolicy, Chosen, CandidateScore, PacingNote, SelectorSegment, Advisory, } from './model.js';
13
2
  export { HOLD } from './model.js';
14
3
  export { select, scoreAndRank, type SelectOptions } from './select.js';
15
4
  export { stabilizeSelectionHysteresis, stabilizeIncumbentChallenger, stabilizePresenceGate, cameraPath, type StabilizerKind, type SelectionHysteresisParams, type SelectionHysteresisResult, type IncumbentChallengerParams, type IncumbentChallengerResult, type SuppressedSwitch, type PresenceGateParams, type PresenceWindow, type CropWindow, } from './stabilize.js';
16
5
  export { SELECTOR_ERROR_CODES, type SelectorErrorCode } from './errorCodes.js';
17
- /** The default prominence weights — vcam's `DOMINANCE_WEIGHTS`, re-exported as the
18
- * canonical "dominant-subject" `policy.weights` for the SCORE combinator. The
19
- * switch instance's video-on-prominence path uses these directly (spec §9.1 P2 —
20
- * "video-switch on prominence = vcam dominance, exists"); reframe uses the same
21
- * constant. Re-exporting it here keeps the scoring default in the select surface.
22
- * (This import is in index.ts, NOT select.ts — the rot-guard scans select.ts.) */
23
6
  export { DOMINANCE_WEIGHTS } from '../render/vcam/constants.js';
24
- /** The Selector engine version (spec §8). DISTINCT from BAKE_VERSION (the crop
25
- * lowering stamp) and the per-signal stamps. Bump when the scoring/stabilizer
26
- * math changes in a way that changes the Advisory for fixed inputs. */
27
7
  export declare const SELECTOR_VERSION = "selector-core-v1-2026.06.21";
@@ -1,57 +1,17 @@
1
- /**
2
- * select/model.ts — the candidate-agnostic data model for the Selector core.
3
- *
4
- * Four nouns (selector-abstraction spec §1): Candidate, Signal, SelectorPolicy,
5
- * Advisory. The CORE (`select.ts`) scores over these and reads ONLY `candidateId`,
6
- * `Signal.value/confidence`, and `policy` — NEVER `Candidate.kind`,
7
- * `Candidate.timebase`, or any geometry (the §8 rot-guard, enforced by a test AND
8
- * by `select()` receiving a projected `CoreCandidate`, not the full `Candidate`).
9
- *
10
- * Plain TS (no zod): the core package has no zod dependency and the vcam math it
11
- * generalizes is plain TS. The spec's zod schemas describe the SHAPE; the fail-
12
- * loud invariants live in `select.ts` as explicit guards (no silent fallbacks —
13
- * `feedback_never_add_fallbacks`).
14
- */
15
- /** The canonical sparse signal keys (selector-abstraction spec §1.2). Adding a
16
- * signal = add a key + a provider + a weight; the CORE never changes. Reframe
17
- * populates the geometric/instantaneous set; switch populates a DISJOINT set
18
- * (L3 — shared container + combinator, not a shared vocabulary). There is NO
19
- * `prominence` key: prominence is the SCORE, not a signal (§2/L5). */
20
1
  export type SignalKey = 'size' | 'centrality' | 'persistence' | 'speaking' | 'activeSpeaker' | 'audioEnergy' | 'audioQuality' | 'topicRelevance' | 'scriptCue' | 'reaction' | 'visualQuality' | 'screenActivity' | 'energyBeat';
21
- /** A per-candidate, per-moment ABSOLUTE calibrated scalar from a pluggable
22
- * provider (spec §1.2). Sparse — an unmeasured signal is ABSENT (the key is
23
- * missing), never zero. `value` is source-INDEPENDENT, NEVER softmax-across-
24
- * candidates (G9). */
25
2
  export interface Signal {
26
- /** ABSOLUTE, calibrated, source-independent ∈ [0,1]. */
27
3
  value: number;
28
- /** Pre-calibration raw, for legibility + recalibration audits. */
29
4
  rawScore?: number;
30
- /** ∈ [0,1]; default 1. Scales the weighted contribution. */
31
5
  confidence?: number;
32
- /** Reasons-only ("speaking 0.91, 2 faces"); EXCLUDED from every hash. */
33
6
  evidence?: string;
34
7
  }
35
- /** The sparse signal envelope for one candidate at one moment. Only relevant
36
- * providers populate a key; an absent key means NOT MEASURED. */
37
8
  export type CandidateSignals = Partial<Record<SignalKey, Signal>>;
38
- /** A selectable entity over time (spec §1.1). `kind`/`timebase`/`mediaId` are
39
- * read ONLY by adapters (candidate-building, continuity, lowering), NEVER by the
40
- * core. `candidateId` is STABLE + OPAQUE; an unknown id is rejected downstream,
41
- * never remapped. */
42
9
  export interface Candidate {
43
10
  candidateId: string;
44
- /** Read ONLY by adapters, NEVER by the core (the rot-guard invariant). */
45
11
  kind: 'subject' | 'source' | 'broll';
46
- /** Time mapping onto the SHARED grid. The adapter resolves every timebase onto
47
- * the grid BEFORE the core scores, so the core treats time as already-aligned
48
- * and never reads `timebase.mode` (L4). */
49
12
  timebase: CandidateTimebase;
50
- /** Agent-declared semantic tag ("wide"/"screen"/"webcam"/"library"). */
51
13
  role?: string;
52
- /** source/broll resolve to a MediaClipSource at author time. */
53
14
  mediaId?: string;
54
- /** Agent-legible; EXCLUDED from every hash. */
55
15
  label?: string;
56
16
  }
57
17
  export type CandidateTimebase = {
@@ -64,20 +24,10 @@ export type CandidateTimebase = {
64
24
  sourceInSec: number;
65
25
  sourceOutSec: number;
66
26
  };
67
- /** The projection the CORE actually receives — `select()` is typed against THIS,
68
- * not the full `Candidate`, so it STRUCTURALLY cannot read `kind`/`timebase`/
69
- * geometry (the rot-guard is a type, not a hope; spec §8). The adapter does the
70
- * projection. */
71
27
  export interface CoreCandidate {
72
- /** OPAQUE stable id — the ONLY candidate field the core may read. */
73
28
  id: string;
74
- /** Per-moment sparse signals over the timeline grid. `signals[t]` is the
75
- * envelope at grid tick `t`. */
76
29
  signals: CandidateSignals[];
77
30
  }
78
- /** A declarative clause over a candidate's signals/role at a moment (eligibility
79
- * + rules). An eligibility gate is AND-of-clauses; a candidate failing it is not
80
- * scorable that moment (spec §1.3). */
81
31
  export interface WhenClause {
82
32
  signal?: SignalKey;
83
33
  gte?: number;
@@ -96,73 +46,45 @@ export interface SelectorRule {
96
46
  boost?: number;
97
47
  force?: boolean;
98
48
  };
99
- /** EXCLUDED from hash. */
100
49
  intent?: string;
101
50
  }
102
- /** A hard span pin (override ladder tier 0). */
103
51
  export interface OverrideSpan {
104
52
  startSec: number;
105
53
  endSec: number;
106
54
  candidateId: string;
107
55
  }
108
- /** The director's taste + stabilizer knobs (spec §1.3). `weights` is
109
- * `DOMINANCE_WEIGHTS` made agent-supplied; `topK` selects a membership set
110
- * (>1 = reframe set, 1 = switch pick). */
111
56
  export interface SelectorPolicy {
112
- /** sparse; THE taste knob. Σ weights·signal. */
113
57
  weights: Partial<Record<SignalKey, number>>;
114
- /** absolute per-signal floor → `__hold__` below it. */
115
58
  floor?: Partial<Record<SignalKey, number>>;
116
- /** multi-signal AND/OR gate (NOT a per-signal floor — §2 passesGate). */
117
59
  eligibility?: EligibilityClause[];
118
- /** declarative "prefer X when Y". */
119
60
  rules?: SelectorRule[];
120
- /** 1 = pick one; >1 = membership set (reframe top-K). */
121
61
  topK: number;
122
- /** the OVERRIDE LADDER — ONE ordered eval (spec §1.4 step 1). */
123
62
  overrides?: OverrideSpan[];
124
- /** HONEST: pin a CAMERA/candidate (NOT a person). */
125
63
  lockSourceId?: string;
126
- /** null until cross-source identity ships. */
127
64
  lockPersonId?: string | null;
128
- /** free-text; EXCLUDED from hash. */
129
65
  intent?: string;
130
66
  }
131
- /** The held/abstain sentinel — first-class, not a magic empty (spec §1.4 step 3).
132
- * Lowers per kind: sources → stay on incumbent/primary, no cut; subjects →
133
- * center-hold the crop. */
134
67
  export declare const HOLD: "__hold__";
135
68
  export type Chosen = string | typeof HOLD;
136
69
  export interface CandidateScore {
137
70
  candidateId: string;
138
71
  score: number;
139
- /** signalKey → weighted contribution (legibility — the agent reweights from
140
- * evidence). */
141
72
  contributions: Partial<Record<SignalKey, number>>;
142
73
  }
143
- /** Which ladder tier / mechanism produced the choice (legibility). */
144
74
  export type PacingNote = 'argmax' | 'min-hold' | 'cooldown' | 'hysteresis' | 'gate-snap' | 'rule' | 'override' | 'lock' | 'hold';
145
75
  export interface SelectorSegment {
146
76
  startSec: number;
147
77
  endSec: number;
148
- /** candidateId | abstain. */
149
78
  chosen: Chosen;
150
- /** topK>1 membership set (reframe; the lowering unions it). */
151
79
  alsoChosen: string[];
152
- /** sorted desc by score. */
153
80
  perCandidateScores: CandidateScore[];
154
81
  reasons: string[];
155
82
  pacingNote?: PacingNote;
156
83
  }
157
- /** The DERIVED, read-only advisory (spec §1.4). Keyed to envelope+policy, NEVER
158
- * to the authored composition; never auto-applied. */
159
84
  export interface Advisory {
160
85
  advisoryVersion: 1;
161
86
  selectorVersion: string;
162
- /** non-overlapping, tile the timeline. */
163
87
  segments: SelectorSegment[];
164
- /** discrete-instance surfacing only (continuous instances leave empty +
165
- * populate holdSpans). Phase 2 (switch). */
166
88
  suppressedSwitches: Array<{
167
89
  atSec: number;
168
90
  wouldHaveBeenCandidateId: string;
@@ -170,7 +92,6 @@ export interface Advisory {
170
92
  blockedBy: string;
171
93
  releaseAtSec: number;
172
94
  }>;
173
- /** continuous-instance deadzone holds (reframe). */
174
95
  holdSpans: Array<{
175
96
  startSec: number;
176
97
  endSec: number;
@@ -1,59 +1,10 @@
1
- /**
2
- * select/select.ts — THE durable Selector core (~40 lines of selection logic).
3
- *
4
- * `select(candidates, policy, opts) → Advisory`: a candidate-agnostic
5
- * `score → stabilize-selection → advise` contract (selector-abstraction spec
6
- * §1.4). It is the generalization of vcam's `dominance()` ranking (§2): a
7
- * weighted-sum combinator + an eligibility-gate predicate + topK membership + a
8
- * first-class `__hold__`/abstain + the override ladder + reasons surfacing.
9
- *
10
- * THE ROT-GUARD (spec §8, the most important invariant): this module reads ONLY
11
- * `CoreCandidate.id`, `CandidateSignals[*].value/confidence`, and `policy` — it
12
- * NEVER references `Candidate.kind`, `Candidate.timebase`, or any geometry. It is
13
- * typed against `CoreCandidate` (id + signals), NOT the full `Candidate`, so the
14
- * adapter MUST do the projection and the core STRUCTURALLY cannot branch on kind.
15
- * A structural test (`__tests__/rotGuard.test.ts`) asserts this module imports no
16
- * geometry/kind types and references none of those fields.
17
- *
18
- * The selection STABILIZER (continuity over time) is NOT here — it is a per-kind
19
- * seam (`stabilize.ts`): `select()` produces the per-moment scored advisory; the
20
- * stabilizer (selection-hysteresis | geometric-deadzone | …) is dispatched per
21
- * kind by the adapter. This split is L1 of the spec, stated honestly.
22
- *
23
- * Pure, deterministic. No I/O, no Date.now, no Map-order reads in the math.
24
- */
25
1
  import type { CoreCandidate, SelectorPolicy, SignalKey, CandidateScore, SelectorSegment } from './model.js';
26
2
  export interface SelectOptions {
27
- /** Grid tick length in seconds — each tick `t` becomes one [t·dt,(t+1)·dt)
28
- * micro-segment before the stabilizer coalesces. */
29
3
  dtSec: number;
30
- /** Number of grid ticks (the timeline length). */
31
4
  ticks: number;
32
5
  selectorVersion: string;
33
6
  }
34
- /**
35
- * The core selection over an already-aligned grid. Produces a per-TICK scored
36
- * advisory (one `SelectorSegment` per tick, tiling the timeline). The per-kind
37
- * stabilizer (`stabilize.ts`) then coalesces ticks under hysteresis/deadzone and
38
- * surfaces holds — this function is the SCORE half only.
39
- *
40
- * Override ladder (spec §1.4 step 1, ONE ordered evaluation):
41
- * tier 0 overrides[] (hard span pin) > tier 1 lock* > tier 2 force rule >
42
- * tier 3 weighted score + eligibility + floor/__hold__.
43
- * A SAME-TIER conflict (two overlapping overrides, or two firing force rules at
44
- * one tick) FAILS LOUD (`selector_override_conflict` — the Gap.strict() lesson).
45
- */
46
7
  export declare function select(candidates: CoreCandidate[], policy: SelectorPolicy, opts: SelectOptions): SelectorSegment[];
47
- /**
48
- * The shared scoring COMBINATOR as a pure ONE-SHOT ranking primitive — the
49
- * durable `Σ weights·signal` win (spec §2). Both the per-tick `select()` (switch)
50
- * and the reframe's segment-wide pool ranking call this, so there is ONE scoring
51
- * implementation. `weightKeys` is the CALLER's iteration order: the reframe
52
- * subjects adapter passes `{size,centrality,persistence,speaking}` in vcam's
53
- * `DOMINANCE_WEIGHTS` order, so the float sum is byte-identical to `dominance()`.
54
- *
55
- * Reads ONLY `id` + `signals.value/confidence` + `weights` — the rot-guard holds.
56
- */
57
8
  export declare function scoreAndRank(candidates: Array<{
58
9
  id: string;
59
10
  signals: Partial<Record<SignalKey, {