@midscene/visualizer 1.5.2 → 1.5.3-beta-20260305031416.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 (43) hide show
  1. package/dist/es/component/blackboard/index.css +82 -4
  2. package/dist/es/component/blackboard/index.mjs +73 -301
  3. package/dist/es/component/player/index.css +144 -119
  4. package/dist/es/component/player/index.mjs +468 -830
  5. package/dist/es/component/player/remotion/StepScene.mjs +190 -0
  6. package/dist/es/component/player/remotion/derive-frame-state.mjs +207 -0
  7. package/dist/es/component/player/remotion/export-branded-video.mjs +210 -0
  8. package/dist/es/component/player/remotion/frame-calculator.mjs +149 -0
  9. package/dist/es/component/player/use-frame-player.mjs +88 -0
  10. package/dist/es/component/universal-playground/index.mjs +14 -1
  11. package/dist/es/hooks/usePlaygroundExecution.mjs +11 -7
  12. package/dist/es/index.mjs +2 -2
  13. package/dist/es/store/store.mjs +9 -0
  14. package/dist/es/utils/replay-scripts.mjs +78 -59
  15. package/dist/lib/component/blackboard/index.css +82 -4
  16. package/dist/lib/component/blackboard/index.js +73 -307
  17. package/dist/lib/component/player/index.css +144 -119
  18. package/dist/lib/component/player/index.js +466 -828
  19. package/dist/lib/component/player/remotion/StepScene.js +224 -0
  20. package/dist/lib/component/player/remotion/derive-frame-state.js +241 -0
  21. package/dist/lib/component/player/remotion/export-branded-video.js +244 -0
  22. package/dist/lib/component/player/remotion/frame-calculator.js +186 -0
  23. package/dist/lib/component/player/use-frame-player.js +122 -0
  24. package/dist/lib/component/universal-playground/index.js +14 -1
  25. package/dist/lib/hooks/usePlaygroundExecution.js +11 -7
  26. package/dist/lib/index.js +3 -0
  27. package/dist/lib/store/store.js +9 -0
  28. package/dist/lib/utils/replay-scripts.js +80 -58
  29. package/dist/types/component/blackboard/index.d.ts +0 -4
  30. package/dist/types/component/player/index.d.ts +0 -1
  31. package/dist/types/component/player/remotion/StepScene.d.ts +9 -0
  32. package/dist/types/component/player/remotion/derive-frame-state.d.ts +38 -0
  33. package/dist/types/component/player/remotion/export-branded-video.d.ts +2 -0
  34. package/dist/types/component/player/remotion/frame-calculator.d.ts +35 -0
  35. package/dist/types/component/player/use-frame-player.d.ts +17 -0
  36. package/dist/types/hooks/usePlaygroundExecution.d.ts +15 -1
  37. package/dist/types/index.d.ts +1 -1
  38. package/dist/types/store/store.d.ts +2 -0
  39. package/dist/types/utils/replay-scripts.d.ts +16 -1
  40. package/package.json +5 -8
  41. package/dist/es/utils/pixi-loader.mjs +0 -42
  42. package/dist/lib/utils/pixi-loader.js +0 -82
  43. package/dist/types/utils/pixi-loader.d.ts +0 -5
