@neta-art/cohub 10.0.0 → 11.1.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.
- package/README.md +42 -7
- package/dist/board/editor/animation.d.ts +3 -0
- package/dist/board/editor/animation.js +16 -1
- package/dist/board/editor/clipboard.js +7 -0
- package/dist/board/editor/copy.js +23 -18
- package/dist/board/editor/creation.d.ts +7 -3
- package/dist/board/editor/creation.js +5 -4
- package/dist/board/editor/deletion.js +3 -3
- package/dist/board/editor/document.d.ts +8 -2
- package/dist/board/editor/document.js +54 -7
- package/dist/board/editor/editor.d.ts +22 -7
- package/dist/board/editor/editor.js +12 -2
- package/dist/board/editor/index.d.ts +2 -2
- package/dist/board/editor/interaction.d.ts +8 -2
- package/dist/board/editor/interaction.js +34 -1
- package/dist/board/editor/query.d.ts +5 -5
- package/dist/board/editor/query.js +14 -12
- package/dist/board/editor/selection.js +2 -1
- package/dist/board/editor/snapshots.d.ts +0 -2
- package/dist/board/editor/snapshots.js +4 -20
- package/dist/board/export/index.d.ts +25 -4
- package/dist/board/export/index.js +45 -12
- package/dist/board/export/node/index.d.ts +5 -4
- package/dist/board/export/node/index.js +16 -11
- package/dist/board/export/node/scripts.d.ts +16 -0
- package/dist/board/export/node/scripts.js +258 -0
- package/dist/board/export/scene.d.ts +2 -1
- package/dist/board/export/scene.js +24 -7
- package/dist/board/model/animation.d.ts +4 -1
- package/dist/board/model/animation.js +34 -7
- package/dist/board/model/authoring.d.ts +20 -0
- package/dist/board/model/authoring.js +185 -0
- package/dist/board/model/export-plan.js +1 -0
- package/dist/board/model/file-preview.js +1 -1
- package/dist/board/model/file-snapshot.js +3 -2
- package/dist/board/model/image-key.js +7 -3
- package/dist/board/model/index.d.ts +15 -7
- package/dist/board/model/index.js +16 -9
- package/dist/board/model/items/builtin.js +2 -2
- package/dist/board/model/items/create.d.ts +19 -4
- package/dist/board/model/items/create.js +130 -9
- package/dist/board/model/items/index.d.ts +2 -2
- package/dist/board/model/items/index.js +2 -2
- package/dist/board/model/media-playback.d.ts +2 -1
- package/dist/board/model/media-playback.js +15 -5
- package/dist/board/model/media.js +7 -1
- package/dist/board/model/overlay-placement.d.ts +25 -0
- package/dist/board/model/overlay-placement.js +35 -0
- package/dist/board/model/replay.d.ts +1 -1
- package/dist/board/model/replay.js +1 -0
- package/dist/board/model/sampling.d.ts +19 -0
- package/dist/board/model/sampling.js +96 -0
- package/dist/board/model/script-example.d.ts +4 -0
- package/dist/board/model/script-example.js +21 -0
- package/dist/board/model/script-hit.d.ts +27 -0
- package/dist/board/model/script-hit.js +109 -0
- package/dist/board/model/script-index.d.ts +7 -0
- package/dist/board/model/script-index.js +15 -0
- package/dist/board/model/script-observers.d.ts +18 -0
- package/dist/board/model/script-observers.js +92 -0
- package/dist/board/model/script-scene.d.ts +24 -0
- package/dist/board/model/script-scene.js +294 -0
- package/dist/board/model/script.d.ts +149 -0
- package/dist/board/model/script.js +1 -0
- package/dist/board/render/board-background.js +5 -4
- package/dist/board/render/css-color.d.ts +6 -1
- package/dist/board/render/css-color.js +34 -20
- package/dist/board/render/diagnostics.d.ts +20 -0
- package/dist/board/render/diagnostics.js +117 -0
- package/dist/board/render/index.d.ts +9 -6
- package/dist/board/render/index.js +10 -7
- package/dist/board/render/media-interaction.js +1 -1
- package/dist/board/render/palette.d.ts +2 -1
- package/dist/board/render/palette.js +6 -2
- package/dist/board/render/renderers/arrow-card-renderer.js +3 -2
- package/dist/board/render/renderers/audio-card-renderer.js +2 -1
- package/dist/board/render/renderers/board-renderer-registry.d.ts +25 -5
- package/dist/board/render/renderers/board-renderer-registry.js +11 -4
- package/dist/board/render/renderers/custom-card-renderer.d.ts +5 -0
- package/dist/board/render/renderers/{sketch-card-renderer.js → custom-card-renderer.js} +18 -16
- package/dist/board/render/renderers/draw-card-renderer.js +3 -2
- package/dist/board/render/renderers/effect-card-renderer.js +22 -5
- package/dist/board/render/renderers/frame-card-renderer.js +30 -14
- package/dist/board/render/renderers/image-card-renderer.js +43 -4
- package/dist/board/render/renderers/shape-card-renderer.js +10 -27
- package/dist/board/render/renderers/task-card-renderer.d.ts +2 -1
- package/dist/board/render/renderers/task-card-renderer.js +220 -71
- package/dist/board/render/renderers/text-card-renderer.js +5 -3
- package/dist/board/render/renderers/unknown-card-renderer.js +1 -0
- package/dist/board/render/renderers/video-card-renderer.js +2 -1
- package/dist/board/render/sampling.d.ts +22 -0
- package/dist/board/render/sampling.js +21 -0
- package/dist/board/render/script-export.d.ts +11 -0
- package/dist/board/render/script-export.js +86 -0
- package/dist/board/render/script-host.d.ts +31 -0
- package/dist/board/render/script-host.js +446 -0
- package/dist/board/render/script-modules.d.ts +2 -0
- package/dist/board/render/script-modules.js +2 -0
- package/dist/board/render/script-runtime.d.ts +29 -0
- package/dist/board/render/script-runtime.js +223 -0
- package/dist/board/render/script-sandbox.d.ts +4 -0
- package/dist/board/render/script-sandbox.js +173 -0
- package/dist/board/render/script-texture.d.ts +11 -0
- package/dist/board/render/script-texture.js +33 -0
- package/dist/board/render/stroke.d.ts +2 -1
- package/dist/board/render/stroke.js +22 -1
- package/dist/board/render/text-measurement.js +1 -1
- package/dist/board/stage/assets.js +7 -2
- package/dist/board/stage/maintenance.d.ts +5 -0
- package/dist/board/stage/maintenance.js +11 -0
- package/dist/board/stage/scene.d.ts +2 -0
- package/dist/board/stage/scene.js +21 -2
- package/dist/board/stage/script-pointer.d.ts +20 -0
- package/dist/board/stage/script-pointer.js +41 -0
- package/dist/board/stage/stage.d.ts +21 -3
- package/dist/board/stage/stage.js +350 -47
- package/dist/board/stage/texture-pool.js +2 -3
- package/dist/chunks/environment.d.ts +305 -27
- package/dist/chunks/environment.js +12 -4
- package/dist/chunks/host-bridge.d.ts +2 -2
- package/dist/chunks/http.d.ts +90 -7
- package/dist/chunks/http.js +157 -64
- package/dist/chunks/transport.js +4 -2
- package/dist/chunks/websocket.d.ts +9 -1
- package/dist/chunks/websocket.js +16 -2
- package/dist/host-bridge.js +2 -1
- package/dist/http.d.ts +3 -3
- package/dist/index.d.ts +182 -4
- package/dist/index.js +1559 -299
- package/dist/protocol/dist/board-assets.d.ts +1 -0
- package/dist/protocol/dist/board-constants.js +2 -2
- package/dist/protocol/dist/board-model.d.ts +236 -11
- package/dist/protocol/dist/board-model.js +46 -17
- package/dist/protocol/dist/board-patch.js +2 -1
- package/dist/protocol/dist/board-schema.d.ts +4 -2
- package/dist/protocol/dist/board-schema.js +18 -4
- package/dist/protocol/dist/board-script-modules.d.ts +25 -0
- package/dist/protocol/dist/board-script-modules.js +127 -0
- package/dist/protocol/dist/board-task.d.ts +22 -0
- package/dist/{board/model/task.js → protocol/dist/board-task.js} +34 -7
- package/dist/protocol/dist/display/index.d.ts +1 -0
- package/dist/protocol/dist/generation/blocks.d.ts +8 -0
- package/dist/{generation-blocks.js → protocol/dist/generation/blocks.js} +14 -15
- package/dist/protocol/dist/index.d.ts +7 -2
- package/dist/protocol/dist/realtime/types.d.ts +1 -0
- package/dist/protocol/dist/rtc/index.d.ts +1 -0
- package/dist/protocol/dist/task/index.d.ts +4 -0
- package/package.json +2 -1
- package/dist/board/export/node/sketch.d.ts +0 -19
- package/dist/board/export/node/sketch.js +0 -146
- package/dist/board/model/task.d.ts +0 -11
- package/dist/board/render/renderers/sketch-card-renderer.d.ts +0 -5
- package/dist/board/render/sketch-host.d.ts +0 -14
- package/dist/board/render/sketch-host.js +0 -216
- package/dist/types.d.ts +0 -36
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
//#region src/board/stage/script-pointer.ts
|
|
2
|
+
function createBoardScriptPointerRouter() {
|
|
3
|
+
const gestures = /* @__PURE__ */ new Map();
|
|
4
|
+
return {
|
|
5
|
+
needsRouting(pointerId, scriptsEnabled) {
|
|
6
|
+
return scriptsEnabled || gestures.has(pointerId);
|
|
7
|
+
},
|
|
8
|
+
owner(pointerId) {
|
|
9
|
+
const gesture = gestures.get(pointerId);
|
|
10
|
+
return gesture ? gesture.target ? "script" : "editor" : null;
|
|
11
|
+
},
|
|
12
|
+
route(phase, pointerId, target, point, cancelled = false) {
|
|
13
|
+
if (phase === "down") gestures.set(pointerId, {
|
|
14
|
+
target,
|
|
15
|
+
...point
|
|
16
|
+
});
|
|
17
|
+
const gesture = gestures.get(pointerId);
|
|
18
|
+
const recipient = gesture ? gesture.cancelled ? null : gesture.target : phase === "move" ? target : null;
|
|
19
|
+
let click = null;
|
|
20
|
+
if (phase === "up") {
|
|
21
|
+
gestures.delete(pointerId);
|
|
22
|
+
if (!cancelled && !gesture?.cancelled && gesture?.target && target?.owner === gesture.target.owner && target.target === gesture.target.target && Math.hypot(point.x - gesture.x, point.y - gesture.y) < 5) click = gesture.target;
|
|
23
|
+
}
|
|
24
|
+
return {
|
|
25
|
+
recipient,
|
|
26
|
+
click
|
|
27
|
+
};
|
|
28
|
+
},
|
|
29
|
+
cancelScripts(cancel, owner, retained) {
|
|
30
|
+
for (const [pointerId, gesture] of gestures) if (!gesture.cancelled && gesture.target && (!owner || gesture.target.owner === owner) && (!retained || !Object.hasOwn(retained, gesture.target.target))) {
|
|
31
|
+
gesture.cancelled = true;
|
|
32
|
+
cancel(pointerId, gesture.target);
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
clear() {
|
|
36
|
+
gestures.clear();
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
//#endregion
|
|
41
|
+
export { createBoardScriptPointerRouter };
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { BoardItem } from "../../protocol/dist/board-model.js";
|
|
1
|
+
import { BoardItem, BoardTaskItem } from "../../protocol/dist/board-model.js";
|
|
2
2
|
import { BoardPlaybackSnapshot } from "../../protocol/dist/board.js";
|
|
3
3
|
import "../../protocol/dist/index.js";
|
|
4
|
-
import { BoardViewport, WorldPoint } from "../model/geometry.js";
|
|
4
|
+
import { BoardViewport, Rect, WorldPoint } from "../model/geometry.js";
|
|
5
|
+
import { BoardScriptOutput, BoardScriptSnapshot } from "../model/script.js";
|
|
5
6
|
import { BoardScene, BoardSceneItem } from "../model/scene.js";
|
|
6
7
|
import { BoardShapeColors } from "../model/palette.js";
|
|
7
8
|
import { BoardAssetSource } from "../model/media-playback.js";
|
|
@@ -9,7 +10,7 @@ import "../model/index.js";
|
|
|
9
10
|
import { BoardPointerEvent } from "../editor/interaction.js";
|
|
10
11
|
import { BoardEditor } from "../editor/editor.js";
|
|
11
12
|
import "../editor/index.js";
|
|
12
|
-
import { BoardCardRendererResolver, BoardRenderPalette } from "../render/renderers/board-renderer-registry.js";
|
|
13
|
+
import { BoardCardRendererResolver, BoardRenderLabels, BoardRenderPalette } from "../render/renderers/board-renderer-registry.js";
|
|
13
14
|
import "../render/index.js";
|
|
14
15
|
import { BoardAssetManager } from "./assets.js";
|
|
15
16
|
import { BoardLiveStroke } from "./scene.js";
|
|
@@ -31,6 +32,12 @@ type BoardStageOptions = {
|
|
|
31
32
|
renderers?: BoardCardRendererResolver;
|
|
32
33
|
views?: readonly BoardItemView[];
|
|
33
34
|
theme?: () => BoardStageTheme;
|
|
35
|
+
labels?: () => BoardRenderLabels;
|
|
36
|
+
taskRun?: (taskRunId: string) => {
|
|
37
|
+
status: BoardTaskItem["props"]["snapshot"]["status"];
|
|
38
|
+
startedAt?: string;
|
|
39
|
+
} | null;
|
|
40
|
+
reducedMotion?: () => boolean;
|
|
34
41
|
playback?: () => BoardPlaybackSnapshot | null;
|
|
35
42
|
fileState?: (path: string) => "ok" | "missing" | "unavailable";
|
|
36
43
|
previews?: () => ReadonlyMap<string, BoardItem>;
|
|
@@ -47,6 +54,8 @@ type BoardStageOptions = {
|
|
|
47
54
|
height: number;
|
|
48
55
|
}) => void;
|
|
49
56
|
onVisibleChange?: (ids: ReadonlySet<string> | null) => void;
|
|
57
|
+
safeRect?: () => Rect;
|
|
58
|
+
scriptCapabilities?: Record<string, (id: string, input: unknown) => Promise<unknown>>;
|
|
50
59
|
};
|
|
51
60
|
type BoardStage = {
|
|
52
61
|
readonly ready: Promise<boolean>;
|
|
@@ -54,8 +63,17 @@ type BoardStage = {
|
|
|
54
63
|
readonly camera: BoardViewport;
|
|
55
64
|
readonly theme: BoardStageTheme;
|
|
56
65
|
setActive(active: boolean): void;
|
|
66
|
+
setScriptMode(mode: "edit" | "interact" | "paused"): void;
|
|
67
|
+
resetScripts(): void;
|
|
68
|
+
invalidateScript(path: string): void;
|
|
69
|
+
scriptError(id: string): string | null;
|
|
70
|
+
scriptOutput(id: string): BoardScriptOutput | null;
|
|
71
|
+
snapshotScripts(): Promise<Record<string, BoardScriptSnapshot>>;
|
|
72
|
+
restoreScript(id: string, snapshot: BoardScriptSnapshot): void;
|
|
73
|
+
subscribeScripts(listener: () => void): () => void;
|
|
57
74
|
invalidate(options?: {
|
|
58
75
|
cards?: boolean;
|
|
76
|
+
items?: Iterable<string>;
|
|
59
77
|
}): void;
|
|
60
78
|
isMaterialized(id: string): boolean;
|
|
61
79
|
toWorld(clientX: number, clientY: number): WorldPoint;
|