@neta-art/cohub 8.23.0 → 9.0.0

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 (159) hide show
  1. package/dist/board/animation.d.ts +57 -181
  2. package/dist/board/animation.js +374 -220
  3. package/dist/board/core/arrow-geometry.d.ts +33 -18
  4. package/dist/board/core/arrow-geometry.js +283 -52
  5. package/dist/board/core/draw-geometry.d.ts +22 -36
  6. package/dist/board/core/draw-geometry.js +148 -85
  7. package/dist/board/core/export-assets.d.ts +3 -6
  8. package/dist/board/core/export-assets.js +0 -2
  9. package/dist/board/core/export-plan.d.ts +12 -63
  10. package/dist/board/core/export-plan.js +55 -94
  11. package/dist/board/core/palette.d.ts +4 -21
  12. package/dist/board/core/palette.js +8 -13
  13. package/dist/board/core/scene.d.ts +33 -0
  14. package/dist/board/core/scene.js +302 -0
  15. package/dist/board/core/shape-definition.d.ts +12 -24
  16. package/dist/board/core/shape-definition.js +0 -19
  17. package/dist/board/core/shape-types.d.ts +6 -120
  18. package/dist/board/core/shape-types.js +5 -5
  19. package/dist/board/core/text-metrics.d.ts +8 -11
  20. package/dist/board/core/text-metrics.js +5 -34
  21. package/dist/board/core/tool-styles.d.ts +6 -16
  22. package/dist/board/core/tool-styles.js +17 -25
  23. package/dist/board/export/index.d.ts +10 -17
  24. package/dist/board/export/index.js +22 -21
  25. package/dist/board/export/scene.d.ts +10 -16
  26. package/dist/board/export/scene.js +17 -30
  27. package/dist/board/geometry.d.ts +27 -56
  28. package/dist/board/geometry.js +7 -67
  29. package/dist/board/headless/index.d.ts +7 -27
  30. package/dist/board/headless/index.js +20 -19
  31. package/dist/board/headless/sketch.d.ts +19 -0
  32. package/dist/board/headless/sketch.js +146 -0
  33. package/dist/board/image-key.d.ts +2 -12
  34. package/dist/board/image-key.js +3 -13
  35. package/dist/board/index.d.ts +18 -20
  36. package/dist/board/index.js +17 -17
  37. package/dist/board/media-playback.d.ts +3 -6
  38. package/dist/board/media-playback.js +6 -6
  39. package/dist/board/presets.d.ts +150 -0
  40. package/dist/board/presets.js +226 -0
  41. package/dist/board/render/board-background.d.ts +5 -3
  42. package/dist/board/render/board-background.js +8 -7
  43. package/dist/board/render/clip.d.ts +14 -0
  44. package/dist/board/render/clip.js +47 -0
  45. package/dist/board/render/index.d.ts +8 -5
  46. package/dist/board/render/index.js +7 -4
  47. package/dist/board/render/media-interaction.d.ts +4 -5
  48. package/dist/board/render/media-interaction.js +1 -2
  49. package/dist/board/render/palette.d.ts +6 -2
  50. package/dist/board/render/palette.js +7 -1
  51. package/dist/board/render/renderers/arrow-card-renderer.js +69 -71
  52. package/dist/board/render/renderers/audio-card-renderer.js +3 -3
  53. package/dist/board/render/renderers/base-card-renderer.d.ts +6 -17
  54. package/dist/board/render/renderers/base-card-renderer.js +1 -24
  55. package/dist/board/render/renderers/board-renderer-registry.d.ts +20 -50
  56. package/dist/board/render/renderers/board-renderer-registry.js +6 -7
  57. package/dist/board/render/renderers/draw-card-renderer.js +89 -56
  58. package/dist/board/render/renderers/effect-card-renderer.d.ts +6 -0
  59. package/dist/board/render/renderers/effect-card-renderer.js +197 -0
  60. package/dist/board/render/renderers/far-plate.d.ts +4 -21
  61. package/dist/board/render/renderers/far-plate.js +15 -34
  62. package/dist/board/render/renderers/file-card-renderer.d.ts +4 -25
  63. package/dist/board/render/renderers/file-card-renderer.js +8 -58
  64. package/dist/board/render/renderers/frame-card-renderer.js +28 -28
  65. package/dist/board/render/renderers/image-card-renderer.d.ts +4 -3
  66. package/dist/board/render/renderers/image-card-renderer.js +0 -9
  67. package/dist/board/render/renderers/shape-card-renderer.d.ts +9 -0
  68. package/dist/board/render/renderers/shape-card-renderer.js +240 -0
  69. package/dist/board/render/renderers/sketch-card-renderer.d.ts +5 -0
  70. package/dist/board/render/renderers/sketch-card-renderer.js +98 -0
  71. package/dist/board/render/renderers/task-card-renderer.d.ts +0 -1
  72. package/dist/board/render/renderers/task-card-renderer.js +14 -16
  73. package/dist/board/render/renderers/text-card-renderer.d.ts +1 -3
  74. package/dist/board/render/renderers/text-card-renderer.js +56 -46
  75. package/dist/board/render/renderers/unknown-card-renderer.js +4 -10
  76. package/dist/board/render/renderers/video-card-renderer.d.ts +4 -2
  77. package/dist/board/render/renderers/video-card-renderer.js +2 -1
  78. package/dist/board/render/sketch-host.d.ts +14 -0
  79. package/dist/board/render/sketch-host.js +216 -0
  80. package/dist/board/render/stroke.d.ts +12 -0
  81. package/dist/board/render/stroke.js +90 -0
  82. package/dist/board/render/text-measurement.d.ts +6 -26
  83. package/dist/board/render/text-measurement.js +11 -30
  84. package/dist/board/replay.d.ts +6 -31
  85. package/dist/board/replay.js +45 -203
  86. package/dist/board/runtime/board-player.d.ts +24 -0
  87. package/dist/board/runtime/board-player.js +161 -0
  88. package/dist/board/task.d.ts +2 -10
  89. package/dist/board/task.js +1 -10
  90. package/dist/chunks/environment.d.ts +2296 -3864
  91. package/dist/chunks/host-bridge.d.ts +253 -0
  92. package/dist/chunks/http.d.ts +238 -58
  93. package/dist/chunks/http.js +1061 -1034
  94. package/dist/chunks/transport.js +113 -59
  95. package/dist/chunks/websocket.d.ts +1 -1
  96. package/dist/chunks/websocket.js +1 -1
  97. package/dist/host-bridge.d.ts +54 -0
  98. package/dist/host-bridge.js +322 -0
  99. package/dist/http.d.ts +3 -3
  100. package/dist/index.d.ts +76 -193
  101. package/dist/index.js +2037 -1191
  102. package/dist/protocol/dist/board-constants.d.ts +1 -29
  103. package/dist/protocol/dist/board-constants.js +2 -115
  104. package/dist/protocol/dist/board-layout.d.ts +59 -0
  105. package/dist/protocol/dist/board-layout.js +482 -0
  106. package/dist/protocol/dist/board-model.d.ts +2052 -0
  107. package/dist/protocol/dist/board-model.js +592 -0
  108. package/dist/protocol/dist/board-patch.d.ts +86 -0
  109. package/dist/protocol/dist/board-patch.js +734 -0
  110. package/dist/protocol/dist/board-schema.d.ts +33 -0
  111. package/dist/protocol/dist/board-schema.js +59 -0
  112. package/dist/protocol/dist/board-upgrade.d.ts +1 -0
  113. package/dist/protocol/dist/board-url.d.ts +1 -3
  114. package/dist/protocol/dist/board-url.js +2 -2
  115. package/dist/protocol/dist/board.d.ts +37 -232
  116. package/dist/protocol/dist/board.js +62 -160
  117. package/dist/protocol/dist/display/actions.d.ts +1 -0
  118. package/dist/protocol/dist/display/index.d.ts +2 -0
  119. package/dist/protocol/dist/index.d.ts +11 -12
  120. package/dist/protocol/dist/model/metrics.d.ts +2 -0
  121. package/dist/protocol/dist/model/session.d.ts +2 -1
  122. package/dist/protocol/dist/realtime/types.d.ts +2 -2
  123. package/dist/protocol/dist/runtime/index.d.ts +1 -0
  124. package/dist/space-picker.d.ts +1 -0
  125. package/dist/space-picker.js +1 -0
  126. package/dist/types.d.ts +2 -5
  127. package/package.json +9 -1
  128. package/dist/board/core/connections.d.ts +0 -108
  129. package/dist/board/core/connections.js +0 -455
  130. package/dist/board/mutation.d.ts +0 -6
  131. package/dist/board/mutation.js +0 -14
  132. package/dist/board/render/connection-layer.d.ts +0 -53
  133. package/dist/board/render/connection-layer.js +0 -375
  134. package/dist/board/render/renderers/geo-card-renderer.d.ts +0 -5
  135. package/dist/board/render/renderers/geo-card-renderer.js +0 -127
  136. package/dist/board/semantic-document.d.ts +0 -37
  137. package/dist/board/semantic-document.js +0 -288
  138. package/dist/board/semantic-mutation.d.ts +0 -10
  139. package/dist/board/semantic-mutation.js +0 -209
  140. package/dist/protocol/dist/board-animation.js +0 -34
  141. package/dist/protocol/dist/board-authoring.d.ts +0 -1326
  142. package/dist/protocol/dist/board-authoring.js +0 -302
  143. package/dist/protocol/dist/board-capability-registry.d.ts +0 -2
  144. package/dist/protocol/dist/board-capability-registry.js +0 -123
  145. package/dist/protocol/dist/board-codec.d.ts +0 -3
  146. package/dist/protocol/dist/board-codec.js +0 -383
  147. package/dist/protocol/dist/board-composition.d.ts +0 -383
  148. package/dist/protocol/dist/board-composition.js +0 -310
  149. package/dist/protocol/dist/board-connection.d.ts +0 -317
  150. package/dist/protocol/dist/board-connection.js +0 -219
  151. package/dist/protocol/dist/board-document.d.ts +0 -1566
  152. package/dist/protocol/dist/board-document.js +0 -456
  153. package/dist/protocol/dist/board-effect.d.ts +0 -96
  154. package/dist/protocol/dist/board-effect.js +0 -54
  155. package/dist/protocol/dist/board-geometry.d.ts +0 -15
  156. package/dist/protocol/dist/board-geometry.js +0 -137
  157. package/dist/protocol/dist/board-node.d.ts +0 -8
  158. package/dist/protocol/dist/board-node.js +0 -252
  159. /package/dist/protocol/dist/{board-animation.d.ts → host-bridge.d.ts} +0 -0
