@editframe/react 0.47.1 → 0.48.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/LICENSE-FULL.md +148 -0
- package/LICENSE.md +58 -0
- package/dist/components/TimeDisplay.js +1 -2
- package/dist/components/TimeDisplay.js.map +1 -1
- package/dist/components/TimelineRoot.js +1 -2
- package/dist/components/TimelineRoot.js.map +1 -1
- package/dist/elements/Audio.js +1 -2
- package/dist/elements/Audio.js.map +1 -1
- package/dist/elements/Captions.js +1 -2
- package/dist/elements/Captions.js.map +1 -1
- package/dist/elements/Image.js +1 -2
- package/dist/elements/Image.js.map +1 -1
- package/dist/elements/PanZoom.js +1 -2
- package/dist/elements/PanZoom.js.map +1 -1
- package/dist/elements/Surface.js +1 -2
- package/dist/elements/Surface.js.map +1 -1
- package/dist/elements/Text.js +1 -2
- package/dist/elements/Text.js.map +1 -1
- package/dist/elements/Timegroup.js +1 -2
- package/dist/elements/Timegroup.js.map +1 -1
- package/dist/elements/Video.js +1 -2
- package/dist/elements/Video.js.map +1 -1
- package/dist/elements/Waveform.js +1 -2
- package/dist/elements/Waveform.js.map +1 -1
- package/dist/gui/Configuration.js +1 -2
- package/dist/gui/Configuration.js.map +1 -1
- package/dist/gui/Controls.js +1 -2
- package/dist/gui/Controls.js.map +1 -1
- package/dist/gui/EFDial.js +1 -2
- package/dist/gui/EFDial.js.map +1 -1
- package/dist/gui/EFResizableBox.js +1 -2
- package/dist/gui/EFResizableBox.js.map +1 -1
- package/dist/gui/EFTransformHandles.js +1 -2
- package/dist/gui/EFTransformHandles.js.map +1 -1
- package/dist/gui/Filmstrip.js +1 -2
- package/dist/gui/Filmstrip.js.map +1 -1
- package/dist/gui/FitScale.js +1 -2
- package/dist/gui/FitScale.js.map +1 -1
- package/dist/gui/FocusOverlay.js +1 -2
- package/dist/gui/FocusOverlay.js.map +1 -1
- package/dist/gui/OverlayItem.js +1 -2
- package/dist/gui/OverlayItem.js.map +1 -1
- package/dist/gui/OverlayLayer.js +1 -2
- package/dist/gui/OverlayLayer.js.map +1 -1
- package/dist/gui/Pause.js +1 -2
- package/dist/gui/Pause.js.map +1 -1
- package/dist/gui/Play.js +1 -2
- package/dist/gui/Play.js.map +1 -1
- package/dist/gui/Preview.js +1 -2
- package/dist/gui/Preview.js.map +1 -1
- package/dist/gui/Scrubber.js +2 -3
- package/dist/gui/Scrubber.js.map +1 -1
- package/dist/gui/ThumbnailStrip.js +1 -2
- package/dist/gui/ThumbnailStrip.js.map +1 -1
- package/dist/gui/TimelineRuler.js +2 -3
- package/dist/gui/TimelineRuler.js.map +1 -1
- package/dist/gui/ToggleLoop.js +1 -2
- package/dist/gui/ToggleLoop.js.map +1 -1
- package/dist/gui/TogglePlay.js +1 -2
- package/dist/gui/TogglePlay.js.map +1 -1
- package/dist/gui/TrimHandles.js +1 -2
- package/dist/gui/TrimHandles.js.map +1 -1
- package/dist/gui/Workbench.js +1 -2
- package/dist/gui/Workbench.js.map +1 -1
- package/dist/hooks/create-element.d.ts +2 -3
- package/dist/hooks/create-element.js +6 -7
- package/dist/hooks/create-element.js.map +1 -1
- package/dist/hooks/useMediaInfo.js +1 -2
- package/dist/hooks/useMediaInfo.js.map +1 -1
- package/dist/hooks/usePanZoomTransform.d.ts +0 -1
- package/dist/hooks/usePanZoomTransform.js +1 -2
- package/dist/hooks/usePanZoomTransform.js.map +1 -1
- package/dist/hooks/useRenderData.js +1 -2
- package/dist/hooks/useRenderData.js.map +1 -1
- package/dist/hooks/useTimingInfo.d.ts +2 -2
- package/dist/hooks/useTimingInfo.js +1 -2
- package/dist/hooks/useTimingInfo.js.map +1 -1
- package/dist/index.js +1 -2
- package/dist/r3f/CompositionCanvas.d.ts +2 -3
- package/dist/r3f/CompositionCanvas.js +3 -3
- package/dist/r3f/CompositionCanvas.js.map +1 -1
- package/dist/r3f/OffscreenCompositionCanvas.d.ts +2 -3
- package/dist/r3f/OffscreenCompositionCanvas.js +1 -2
- package/dist/r3f/OffscreenCompositionCanvas.js.map +1 -1
- package/dist/r3f/index.js +1 -2
- package/dist/r3f/renderOffscreen.d.ts +0 -1
- package/dist/r3f/renderOffscreen.js +4 -5
- package/dist/r3f/renderOffscreen.js.map +1 -1
- package/dist/server.js +1 -2
- package/package.json +3 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompositionCanvas.js","names":[],"sources":["../../src/r3f/CompositionCanvas.tsx"],"
|
|
1
|
+
{"version":3,"file":"CompositionCanvas.js","names":[],"sources":["../../src/r3f/CompositionCanvas.tsx"],"mappings":";;;;;AA4BA,MAAM,yBAAyB,cAG5B;CAAE,QAAQ;CAAG,YAAY;CAAG,CAAC;;;;;;;AAQhC,SAAgB,qBAAqB;AACnC,QAAO,WAAW,uBAAuB;;AAK3C,SAAS,SAAS;CAChB,MAAM,EAAE,OAAO,UAAU;AACzB,gBAAe;AACb,KAAG,YAAY,CAAC,QAAQ;GACxB;AACF,QAAO;;AAKT,SAAS,uBAAuB,EAAE,UAA8B;CAC9D,MAAM,EAAE,eAAe,UAAU;AAGjC,uBAAsB;AACpB,cAAY;IACX,CAAC,QAAQ,WAAW,CAAC;AACxB,QAAO;;AAYT,SAAgB,kBAAkB,EAChC,UACA,gBACA,oBACA,IAAI,QACJ,GAAG,eACsB;CACzB,MAAM,CAAC,QAAQ,aAAa,SAAS,EAAE;CACvC,MAAM,CAAC,YAAY,iBAAiB,SAAS,EAAE;CAC/C,MAAM,eAAe,OAAuB,KAAK;AAEjD,iBAAgB;EACd,MAAM,KAAK,aAAa;AACxB,MAAI,CAAC,GAAI;EAGT,MAAM,KAAK,GAAG,QAAQ,eAAe;AASrC,MAAI,CAAC,IAAI;AACP,WAAQ,KACN,mGAED;AACD;;AAGF,MAAI,GAAG,WAAY,eAAc,GAAG,WAAW;AAc/C,SAZgB,GAAG,gBAAgB,EAAE,kBAAkB,YAAY,UAAU;AAM3E,mBAAgB;AACd,cAAU,iBAAiB;AAC3B,kBAAc,IAAI;KAClB;IACF;IAGD,EAAE,CAAC;CAGN,MAAM,WACJ,OAAO,WAAW,WACd;EAAE,uBAAuB;EAAM,GAAG;EAAQ,GACzC,UAAU,EAAE,uBAAuB,MAAM;AAEhD,QACE,oBAAC,OAAD;EACE,KAAK;EACL,WAAW;EACX,OAAO;GACL,UAAU;GACV,OAAO;GACP,OAAO;GACP,QAAQ;GACR,GAAG;GACJ;YAED,oBAAC,QAAD;GACE,WAAU;GACV,IAAI;GASJ,QAAQ,EAAE,YAAY,MAAM;GAC5B,GAAI;GACJ,OAAO;IAAE,OAAO;IAAQ,QAAQ;IAAQ,GAAG,YAAY;IAAO;aAE9D,qBAAC,uBAAuB,UAAxB;IAAiC,OAAO;KAAE;KAAQ;KAAY;cAA9D;KACE,oBAAC,QAAD,EAAU,CAAA;KACV,oBAAC,wBAAD,EAAgC,QAAU,CAAA;KACzC;KAC+B;;GAC3B,CAAA;EACL,CAAA"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import * as React$1 from "react";
|
|
2
|
-
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
2
|
+
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
3
|
import { CanvasProps } from "@react-three/fiber";
|
|
4
4
|
|
|
5
5
|
//#region src/r3f/OffscreenCompositionCanvas.d.ts
|
|
6
|
-
|
|
7
6
|
interface OffscreenCompositionCanvasProps {
|
|
8
7
|
/** Web worker that will handle R3F rendering */
|
|
9
8
|
worker: Worker;
|
|
@@ -22,7 +21,7 @@ declare function OffscreenCompositionCanvas({
|
|
|
22
21
|
containerStyle,
|
|
23
22
|
containerClassName,
|
|
24
23
|
canvasProps
|
|
25
|
-
}: OffscreenCompositionCanvasProps): react_jsx_runtime0.JSX.Element;
|
|
24
|
+
}: OffscreenCompositionCanvasProps): _$react_jsx_runtime0.JSX.Element;
|
|
26
25
|
//#endregion
|
|
27
26
|
export { OffscreenCompositionCanvas, OffscreenCompositionCanvasProps };
|
|
28
27
|
//# sourceMappingURL=OffscreenCompositionCanvas.d.ts.map
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { useEffect, useRef, useState } from "react";
|
|
2
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { Canvas } from "@react-three/offscreen";
|
|
4
|
-
|
|
5
4
|
//#region src/r3f/OffscreenCompositionCanvas.tsx
|
|
6
5
|
function waitForBitmap(worker, requestId) {
|
|
7
6
|
return new Promise((resolve, reject) => {
|
|
@@ -113,7 +112,7 @@ function OffscreenCompositionCanvas({ worker, fallback, containerStyle, containe
|
|
|
113
112
|
})]
|
|
114
113
|
});
|
|
115
114
|
}
|
|
116
|
-
|
|
117
115
|
//#endregion
|
|
118
116
|
export { OffscreenCompositionCanvas };
|
|
117
|
+
|
|
119
118
|
//# sourceMappingURL=OffscreenCompositionCanvas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OffscreenCompositionCanvas.js","names":["OffscreenCanvas"],"sources":["../../src/r3f/OffscreenCompositionCanvas.tsx"],"
|
|
1
|
+
{"version":3,"file":"OffscreenCompositionCanvas.js","names":["OffscreenCanvas"],"sources":["../../src/r3f/OffscreenCompositionCanvas.tsx"],"mappings":";;;;AAgDA,SAAS,cAAc,QAAgB,WAAyC;AAC9E,QAAO,IAAI,SAAS,SAAS,WAAW;EACtC,MAAM,UAAU,iBAAiB;AAC/B,UAAO,oBAAoB,WAAW,QAAQ;AAC9C,0BAAO,IAAI,MAAM,0DAA0D,YAAY,CAAC;KACvF,IAAK;EAER,MAAM,WAAW,MAAoB;AACnC,OAAI,EAAE,KAAK,SAAS,mBAAmB,EAAE,KAAK,cAAc,WAAW;AACrE,iBAAa,QAAQ;AACrB,WAAO,oBAAoB,WAAW,QAAQ;AAC9C,YAAQ,EAAE,KAAK,OAAO;cACb,EAAE,KAAK,SAAS,SAAS;AAClC,iBAAa,QAAQ;AACrB,WAAO,oBAAoB,WAAW,QAAQ;AAC9C,2BAAO,IAAI,MAAM,8CAA8C,EAAE,KAAK,UAAU,CAAC;;;AAIrF,SAAO,iBAAiB,WAAW,QAAQ;GAC3C;;AAKJ,SAAgB,2BAA2B,EACzC,QACA,UACA,gBACA,oBACA,eACkC;CAClC,MAAM,eAAe,OAAuB,KAAK;CACjD,MAAM,mBAAmB,OAA0B,KAAK;CACxD,MAAM,CAAC,YAAY,iBAAiB,SAAS;EAAE,OAAO;EAAG,QAAQ;EAAG,CAAC;AAIrE,iBAAgB;EACd,MAAM,YAAY,aAAa;AAC/B,MAAI,CAAC,UAAW;EAEhB,MAAM,WAAW,IAAI,gBAAgB,YAAY;AAC/C,QAAK,MAAM,SAAS,SAAS;IAC3B,MAAM,EAAE,OAAO,WAAW,MAAM;AAChC,kBAAc;KAAE;KAAO;KAAQ,CAAC;;IAElC;AAEF,WAAS,QAAQ,UAAU;AAC3B,eAAa,SAAS,YAAY;IACjC,EAAE,CAAC;AAIN,iBAAgB;EACd,MAAM,YAAY,aAAa;AAC/B,MAAI,CAAC,UAAW;EAGhB,MAAM,KAAK,UAAU,QAAQ,eAAe;AAE5C,MAAI,CAAC,IAAI;AACP,WAAQ,KACN,qHAED;AACD;;AAGF,MAAI,CAAC,GAAG,cAAc;AACpB,WAAQ,KAAK,8EAA8E;AAC3F;;EAGF,IAAI,gBAAgB;AAwCpB,SAtCgB,GAAG,aAAa,OAAO,EAAE,kBAAkB,iBAAiB;GAC1E,MAAM,YAAY;AAGlB,UAAO,YAAY;IACjB,MAAM;IACN,QAAQ;IACR;IACA;IACD,CAAC;AAEF,OAAI;IAEF,MAAM,SAAS,MAAM,cAAc,QAAQ,UAAU;IAGrD,MAAM,gBAAgB,iBAAiB;AACvC,QAAI,eAAe;KACjB,MAAM,MAAM,cAAc,WAAW,KAAK;AAC1C,SAAI,KAAK;AAEP,UAAI,cAAc,UAAU,OAAO,SAAS,cAAc,WAAW,OAAO,QAAQ;AAClF,qBAAc,QAAQ,OAAO;AAC7B,qBAAc,SAAS,OAAO;;AAIhC,UAAI,UAAU,QAAQ,GAAG,EAAE;;AAI7B,YAAO,OAAO;;YAET,OAAO;AACd,YAAQ,MAAM,oDAAoD,MAAM;;IAE1E;IAGD,CAAC,OAAO,CAAC;AAIZ,QACE,qBAAC,OAAD;EACE,KAAK;EACL,WAAW;EACX,OAAO;GACL,UAAU;GACV,OAAO;GACP,OAAO;GACP,QAAQ;GACR,GAAG;GACJ;YATH,CAYE,oBAACA,QAAD;GACU;GACE;GACV,GAAI;GACJ,OAAO;IAAE,OAAO;IAAQ,QAAQ;IAAQ,GAAG,aAAa;IAAO;GAC/D,CAAA,EAGF,oBAAC,UAAD;GACE,KAAK;GACL,0BAAuB;GACvB,OAAO,EAAE,SAAS,QAAQ;GAC1B,OAAO,WAAW;GAClB,QAAQ,WAAW;GACnB,CAAA,CACE"}
|
package/dist/r3f/index.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { OffscreenCompositionCanvas } from "./OffscreenCompositionCanvas.js";
|
|
2
2
|
import { CompositionCanvas, useCompositionTime } from "./CompositionCanvas.js";
|
|
3
3
|
import { renderOffscreen } from "./renderOffscreen.js";
|
|
4
|
-
|
|
5
|
-
export { CompositionCanvas, OffscreenCompositionCanvas, renderOffscreen, useCompositionTime };
|
|
4
|
+
export { CompositionCanvas, OffscreenCompositionCanvas, renderOffscreen, useCompositionTime };
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import "react";
|
|
2
2
|
import { createEvents, createRoot } from "@react-three/fiber";
|
|
3
3
|
import * as THREE from "three";
|
|
4
|
-
|
|
5
4
|
//#region src/r3f/renderOffscreen.ts
|
|
6
5
|
const EVENTS = {
|
|
7
6
|
onClick: ["click", false],
|
|
@@ -159,11 +158,11 @@ function renderOffscreen(children) {
|
|
|
159
158
|
frameloop: "demand",
|
|
160
159
|
...props,
|
|
161
160
|
onCreated: (state) => {
|
|
162
|
-
if (props.eventPrefix) state.setEvents({ compute: (event, state
|
|
161
|
+
if (props.eventPrefix) state.setEvents({ compute: (event, state) => {
|
|
163
162
|
const x = event[props.eventPrefix + "X"];
|
|
164
163
|
const y = event[props.eventPrefix + "Y"];
|
|
165
|
-
state
|
|
166
|
-
state
|
|
164
|
+
state.pointer.set(x / state.size.width * 2 - 1, -(y / state.size.height) * 2 + 1);
|
|
165
|
+
state.raycaster.setFromCamera(state.pointer, state.camera);
|
|
167
166
|
} });
|
|
168
167
|
}
|
|
169
168
|
});
|
|
@@ -285,7 +284,7 @@ function renderOffscreen(children) {
|
|
|
285
284
|
}
|
|
286
285
|
};
|
|
287
286
|
}
|
|
288
|
-
|
|
289
287
|
//#endregion
|
|
290
288
|
export { renderOffscreen };
|
|
289
|
+
|
|
291
290
|
//# sourceMappingURL=renderOffscreen.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderOffscreen.js","names":["timeStore: TimeStore","root: ReconcilerRoot<HTMLCanvasElement> | null","offscreenCanvas: OffscreenCanvas | null","size: Size","emitter: Emitter<Record<any, unknown>>","state","e: any"],"sources":["../../src/r3f/renderOffscreen.ts"],"sourcesContent":["/**\n * Worker-side entry point for offscreen R3F rendering.\n *\n * This extends @react-three/offscreen's render() function with:\n * - Time synchronization store for composition time\n * - Frame rendering + pixel capture pipeline\n * - Support for deterministic frame-by-frame rendering\n *\n * Based on @react-three/offscreen render.ts but extended for Editframe's needs.\n */\n\nimport * as React from \"react\";\nimport { useSyncExternalStore } from \"react\";\n// @ts-ignore\nimport * as THREE from \"three\";\nimport type { Emitter } from \"mitt\";\nimport {\n createRoot,\n createEvents,\n ReconcilerRoot,\n Size,\n RootState,\n EventManager,\n Events,\n} from \"@react-three/fiber\";\nimport type { RenderFramePayload } from \"./worker-protocol\";\n\ntype R3FStore = Parameters<typeof createEvents>[0];\ntype DomEvent = PointerEvent | MouseEvent | WheelEvent;\n\n/* ━━ Event handling (from @react-three/offscreen) ━━━━━━━━━━━━━━━━━━━━━ */\n\nconst EVENTS = {\n onClick: [\"click\", false],\n onContextMenu: [\"contextmenu\", false],\n onDoubleClick: [\"dblclick\", false],\n onWheel: [\"wheel\", true],\n onPointerDown: [\"pointerdown\", true],\n onPointerUp: [\"pointerup\", true],\n onPointerLeave: [\"pointerleave\", true],\n onPointerMove: [\"pointermove\", true],\n onPointerCancel: [\"pointercancel\", true],\n onLostPointerCapture: [\"lostpointercapture\", true],\n} as const;\n\nfunction createPointerEvents(emitter: Emitter<Record<any, unknown>>) {\n return (store: R3FStore): EventManager<HTMLElement> => {\n const { handlePointer } = createEvents(store);\n\n return {\n priority: 1,\n enabled: true,\n compute(event, state) {\n state.pointer.set(\n (event.offsetX / state.size.width) * 2 - 1,\n -(event.offsetY / state.size.height) * 2 + 1,\n );\n state.raycaster.setFromCamera(state.pointer, state.camera);\n },\n\n connected: undefined,\n handlers: Object.keys(EVENTS).reduce(\n (acc, key) => ({ ...acc, [key]: handlePointer(key) }),\n {},\n ) as unknown as Events,\n connect: (target) => {\n const { set, events } = store.getState();\n events.disconnect?.();\n set((state) => ({ events: { ...state.events, connected: target } }));\n Object.entries(events?.handlers ?? []).forEach(([name, event]) => {\n const [eventName] = EVENTS[name as keyof typeof EVENTS];\n emitter.on(eventName as any, event as any);\n });\n },\n disconnect: () => {\n const { set, events } = store.getState();\n if (events.connected) {\n Object.entries(events.handlers ?? []).forEach(([name, event]) => {\n const [eventName] = EVENTS[name as keyof typeof EVENTS];\n emitter.off(eventName as any, event as any);\n });\n set((state) => ({\n events: { ...state.events, connected: undefined },\n }));\n }\n },\n };\n };\n}\n\n/* ━━ Time synchronization store ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */\n\ninterface TimeStore {\n timeMs: number;\n durationMs: number;\n listeners: Set<() => void>;\n update(timeMs: number, durationMs: number): void;\n}\n\nconst timeStore: TimeStore = {\n timeMs: 0,\n durationMs: 0,\n listeners: new Set(),\n update(timeMs: number, durationMs: number) {\n this.timeMs = timeMs;\n this.durationMs = durationMs;\n this.listeners.forEach((l) => l());\n },\n};\n\n/**\n * Hook to read composition time inside R3F scenes running in a worker.\n * Must be used within a scene rendered by renderOffscreen().\n */\nexport function useCompositionTime() {\n const timeMs = useSyncExternalStore(\n (callback) => {\n timeStore.listeners.add(callback);\n return () => timeStore.listeners.delete(callback);\n },\n () => timeStore.timeMs,\n );\n\n const durationMs = useSyncExternalStore(\n (callback) => {\n timeStore.listeners.add(callback);\n return () => timeStore.listeners.delete(callback);\n },\n () => timeStore.durationMs,\n );\n\n return { timeMs, durationMs };\n}\n\n/* ━━ Worker entry point ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */\n\n/**\n * Render a React Three Fiber scene in a web worker with offscreen canvas.\n *\n * This extends @react-three/offscreen's render() with Editframe-specific features:\n * - Time synchronization via timeStore and useCompositionTime hook\n * - Frame-by-frame rendering on demand (renderFrame message)\n * - Pixel capture and transfer back to main thread via ImageBitmap\n *\n * @param children - React node containing the R3F scene\n *\n * @example\n * ```typescript\n * // worker.ts\n * import { renderOffscreen } from '@editframe/react/r3f';\n * import { MyScene } from './MyScene';\n *\n * renderOffscreen(<MyScene />);\n * ```\n */\nexport function renderOffscreen(children: React.ReactNode) {\n let root: ReconcilerRoot<HTMLCanvasElement> | null = null;\n let offscreenCanvas: OffscreenCanvas | null = null;\n let size: Size = { width: 0, height: 0, top: 0, left: 0 };\n let dpr = 1;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const handlers = new Map<any, Set<any>>();\n const emitter: Emitter<Record<any, unknown>> = {\n all: new Map(),\n on(type: any, handler: any) {\n const s = handlers.get(type) ?? new Set();\n s.add(handler);\n handlers.set(type, s);\n },\n off(type: any, handler: any) {\n handlers.get(type)?.delete(handler);\n },\n emit(type: any, event?: any) {\n handlers.get(type)?.forEach((h: any) => h(event));\n handlers.get(\"*\")?.forEach((h: any) => h(type, event));\n },\n };\n\n /* ━━ Init handler ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */\n\n const handleInit = (payload: any) => {\n const { props, drawingSurface: canvas, width, top, left, height, pixelRatio } = payload;\n\n console.log(\"[renderOffscreen] Init received\", {\n width,\n height,\n pixelRatio,\n });\n\n try {\n // Unmount root if already mounted\n if (root) {\n root.unmount();\n }\n\n offscreenCanvas = canvas;\n\n // Shim the canvas into a fake window/document\n Object.assign(canvas, {\n pageXOffset: left,\n pageYOffset: top,\n clientLeft: left,\n clientTop: top,\n clientWidth: width,\n clientHeight: height,\n style: { touchAction: \"none\" },\n ownerDocument: canvas,\n documentElement: canvas,\n getBoundingClientRect() {\n return size;\n },\n setAttribute() {},\n setPointerCapture() {},\n releasePointerCapture() {},\n addEventListener(event: string, callback: () => void) {\n emitter.on(event, callback);\n },\n removeEventListener(event: string, callback: () => void) {\n emitter.off(event, callback);\n },\n });\n\n // Create react-three-fiber root\n root = createRoot(canvas);\n\n // Configure root\n root.configure({\n events: createPointerEvents(emitter),\n size: (size = { width, height, top, left }),\n dpr: (dpr = Math.min(Math.max(1, pixelRatio), 2)),\n frameloop: \"demand\", // Critical: only render when invalidated\n ...props,\n onCreated: (state: RootState) => {\n if (props.eventPrefix) {\n state.setEvents({\n compute: (event: DomEvent, state: RootState) => {\n const x = event[(props.eventPrefix + \"X\") as keyof DomEvent] as number;\n const y = event[(props.eventPrefix + \"Y\") as keyof DomEvent] as number;\n state.pointer.set((x / state.size.width) * 2 - 1, -(y / state.size.height) * 2 + 1);\n state.raycaster.setFromCamera(state.pointer, state.camera);\n },\n });\n }\n },\n });\n\n // Render children once\n console.log(\"[renderOffscreen] Rendering children\");\n root.render(children);\n console.log(\"[renderOffscreen] Init complete\");\n } catch (e: any) {\n console.error(\"[renderOffscreen] Init error:\", e);\n postMessage({ type: \"error\", payload: e?.message });\n }\n\n // Shim window to the canvas from here on\n (self as any).window = canvas;\n };\n\n /* ━━ Resize handler ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */\n\n const handleResize = ({ width, height, top, left }: Size) => {\n if (!root) return;\n root.configure({ size: (size = { width, height, top, left }), dpr });\n };\n\n /* ━━ Event handler ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */\n\n const handleEvents = (payload: any) => {\n emitter.emit(payload.eventName, {\n ...payload,\n preventDefault() {},\n stopPropagation() {},\n });\n };\n\n /* ━━ Props handler ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */\n\n const handleProps = (payload: any) => {\n if (!root) return;\n if (payload.dpr) dpr = payload.dpr;\n root.configure({ size, dpr, ...payload });\n };\n\n /* ━━ Frame rendering + pixel capture ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */\n\n const handleRenderFrame = async ({ timeMs, durationMs, requestId }: RenderFramePayload) => {\n console.log(\"[renderOffscreen] Render frame\", { timeMs, requestId });\n\n try {\n // 1. Update time store (triggers React re-render via useSyncExternalStore)\n timeStore.update(timeMs, durationMs);\n\n // 2. Force R3F to process the state change and render synchronously\n const state = (root as any)?.store?.getState?.();\n if (!state) {\n throw new Error(\"[renderOffscreen] No R3F root state available\");\n }\n\n if (state?.gl && state?.scene && state?.camera) {\n // Mark as needing render\n state.invalidate();\n\n // Synchronous render (bypasses RAF)\n state.gl.render(state.scene, state.camera);\n\n // GPU sync - ensure all WebGL commands complete\n state.gl.getContext().finish();\n } else {\n throw new Error(\"[renderOffscreen] Missing gl/scene/camera in state\");\n }\n\n // 3. Capture pixels without clearing the canvas\n if (!offscreenCanvas) {\n throw new Error(\"[renderOffscreen] No offscreen canvas available\");\n }\n\n const bitmap = await createImageBitmap(offscreenCanvas);\n console.log(\"[renderOffscreen] Bitmap created\", {\n width: bitmap.width,\n height: bitmap.height,\n });\n\n // 4. Transfer back to main thread (zero-copy transfer)\n (self as any).postMessage({ type: \"frameRendered\", requestId, bitmap }, [bitmap]);\n } catch (e: any) {\n console.error(\"[renderOffscreen] Frame render error:\", e);\n postMessage({\n type: \"error\",\n message: e?.message || \"Unknown error in handleRenderFrame\",\n });\n }\n };\n\n /* ━━ Message routing ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */\n\n const handlerMap = {\n resize: handleResize,\n init: handleInit,\n dom_events: handleEvents,\n props: handleProps,\n renderFrame: handleRenderFrame,\n };\n\n self.onmessage = (event) => {\n const { type, payload } = event.data;\n const handler = handlerMap[type as keyof typeof handlerMap];\n if (handler) handler(payload);\n };\n\n /* ━━ Three.js shims for worker environment ━━━━━━━━━━━━━━━━━━━━━━━━━━ */\n\n // Override ImageLoader to use fetch + createImageBitmap instead of DOM Image\n (THREE.ImageLoader.prototype as any).load = function (\n url: string,\n onLoad: (img: ImageBitmap) => void,\n _onProgress: () => void,\n onError: (e: Error) => void,\n ) {\n if (this.path !== undefined) url = this.path + url;\n url = this.manager.resolveURL(url);\n const cached = THREE.Cache.get(url);\n\n if (cached !== undefined) {\n this.manager.itemStart(url);\n if (onLoad) onLoad(cached);\n this.manager.itemEnd(url);\n return cached;\n }\n\n const manager = this.manager;\n fetch(url)\n .then((res) => res.blob())\n .then((res) =>\n createImageBitmap(res, {\n premultiplyAlpha: \"none\",\n colorSpaceConversion: \"none\",\n }),\n )\n .then((bitmap) => {\n THREE.Cache.add(url, bitmap);\n if (onLoad) onLoad(bitmap);\n manager.itemEnd(url);\n })\n .catch(onError);\n\n return {};\n };\n\n /* ━━ DOM shims for worker environment ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */\n\n (self as any).window = {};\n (self as any).document = {};\n (self as any).Image = class {\n height = 1;\n width = 1;\n set onload(callback: any) {\n callback(true);\n }\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"renderOffscreen.js","names":[],"sources":["../../src/r3f/renderOffscreen.ts"],"mappings":"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"}
|
package/dist/server.js
CHANGED
|
@@ -7,5 +7,4 @@ import { Timegroup } from "./elements/Timegroup.js";
|
|
|
7
7
|
import { Video } from "./elements/Video.js";
|
|
8
8
|
import { Waveform } from "./elements/Waveform.js";
|
|
9
9
|
import { PanZoom } from "./elements/PanZoom.js";
|
|
10
|
-
|
|
11
|
-
export { Audio, Captions, CaptionsActiveWord, CaptionsAfterActiveWord, CaptionsBeforeActiveWord, CaptionsSegment, Image, PanZoom, Surface, Text, TextSegment, Timegroup, Video, Waveform };
|
|
10
|
+
export { Audio, Captions, CaptionsActiveWord, CaptionsAfterActiveWord, CaptionsBeforeActiveWord, CaptionsSegment, Image, PanZoom, Surface, Text, TextSegment, Timegroup, Video, Waveform };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@editframe/react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.48.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"author": "",
|
|
40
40
|
"license": "SEE LICENSE IN LICENSE-FULL.md",
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@editframe/elements": "0.
|
|
42
|
+
"@editframe/elements": "0.48.0",
|
|
43
43
|
"lit": "^3.3.1",
|
|
44
44
|
"mitt": "^3.0.1"
|
|
45
45
|
},
|
|
@@ -100,7 +100,5 @@
|
|
|
100
100
|
"./package.json": "./package.json",
|
|
101
101
|
"./types.json": "./types.json"
|
|
102
102
|
}
|
|
103
|
-
}
|
|
104
|
-
"main": "./dist/index.js",
|
|
105
|
-
"module": "./dist/index.js"
|
|
103
|
+
}
|
|
106
104
|
}
|