@@ -0,0 +1,224 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ StepsTimeline: ()=>StepsTimeline
28
+ });
29
+ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
30
+ const external_react_namespaceObject = require("react");
31
+ const index_js_namespaceObject = require("../../../utils/index.js");
32
+ const external_derive_frame_state_js_namespaceObject = require("./derive-frame-state.js");
33
+ const POINTER_PHASE = 0.375;
34
+ const CROSSFADE_FRAMES = 10;
35
+ const StepsTimeline = ({ frameMap, autoZoom, frame, width: compWidth, height: compHeight, fps })=>{
36
+ const { scriptFrames, imageWidth: baseImgW, imageHeight: baseImgH } = frameMap;
37
+ const state = (0, external_react_namespaceObject.useMemo)(()=>(0, external_derive_frame_state_js_namespaceObject.deriveFrameState)(scriptFrames, frame, baseImgW, baseImgH, fps), [
38
+ scriptFrames,
39
+ frame,
40
+ baseImgW,
41
+ baseImgH,
42
+ fps
43
+ ]);
44
+ if (!state.img) return null;
45
+ const { img, imageWidth: imgW, imageHeight: imgH, prevImg, camera, prevCamera, insights, spinning: spinningPointer, spinningElapsedMs, currentPointerImg, title, subTitle, frameInScript, imageChanged, pointerMoved, rawProgress } = state;
46
+ const pT = pointerMoved ? Math.min(rawProgress / POINTER_PHASE, 1) : rawProgress;
47
+ const cT = pointerMoved ? rawProgress <= POINTER_PHASE ? 0 : Math.min((rawProgress - POINTER_PHASE) / (1 - POINTER_PHASE), 1) : rawProgress;
48
+ const pointerLeft = prevCamera.pointerLeft + (camera.pointerLeft - prevCamera.pointerLeft) * pT;
49
+ const pointerTop = prevCamera.pointerTop + (camera.pointerTop - prevCamera.pointerTop) * pT;
50
+ const cameraLeft = autoZoom ? prevCamera.left + (camera.left - prevCamera.left) * cT : 0;
51
+ const cameraTop = autoZoom ? prevCamera.top + (camera.top - prevCamera.top) * cT : 0;
52
+ const cameraWidth = autoZoom ? prevCamera.width + (camera.width - prevCamera.width) * cT : imgW;
53
+ const isPortraitImage = imgH > imgW;
54
+ const browserW = isPortraitImage ? Math.round(imgW / imgH * compHeight) : compWidth;
55
+ const portraitLeft = Math.round((compWidth - browserW) / 2);
56
+ const zoom = imgW / cameraWidth;
57
+ const tx = browserW / imgW * -cameraLeft;
58
+ const ty = compHeight / imgH * -cameraTop;
59
+ const transformStyle = `scale(${zoom}) translate(${tx}px, ${ty}px)`;
60
+ const camH = imgH / imgW * cameraWidth;
61
+ const ptrX = (pointerLeft - cameraLeft) / cameraWidth * browserW;
62
+ const ptrY = (pointerTop - cameraTop) / camH * compHeight;
63
+ const showCursor = camera.pointerLeft !== Math.round(imgW / 2) || camera.pointerTop !== Math.round(imgH / 2) || prevCamera.pointerLeft !== Math.round(imgW / 2) || prevCamera.pointerTop !== Math.round(imgH / 2);
64
+ const crossfadeAlpha = imageChanged ? Math.min(frameInScript / CROSSFADE_FRAMES, 1) : 1;
65
+ const spinRotation = spinningPointer ? (Math.sin(spinningElapsedMs / 500 - Math.PI / 2) + 1) / 2 * Math.PI * 2 : 0;
66
+ const renderInsightOverlays = ()=>{
67
+ if (0 === insights.length) return null;
68
+ return insights.map((insight, idx)=>{
69
+ const overlays = [];
70
+ if (insight.highlightElement) {
71
+ const rect = insight.highlightElement.rect;
72
+ overlays.push(/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
73
+ style: {
74
+ position: 'absolute',
75
+ left: rect.left,
76
+ top: rect.top,
77
+ width: rect.width,
78
+ height: rect.height,
79
+ background: 'rgba(253, 89, 7, 0.4)',
80
+ border: '1px solid #fd5907',
81
+ boxShadow: '4px 4px 2px rgba(51, 51, 51, 0.4)',
82
+ opacity: insight.alpha,
83
+ pointerEvents: 'none'
84
+ }
85
+ }, `highlight-${idx}`));
86
+ }
87
+ if (insight.searchArea) {
88
+ const rect = insight.searchArea;
89
+ overlays.push(/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
90
+ style: {
91
+ position: 'absolute',
92
+ left: rect.left,
93
+ top: rect.top,
94
+ width: rect.width,
95
+ height: rect.height,
96
+ background: 'rgba(2, 131, 145, 0.4)',
97
+ border: '1px solid #028391',
98
+ boxShadow: '4px 4px 2px rgba(51, 51, 51, 0.4)',
99
+ opacity: insight.alpha,
100
+ pointerEvents: 'none'
101
+ }
102
+ }, `search-${idx}`));
103
+ }
104
+ return overlays;
105
+ });
106
+ };
107
+ const renderContentArea = (w, h)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
108
+ style: {
109
+ width: w,
110
+ height: h,
111
+ position: 'relative',
112
+ overflow: 'hidden'
113
+ },
114
+ children: [
115
+ imageChanged && prevImg && crossfadeAlpha < 1 && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
116
+ style: {
117
+ position: 'absolute',
118
+ width: w,
119
+ height: h,
120
+ overflow: 'hidden',
121
+ opacity: 1 - crossfadeAlpha
122
+ },
123
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("img", {
124
+ alt: "",
125
+ src: prevImg,
126
+ style: {
127
+ width: w,
128
+ height: h,
129
+ transformOrigin: '0 0',
130
+ transform: transformStyle
131
+ }
132
+ })
133
+ }),
134
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
135
+ style: {
136
+ position: 'absolute',
137
+ width: w,
138
+ height: h,
139
+ overflow: 'hidden',
140
+ opacity: imageChanged ? crossfadeAlpha : 1
141
+ },
142
+ children: [
143
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("img", {
144
+ alt: "",
145
+ src: img,
146
+ style: {
147
+ width: w,
148
+ height: h,
149
+ transformOrigin: '0 0',
150
+ transform: transformStyle
151
+ }
152
+ }),
153
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
154
+ style: {
155
+ position: 'absolute',
156
+ top: 0,
157
+ left: 0,
158
+ width: w,
159
+ height: h,
160
+ transformOrigin: '0 0',
161
+ transform: transformStyle,
162
+ pointerEvents: 'none'
163
+ },
164
+ children: renderInsightOverlays()
165
+ })
166
+ ]
167
+ }),
168
+ spinningPointer && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("img", {
169
+ alt: "",
170
+ src: index_js_namespaceObject.mouseLoading,
171
+ style: {
172
+ position: 'absolute',
173
+ left: ptrX - 11,
174
+ top: ptrY - 14,
175
+ width: 22,
176
+ height: 28,
177
+ transform: `rotate(${spinRotation}rad)`,
178
+ transformOrigin: 'center center',
179
+ filter: 'drop-shadow(0 1px 2px rgba(0,0,0,0.3))'
180
+ }
181
+ }),
182
+ showCursor && !spinningPointer && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("img", {
183
+ alt: "",
184
+ src: currentPointerImg,
185
+ style: {
186
+ position: 'absolute',
187
+ left: ptrX - 3,
188
+ top: ptrY - 2,
189
+ width: 22,
190
+ height: 28,
191
+ filter: 'drop-shadow(0 1px 2px rgba(0,0,0,0.3))'
192
+ }
193
+ })
194
+ ]
195
+ });
196
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
197
+ style: {
198
+ position: 'absolute',
199
+ top: 0,
200
+ left: 0,
201
+ right: 0,
202
+ bottom: 0,
203
+ backgroundColor: '#000'
204
+ },
205
+ children: isPortraitImage ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
206
+ style: {
207
+ position: 'absolute',
208
+ left: portraitLeft,
209
+ top: 0,
210
+ width: browserW,
211
+ height: compHeight,
212
+ overflow: 'hidden'
213
+ },
214
+ children: renderContentArea(browserW, compHeight)
215
+ }) : renderContentArea(compWidth, compHeight)
216
+ });
217
+ };
218
+ exports.StepsTimeline = __webpack_exports__.StepsTimeline;
219
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
220
+ "StepsTimeline"
221
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
222
+ Object.defineProperty(exports, '__esModule', {
223
+ value: true
224
+ });
@@ -0,0 +1,241 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ deriveFrameState: ()=>deriveFrameState
28
+ });
29
+ const index_js_namespaceObject = require("../../../utils/index.js");
30
+ function _define_property(obj, key, value) {
31
+ if (key in obj) Object.defineProperty(obj, key, {
32
+ value: value,
33
+ enumerable: true,
34
+ configurable: true,
35
+ writable: true
36
+ });
37
+ else obj[key] = value;
38
+ return obj;
39
+ }
40
+ function _object_spread(target) {
41
+ for(var i = 1; i < arguments.length; i++){
42
+ var source = null != arguments[i] ? arguments[i] : {};
43
+ var ownKeys = Object.keys(source);
44
+ if ("function" == typeof Object.getOwnPropertySymbols) ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
45
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
46
+ }));
47
+ ownKeys.forEach(function(key) {
48
+ _define_property(target, key, source[key]);
49
+ });
50
+ }
51
+ return target;
52
+ }
53
+ function derive_frame_state_ownKeys(object, enumerableOnly) {
54
+ var keys = Object.keys(object);
55
+ if (Object.getOwnPropertySymbols) {
56
+ var symbols = Object.getOwnPropertySymbols(object);
57
+ if (enumerableOnly) symbols = symbols.filter(function(sym) {
58
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
59
+ });
60
+ keys.push.apply(keys, symbols);
61
+ }
62
+ return keys;
63
+ }
64
+ function _object_spread_props(target, source) {
65
+ source = null != source ? source : {};
66
+ if (Object.getOwnPropertyDescriptors) Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
67
+ else derive_frame_state_ownKeys(Object(source)).forEach(function(key) {
68
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
69
+ });
70
+ return target;
71
+ }
72
+ function updateImage(acc, sf, baseW, baseH) {
73
+ if (!sf.img) return;
74
+ if (acc.img && sf.img !== acc.img) {
75
+ acc.prevImg = acc.img;
76
+ acc.imageChanged = true;
77
+ }
78
+ acc.img = sf.img;
79
+ acc.imgW = sf.imageWidth || baseW;
80
+ acc.imgH = sf.imageHeight || baseH;
81
+ }
82
+ function checkPointerMoved(prev, cur) {
83
+ return Math.abs(prev.pointerLeft - cur.pointerLeft) > 1 || Math.abs(prev.pointerTop - cur.pointerTop) > 1;
84
+ }
85
+ function handleImg(acc, sf, frame, baseW, baseH) {
86
+ updateImage(acc, sf, baseW, baseH);
87
+ const sfEnd = sf.startFrame + sf.durationInFrames;
88
+ if (sf.cameraTarget) {
89
+ acc.prevCamera = _object_spread({}, acc.camera);
90
+ acc.camera = _object_spread({}, sf.cameraTarget);
91
+ acc.pointerMoved = checkPointerMoved(acc.prevCamera, acc.camera);
92
+ } else if (frame >= sfEnd) {
93
+ acc.pointerMoved = false;
94
+ acc.imageChanged = false;
95
+ }
96
+ acc.spinning = false;
97
+ }
98
+ function handleInsight(acc, sf, frame, baseW, baseH) {
99
+ updateImage(acc, sf, baseW, baseH);
100
+ const alreadyAdded = acc.insights.some((ai)=>ai.highlightElement === sf.highlightElement && ai.searchArea === sf.searchArea);
101
+ if (!alreadyAdded) acc.insights.push({
102
+ highlightElement: sf.highlightElement,
103
+ searchArea: sf.searchArea,
104
+ alpha: 1
105
+ });
106
+ if (sf.cameraTarget && void 0 !== sf.insightPhaseFrames) {
107
+ const cameraStartFrame = sf.startFrame + sf.insightPhaseFrames;
108
+ if (frame >= cameraStartFrame) {
109
+ acc.prevCamera = _object_spread({}, acc.camera);
110
+ acc.camera = _object_spread({}, sf.cameraTarget);
111
+ const cameraFrameIn = frame - cameraStartFrame;
112
+ const cameraDur = sf.cameraPhaseFrames || 1;
113
+ acc.rawProgress = Math.min(cameraFrameIn / cameraDur, 1);
114
+ acc.pointerMoved = checkPointerMoved(acc.prevCamera, acc.camera);
115
+ }
116
+ }
117
+ acc.spinning = false;
118
+ }
119
+ function handleClearInsight(acc, sf, frame) {
120
+ const sfEnd = sf.startFrame + sf.durationInFrames;
121
+ const alpha = 1 - acc.rawProgress;
122
+ acc.insights = acc.insights.map((ai)=>_object_spread_props(_object_spread({}, ai), {
123
+ alpha
124
+ }));
125
+ if (frame >= sfEnd) acc.insights = [];
126
+ acc.spinning = false;
127
+ }
128
+ function handleSpinningPointer(acc, fps) {
129
+ acc.spinning = true;
130
+ acc.spinningElapsedMs = acc.frameInScript / fps * 1000;
131
+ }
132
+ function deriveFrameState(scriptFrames, frame, baseW, baseH, fps) {
133
+ const defaultCamera = {
134
+ left: 0,
135
+ top: 0,
136
+ width: baseW,
137
+ pointerLeft: Math.round(baseW / 2),
138
+ pointerTop: Math.round(baseH / 2)
139
+ };
140
+ const acc = {
141
+ img: '',
142
+ imgW: baseW,
143
+ imgH: baseH,
144
+ camera: _object_spread({}, defaultCamera),
145
+ prevCamera: _object_spread({}, defaultCamera),
146
+ prevImg: null,
147
+ insights: [],
148
+ spinning: false,
149
+ spinningElapsedMs: 0,
150
+ pointerImg: index_js_namespaceObject.mousePointer,
151
+ title: '',
152
+ subTitle: '',
153
+ taskId: void 0,
154
+ frameInScript: 0,
155
+ scriptIndex: 0,
156
+ imageChanged: false,
157
+ pointerMoved: false,
158
+ rawProgress: 0
159
+ };
160
+ for(let i = 0; i < scriptFrames.length; i++){
161
+ const sf = scriptFrames[i];
162
+ const sfEnd = sf.startFrame + sf.durationInFrames;
163
+ if (0 === sf.durationInFrames) {
164
+ if (sf.startFrame <= frame) {
165
+ if ('pointer' === sf.type && sf.pointerImg) acc.pointerImg = sf.pointerImg;
166
+ acc.title = sf.title || acc.title;
167
+ acc.subTitle = sf.subTitle || acc.subTitle;
168
+ var _sf_taskId;
169
+ acc.taskId = null != (_sf_taskId = sf.taskId) ? _sf_taskId : acc.taskId;
170
+ acc.scriptIndex = i;
171
+ }
172
+ continue;
173
+ }
174
+ if (frame < sf.startFrame) break;
175
+ acc.title = sf.title || acc.title;
176
+ acc.subTitle = sf.subTitle || acc.subTitle;
177
+ var _sf_taskId1;
178
+ acc.taskId = null != (_sf_taskId1 = sf.taskId) ? _sf_taskId1 : acc.taskId;
179
+ acc.scriptIndex = i;
180
+ acc.frameInScript = frame - sf.startFrame;
181
+ acc.rawProgress = Math.min(acc.frameInScript / sf.durationInFrames, 1);
182
+ switch(sf.type){
183
+ case 'img':
184
+ handleImg(acc, sf, frame, baseW, baseH);
185
+ break;
186
+ case 'insight':
187
+ handleInsight(acc, sf, frame, baseW, baseH);
188
+ break;
189
+ case 'clear-insight':
190
+ handleClearInsight(acc, sf, frame);
191
+ break;
192
+ case 'spinning-pointer':
193
+ handleSpinningPointer(acc, fps);
194
+ break;
195
+ case 'sleep':
196
+ acc.spinning = false;
197
+ break;
198
+ }
199
+ if (frame >= sfEnd) {
200
+ if ('clear-insight' !== sf.type) acc.imageChanged = false;
201
+ acc.pointerMoved = false;
202
+ acc.rawProgress = 1;
203
+ if (sf.cameraTarget) acc.prevCamera = _object_spread({}, acc.camera);
204
+ }
205
+ }
206
+ if (!acc.img) {
207
+ const firstImgScript = scriptFrames.find((sf)=>'img' === sf.type && sf.img);
208
+ if (firstImgScript) {
209
+ acc.img = firstImgScript.img;
210
+ acc.imgW = firstImgScript.imageWidth || baseW;
211
+ acc.imgH = firstImgScript.imageHeight || baseH;
212
+ }
213
+ }
214
+ return {
215
+ img: acc.img,
216
+ imageWidth: acc.imgW,
217
+ imageHeight: acc.imgH,
218
+ prevImg: acc.imageChanged ? acc.prevImg : null,
219
+ camera: acc.camera,
220
+ prevCamera: acc.prevCamera,
221
+ insights: acc.insights,
222
+ spinning: acc.spinning,
223
+ spinningElapsedMs: acc.spinningElapsedMs,
224
+ currentPointerImg: acc.pointerImg,
225
+ title: acc.title,
226
+ subTitle: acc.subTitle,
227
+ taskId: acc.taskId,
228
+ frameInScript: acc.frameInScript,
229
+ scriptIndex: acc.scriptIndex,
230
+ imageChanged: acc.imageChanged,
231
+ pointerMoved: acc.pointerMoved,
232
+ rawProgress: acc.rawProgress
233
+ };
234
+ }
235
+ exports.deriveFrameState = __webpack_exports__.deriveFrameState;
236
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
237
+ "deriveFrameState"
238
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
239
+ Object.defineProperty(exports, '__esModule', {
240
+ value: true
241
+ });