@@ -1,191 +1,67 @@
1
- import { BoardCapability, BoardRenderCost } from "../protocol/dist/board-constants.js";
2
- import { BoardAnimationTarget, BoardComposition, BoardEasing, BoardProceduralClip, BoardTimelineMarker, BoardTrack, BoardTrackInterpolation } from "../protocol/dist/board-composition.js";
3
- import { BoardAssetRef, BoardEffect } from "../protocol/dist/board-effect.js";
4
- import { BoardDiagnostic, BoardValidationResult } from "../protocol/dist/board.js";
1
+ import { BoardAnimationHeader, BoardColor, BoardDocument, BoardItem, BoardVec2 } from "../protocol/dist/board-model.js";
2
+ import { BoardValueKind } from "../protocol/dist/board-patch.js";
5
3
  import "../protocol/dist/index.js";
6
4
  //#region src/board/animation.d.ts
7
- type CompositionInput = Omit<BoardComposition, "revision"> & {
8
- revision?: number;
9
- };
10
- type TrackInput = Omit<BoardTrack, "channelVersion" | "metadata"> & {
11
- channelVersion?: number;
12
- metadata?: Record<string, unknown>;
13
- };
14
- type ProceduralClipInput = Omit<BoardProceduralClip, "kindVersion" | "layer" | "fill" | "easing" | "params" | "assetRefs" | "metadata"> & {
15
- kindVersion?: number;
16
- layer?: BoardProceduralClip["layer"];
17
- fill?: BoardProceduralClip["fill"];
18
- easing?: BoardEasing;
19
- params?: Record<string, unknown>;
20
- assetRefs?: BoardAssetRef[];
21
- metadata?: Record<string, unknown>;
5
+ type BoardEaseFunction = (progress: number) => number;
6
+ declare function boardEase(ease: string | undefined): BoardEaseFunction;
7
+ declare function boardAnimationTime(header: Pick<BoardAnimationHeader, "duration" | "delay" | "loop" | "end" | "play">, elapsed: number): number | null;
8
+ type Kind = BoardValueKind;
9
+ type CompiledTrack = {
10
+ id: string;
11
+ animationId: string;
12
+ target: string;
13
+ property: string;
14
+ path: readonly string[];
15
+ kind: Kind;
16
+ multiplicative: boolean;
17
+ composite: "replace" | "add";
18
+ spline: boolean;
19
+ step: boolean;
20
+ orient: boolean;
21
+ times: Float64Array;
22
+ values: readonly unknown[];
23
+ eases: readonly BoardEaseFunction[];
24
+ start: number;
22
25
  };
23
- declare function track(input: TrackInput): BoardTrack;
24
- declare function proceduralClip(input: ProceduralClipInput): BoardProceduralClip;
25
- declare function composition(input: CompositionInput): BoardComposition;
26
- declare function compileComposition(input: {
26
+ type CompiledAnimation = {
27
27
  id: string;
28
- name: string;
29
- duration: number;
30
- tracks?: TrackInput[];
31
- clips?: ProceduralClipInput[];
32
- markers?: BoardTimelineMarker[];
33
- playback?: BoardComposition["playback"];
34
- metadata?: Record<string, unknown>;
35
- }): BoardComposition;
36
- type SampledTrack = {
37
- target: BoardAnimationTarget;
38
- channel: string;
39
- value: unknown;
28
+ header: BoardAnimationHeader;
29
+ tracks: readonly CompiledTrack[];
30
+ children: readonly CompiledTrack[];
40
31
  };
41
- declare function sampleEasing(easing: BoardEasing, value: number): number;
42
- /** Deterministically sample one validated Track without touching scene state. */
43
- declare function sampleTrack(trackValue: BoardTrack, time: number): SampledTrack | null;
44
- declare function sampleCompositionTracks(value: BoardComposition, time: number): SampledTrack[];
45
- type RenderBounds = {
46
- x: number;
47
- y: number;
48
- width: number;
49
- height: number;
32
+ type CompiledBoardAnimations = {
33
+ readonly animations: ReadonlyMap<string, CompiledAnimation>;
34
+ readonly order: readonly string[];
35
+ readonly document: BoardDocument;
50
36
  };
51
- type QualityProfile = "low" | "medium" | "high";
52
- type BoardExtensionDefinition = BoardCapability & {
53
- validate?: (params: Record<string, unknown>) => BoardDiagnostic[];
54
- getBounds?: (params: Record<string, unknown>) => RenderBounds | null;
55
- getAssetRefs?: (params: Record<string, unknown>) => BoardAssetRef[];
56
- estimateCost: (params: Record<string, unknown>, profile: QualityProfile) => Partial<BoardRenderCost>;
37
+ declare function compileBoardAnimations(document: BoardDocument): CompiledBoardAnimations;
38
+ type BoardColorResolver = (color: BoardColor) => number | null;
39
+ declare function parseHexColor(color: BoardColor): number | null;
40
+ declare function sampleBoardTrack(track: CompiledTrack, time: number, resolveColor?: BoardColorResolver): unknown;
41
+ type BoardCameraOverride = {
42
+ focus?: string | {
43
+ x: number;
44
+ y: number;
45
+ width: number;
46
+ height: number;
47
+ };
48
+ zoom?: number;
49
+ center?: BoardVec2;
50
+ shake?: number;
57
51
  };
58
- type BoardPresetDefinition = BoardCapability & {
59
- kind: "preset";
60
- compile: (params: Record<string, unknown>) => BoardComposition;
52
+ type BoardEvaluation = {
53
+ items: ReadonlyMap<string, BoardItem>;
54
+ camera: BoardCameraOverride;
55
+ times: ReadonlyMap<string, number>;
61
56
  };
62
- declare const DEFAULT_BOARD_LIMITS: BoardRenderCost;
63
- declare class BoardExtensionRegistry {
64
- #private;
65
- constructor();
66
- register(definition: BoardExtensionDefinition | BoardPresetDefinition): this;
67
- capabilities(): BoardCapability[];
68
- compilePreset(id: string, version: number, params: Record<string, unknown>): {
69
- id: string;
70
- name: string;
71
- timeline: {
72
- duration: number;
73
- tracks: {
74
- id: string;
75
- target: {
76
- type: "item";
77
- itemId: string;
78
- } | {
79
- type: "effect";
80
- effectId: string;
81
- } | {
82
- type: "camera";
83
- } | {
84
- type: "board";
85
- };
86
- channel: string;
87
- channelVersion: number;
88
- interpolation: "linear" | "step";
89
- fill: "backwards" | "both" | "forwards" | "none";
90
- keyframes: {
91
- time: number;
92
- value: unknown;
93
- easing?: "ease-in-cubic" | "ease-in-out-cubic" | "ease-in-out-quad" | "ease-in-quad" | "ease-out-cubic" | "ease-out-expo" | "ease-out-quad" | "ease-out-quart" | "linear" | undefined;
94
- }[];
95
- metadata: Record<string, unknown>;
96
- }[];
97
- clips: {
98
- id: string;
99
- kind: string;
100
- kindVersion: number;
101
- target: {
102
- type: "item";
103
- itemId: string;
104
- } | {
105
- type: "effect";
106
- effectId: string;
107
- } | {
108
- type: "camera";
109
- } | {
110
- type: "board";
111
- };
112
- start: number;
113
- duration: number;
114
- layer: "behind" | "content" | "front" | "screen";
115
- fill: "backwards" | "both" | "forwards" | "none";
116
- easing: "ease-in-cubic" | "ease-in-out-cubic" | "ease-in-out-quad" | "ease-in-quad" | "ease-out-cubic" | "ease-out-expo" | "ease-out-quad" | "ease-out-quart" | "linear";
117
- params: Record<string, unknown>;
118
- assetRefs: {
119
- type: "extension" | "space-file";
120
- ref: string;
121
- digest?: string | undefined;
122
- }[];
123
- seed: string;
124
- metadata: Record<string, unknown>;
125
- }[];
126
- markers: {
127
- id: string;
128
- time: number;
129
- duration?: number | undefined;
130
- metadata: Record<string, unknown>;
131
- }[];
132
- };
133
- playback: {
134
- loop: boolean;
135
- endBehavior: "hold" | "reset";
136
- reducedMotion: {
137
- mode: "base";
138
- } | {
139
- mode: "time";
140
- time: number;
141
- } | {
142
- mode: "marker";
143
- markerId: string;
144
- };
145
- };
146
- metadata: Record<string, unknown>;
147
- revision: number;
148
- };
149
- validate(input: {
150
- composition: BoardComposition;
151
- effects?: Array<Omit<BoardEffect, "boardId" | "revision">>;
152
- profile?: QualityProfile;
153
- limits?: BoardRenderCost;
154
- }): BoardValidationResult;
155
- }
156
- declare function createBoardExtensionRegistry(): BoardExtensionRegistry;
157
- declare const BOARD_CHANNELS: {
158
- readonly "transform.translation": {
159
- readonly targets: readonly ["item"];
160
- readonly value: import("zod").ZodObject<{
161
- x: import("zod").ZodNumber;
162
- y: import("zod").ZodNumber;
163
- }, import("zod/v4/core").$strict>;
164
- readonly interpolations: readonly ["linear", "step"];
165
- readonly coordinateSpace: "world-offset";
166
- readonly unit: "board";
167
- };
168
- readonly "transform.rotation": {
169
- readonly targets: readonly ["item"];
170
- readonly value: import("zod").ZodNumber;
171
- readonly interpolations: readonly ["linear", "step"];
172
- readonly unit: "radian";
173
- };
174
- readonly "transform.scale": {
175
- readonly targets: readonly ["item"];
176
- readonly value: import("zod").ZodUnion<readonly [import("zod").ZodNumber, import("zod").ZodObject<{
177
- x: import("zod").ZodNumber;
178
- y: import("zod").ZodNumber;
179
- }, import("zod/v4/core").$strict>]>;
180
- readonly interpolations: readonly ["linear", "step"];
181
- readonly unit: "ratio";
182
- };
183
- readonly "style.opacity": {
184
- readonly targets: readonly ["item"];
185
- readonly value: import("zod").ZodNumber;
186
- readonly interpolations: readonly ["linear", "step"];
187
- readonly unit: "ratio";
188
- };
57
+ type BoardEvaluateOptions = {
58
+ resolveColor?: BoardColorResolver;
59
+ };
60
+ declare function evaluateBoardAnimations(compiled: CompiledBoardAnimations, times: ReadonlyMap<string, number> | Readonly<Record<string, number>>, options?: BoardEvaluateOptions): BoardEvaluation;
61
+ declare function applyBoardEvaluation(document: BoardDocument, evaluation: BoardEvaluation): BoardDocument;
62
+ declare function boardDocumentAt(document: BoardDocument, animationId: string | null, time: number, options?: BoardEvaluateOptions): {
63
+ document: BoardDocument;
64
+ evaluation: BoardEvaluation;
189
65
  };
190
66
  //#endregion
191
- export { BOARD_CHANNELS, BoardExtensionDefinition, BoardExtensionRegistry, BoardPresetDefinition, type BoardTrackInterpolation, CompositionInput, DEFAULT_BOARD_LIMITS, ProceduralClipInput, QualityProfile, RenderBounds, SampledTrack, TrackInput, compileComposition, composition, createBoardExtensionRegistry, proceduralClip, sampleCompositionTracks, sampleEasing, sampleTrack, track };
67
+ export { BoardCameraOverride, BoardColorResolver, BoardEaseFunction, BoardEvaluateOptions, BoardEvaluation, CompiledAnimation, CompiledBoardAnimations, CompiledTrack, applyBoardEvaluation, boardAnimationTime, boardDocumentAt, boardEase, compileBoardAnimations, evaluateBoardAnimations, parseHexColor, sampleBoardTrack };