@mindexec/cli 0.2.220 → 0.2.221
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/package.json +1 -1
- package/wwwroot/_content/MindExecution.Shared/js/mind-map-core.js +56 -19
- package/wwwroot/_content/MindExecution.Shared/js/mind-map-css3d-manager.js +15 -5
- package/wwwroot/_content/MindExecution.Shared/js/mind-map-interactions.js +2 -6
- package/wwwroot/_content/MindExecution.Shared/js/mind-map-lod-renderer.js +8 -0
- package/wwwroot/service-worker-assets.js +5 -5
- package/wwwroot/service-worker.js +1 -1
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
const DEBUG = false;
|
|
6
6
|
const FPS_DEBUG = false;
|
|
7
7
|
const FRAME_PERF_DEBUG = false;
|
|
8
|
-
const MINDMAP_CORE_BUILD_ID = '20260619-
|
|
8
|
+
const MINDMAP_CORE_BUILD_ID = '20260619-motion-hidden-work-v668';
|
|
9
9
|
const CanvasPhase = Object.freeze({
|
|
10
10
|
Booting: 'booting',
|
|
11
11
|
BoardFileLoading: 'board-file-loading',
|
|
@@ -445,6 +445,21 @@
|
|
|
445
445
|
return mode === 'continuous';
|
|
446
446
|
}
|
|
447
447
|
|
|
448
|
+
function canUseWebglCanvasTransformForCameraMotion(module) {
|
|
449
|
+
if (CAMERA_MOTION_WEBGL_CANVAS_TRANSFORM_ENABLED !== true) {
|
|
450
|
+
return false;
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
// Static backgrounds can move as a single viewport surface. Continuous
|
|
454
|
+
// themes need real animation frames during interaction; freezing the
|
|
455
|
+
// last WebGL canvas makes particle themes look like they are skipping.
|
|
456
|
+
if (isContinuousBackgroundTheme(module) === true) {
|
|
457
|
+
return false;
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
return true;
|
|
461
|
+
}
|
|
462
|
+
|
|
448
463
|
function deferContinuousThemeForCameraMotion(module) {
|
|
449
464
|
if (!isContinuousBackgroundTheme(module)) {
|
|
450
465
|
return false;
|
|
@@ -738,6 +753,15 @@
|
|
|
738
753
|
};
|
|
739
754
|
}
|
|
740
755
|
|
|
756
|
+
const cachedContainerWidth = Math.max(0, Number(module?._lastContainerWidth || 0));
|
|
757
|
+
const cachedContainerHeight = Math.max(0, Number(module?._lastContainerHeight || 0));
|
|
758
|
+
if (cachedContainerWidth > 0 && cachedContainerHeight > 0) {
|
|
759
|
+
return {
|
|
760
|
+
width: cachedContainerWidth,
|
|
761
|
+
height: cachedContainerHeight
|
|
762
|
+
};
|
|
763
|
+
}
|
|
764
|
+
|
|
741
765
|
return {
|
|
742
766
|
width: Math.max(1, Number(module?.container?.clientWidth || 0)),
|
|
743
767
|
height: Math.max(1, Number(module?.container?.clientHeight || 0))
|
|
@@ -1222,7 +1246,7 @@
|
|
|
1222
1246
|
let usedWebglCanvasCameraTransform = false;
|
|
1223
1247
|
if (isWebglRenderEnabled && module.renderer && module.scene && module.camera) {
|
|
1224
1248
|
const canReuseWebglCanvas = !!(
|
|
1225
|
-
|
|
1249
|
+
canUseWebglCanvasTransformForCameraMotion(module) === true &&
|
|
1226
1250
|
module._lastWebglRenderedCameraState &&
|
|
1227
1251
|
module.renderer?.domElement
|
|
1228
1252
|
);
|
|
@@ -1353,10 +1377,7 @@
|
|
|
1353
1377
|
isCss3dEnabled === true &&
|
|
1354
1378
|
module.cssRenderer &&
|
|
1355
1379
|
typeof module.cssRenderer.renderCamera === 'function' &&
|
|
1356
|
-
(
|
|
1357
|
-
(module.lodRenderer._lodImageCssFallbackNodeIds?.size || 0) > 0 ||
|
|
1358
|
-
(module.lodRenderer._lodTemplateCssNodeIds?.size || 0) > 0
|
|
1359
|
-
)
|
|
1380
|
+
module.lodRenderer.hasCss3dLodCandidates?.() === true
|
|
1360
1381
|
);
|
|
1361
1382
|
if (isWebglRenderEnabled !== true && canRenderCss3dCamera !== true) {
|
|
1362
1383
|
return false;
|
|
@@ -1444,7 +1465,7 @@
|
|
|
1444
1465
|
let usedWebglCanvasCameraTransform = false;
|
|
1445
1466
|
if (isWebglRenderEnabled === true && module.renderer && module.scene && module.camera) {
|
|
1446
1467
|
const canReuseWebglCanvas = !!(
|
|
1447
|
-
|
|
1468
|
+
canUseWebglCanvasTransformForCameraMotion(module) === true &&
|
|
1448
1469
|
module._lastWebglRenderedCameraState &&
|
|
1449
1470
|
module.renderer?.domElement
|
|
1450
1471
|
);
|
|
@@ -4829,8 +4850,11 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
4829
4850
|
viewHeight = 2 * Math.tan(vfov / 2) * Math.max(1, cameraZ);
|
|
4830
4851
|
viewWidth = viewHeight * Math.max(0.1, Number(camera.aspect || 1));
|
|
4831
4852
|
|
|
4832
|
-
const
|
|
4833
|
-
const
|
|
4853
|
+
const viewportMetrics = getCachedViewportMetrics(this);
|
|
4854
|
+
const viewportWidth = Math.max(1, Number(viewportMetrics.width || 1));
|
|
4855
|
+
const viewportHeight = Math.max(1, Number(viewportMetrics.height || 1));
|
|
4856
|
+
const worldPerPxX = viewWidth / viewportWidth;
|
|
4857
|
+
const worldPerPxY = viewHeight / viewportHeight;
|
|
4834
4858
|
const rawMarginWorld = cullingMarginPx * Math.max(worldPerPxX, worldPerPxY);
|
|
4835
4859
|
const cellSize = this.GRID_CELL_SIZE || 500;
|
|
4836
4860
|
marginWorld = Math.min(rawMarginWorld, cellSize * maxMarginCells);
|
|
@@ -5410,7 +5434,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
5410
5434
|
|
|
5411
5435
|
if (this.isZooming && !isCameraMoving && timeSinceLastInput > ZOOM_END_DELAY_MS) {
|
|
5412
5436
|
this.isZooming = false;
|
|
5413
|
-
document.body
|
|
5437
|
+
document.body?.classList?.remove?.('is-zooming');
|
|
5414
5438
|
this.cssRenderer?.domElement?.classList?.remove?.('is-zooming');
|
|
5415
5439
|
if (FRAME_PERF_DEBUG) {
|
|
5416
5440
|
console.log(`[Perf] Zoom ended (${timeSinceLastInput.toFixed(0)}ms since last input)`);
|
|
@@ -5782,7 +5806,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
5782
5806
|
|
|
5783
5807
|
updateCursorDomElement(this);
|
|
5784
5808
|
const canReuseWebglCanvasForImmediateMotion = !!(
|
|
5785
|
-
|
|
5809
|
+
canUseWebglCanvasTransformForCameraMotion(this) === true &&
|
|
5786
5810
|
renderDebugFlags.enableWebglRender !== false &&
|
|
5787
5811
|
this._lastWebglRenderedCameraState &&
|
|
5788
5812
|
this.renderer?.domElement
|
|
@@ -5961,7 +5985,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
5961
5985
|
|
|
5962
5986
|
updateCursorDomElement(this);
|
|
5963
5987
|
const canReuseWebglCanvasForStationaryMotion = !!(
|
|
5964
|
-
|
|
5988
|
+
canUseWebglCanvasTransformForCameraMotion(this) === true &&
|
|
5965
5989
|
isWebglRenderEnabled &&
|
|
5966
5990
|
this._lastWebglRenderedCameraState &&
|
|
5967
5991
|
this.renderer?.domElement
|
|
@@ -6104,7 +6128,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
6104
6128
|
isCss3dEnabled === true &&
|
|
6105
6129
|
!!this.cssRenderer &&
|
|
6106
6130
|
typeof this.cssRenderer.renderCamera === 'function' &&
|
|
6107
|
-
this.lodRenderer?.
|
|
6131
|
+
this.lodRenderer?.hasCss3dLodCandidates?.() === true
|
|
6108
6132
|
);
|
|
6109
6133
|
const canUseUaResidentCameraOnlyFrame = CAMERA_MOTION_VISUAL_ONLY_FAST_PATH_ENABLED === true && !!(
|
|
6110
6134
|
shouldPreferCameraOnlyMotionPipeline === true &&
|
|
@@ -6153,7 +6177,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
6153
6177
|
|
|
6154
6178
|
updateCursorDomElement(this);
|
|
6155
6179
|
const canReuseWebglCanvasForResidentMotion = !!(
|
|
6156
|
-
|
|
6180
|
+
canUseWebglCanvasTransformForCameraMotion(this) === true &&
|
|
6157
6181
|
isWebglRenderEnabled === true &&
|
|
6158
6182
|
this._lastWebglRenderedCameraState &&
|
|
6159
6183
|
this.renderer?.domElement
|
|
@@ -6298,11 +6322,13 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
6298
6322
|
const shouldPauseThemeForCameraNavigation =
|
|
6299
6323
|
isContinuousTheme === true &&
|
|
6300
6324
|
isCameraNavigationOnlyInteractiveFrame === true &&
|
|
6301
|
-
this._forceThemeAnimationFrame !== true
|
|
6325
|
+
this._forceThemeAnimationFrame !== true &&
|
|
6326
|
+
canUseWebglCanvasTransformForCameraMotion(this) === true;
|
|
6302
6327
|
const allowContinuousThemeAnimationThisFrame =
|
|
6303
6328
|
shouldPauseThemeForCameraNavigation === true
|
|
6304
6329
|
? false
|
|
6305
6330
|
: (isContinuousTheme !== true ||
|
|
6331
|
+
(isContinuousTheme === true && isCameraNavigationOnlyInteractiveFrame === true) ||
|
|
6306
6332
|
(isInteractiveFrame === true && !isCameraNavigationOnlyInteractiveFrame) ||
|
|
6307
6333
|
(shouldUpdate === true && !isCameraNavigationOnlyInteractiveFrame) ||
|
|
6308
6334
|
hasNonCameraNavigationForcedUpdate === true ||
|
|
@@ -6399,7 +6425,8 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
6399
6425
|
uaEarlyCameraOnly: true
|
|
6400
6426
|
} : null;
|
|
6401
6427
|
}
|
|
6402
|
-
} else if (isWebglRenderEnabled
|
|
6428
|
+
} else if (isWebglRenderEnabled &&
|
|
6429
|
+
canUseWebglCanvasTransformForCameraMotion(this) === true) {
|
|
6403
6430
|
usedWebglCanvasCameraTransformEarly =
|
|
6404
6431
|
this._applyWebglCanvasCameraTransform() === true;
|
|
6405
6432
|
this._webglCameraMotionDeferred = true;
|
|
@@ -6775,7 +6802,11 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
6775
6802
|
// ▼▼▼ [Perf] CSS3D 동기화/렌더 스로틀 (정지 프레임은 스킵) ▼▼▼
|
|
6776
6803
|
const hasResidentCssMediaFallback =
|
|
6777
6804
|
isLodModeActive === true &&
|
|
6778
|
-
|
|
6805
|
+
(
|
|
6806
|
+
(this.isPanning === true || this.isZooming === true || isCameraMoving === true)
|
|
6807
|
+
? this.lodRenderer?.hasCss3dLodCandidates?.() === true
|
|
6808
|
+
: this.lodRenderer?.shouldRenderCss3dInLod?.() === true
|
|
6809
|
+
);
|
|
6779
6810
|
const shouldUpdateResidentCssMediaFallback =
|
|
6780
6811
|
hasResidentCssMediaFallback === true &&
|
|
6781
6812
|
(
|
|
@@ -6955,7 +6986,11 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
6955
6986
|
);
|
|
6956
6987
|
|
|
6957
6988
|
const isInLodMode = this.lodRenderer?.isInLODMode === true;
|
|
6958
|
-
const shouldRenderCss3dInLod = isInLodMode &&
|
|
6989
|
+
const shouldRenderCss3dInLod = isInLodMode && (
|
|
6990
|
+
(this.isPanning === true || this.isZooming === true || isCameraMoving === true)
|
|
6991
|
+
? this.lodRenderer?.hasCss3dLodCandidates?.() === true
|
|
6992
|
+
: this.lodRenderer?.shouldRenderCss3dInLod?.() === true
|
|
6993
|
+
);
|
|
6959
6994
|
const shouldRenderPassiveDomTextOverlay =
|
|
6960
6995
|
isPassiveDomOverlayRuntimeEnabled &&
|
|
6961
6996
|
window.MindMapTextOverlayV2?.shouldRenderPassiveDomOverlays?.(this) === true;
|
|
@@ -7236,6 +7271,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
7236
7271
|
const shouldUseWebglCanvasCameraTransformFrame = !!(
|
|
7237
7272
|
isWebglRenderEnabled &&
|
|
7238
7273
|
isCameraNavigationOnlyInteractiveFrame === true &&
|
|
7274
|
+
canUseWebglCanvasTransformForCameraMotion(this) === true &&
|
|
7239
7275
|
shouldUpdate !== true &&
|
|
7240
7276
|
themeAnimatedThisFrame !== true &&
|
|
7241
7277
|
shouldUseAnimationCadenceForWebglFrame !== true &&
|
|
@@ -7283,7 +7319,8 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
7283
7319
|
if (isPureCss3dCameraMotionFrame === true) {
|
|
7284
7320
|
this._webglCameraMotionDeferred = true;
|
|
7285
7321
|
}
|
|
7286
|
-
if (isCameraNavigationOnlyInteractiveFrame === true
|
|
7322
|
+
if (isCameraNavigationOnlyInteractiveFrame === true &&
|
|
7323
|
+
canUseWebglCanvasTransformForCameraMotion(this) === true) {
|
|
7287
7324
|
usedWebglCanvasCameraTransform = this._applyWebglCanvasCameraTransform() === true;
|
|
7288
7325
|
} else {
|
|
7289
7326
|
this._clearWebglCanvasCameraTransform();
|
|
@@ -7676,14 +7676,15 @@
|
|
|
7676
7676
|
|
|
7677
7677
|
function isBusinessAutomationTooltipMotionSuppressed(options = {}) {
|
|
7678
7678
|
const now = getBusinessAutomationTooltipNow();
|
|
7679
|
-
const
|
|
7679
|
+
const css3dClassList = _module?.cssRenderer?.domElement?.classList ||
|
|
7680
|
+
document?.getElementById?.('css3d-dom-wrapper')?.classList;
|
|
7680
7681
|
const explicitClickGraceActive = now < Number(businessAutomationTooltipState.explicitClickOpenUntil || 0);
|
|
7681
7682
|
const ignoreCameraMotionSuppression = options.ignoreCameraMotionSuppression === true
|
|
7682
7683
|
|| explicitClickGraceActive;
|
|
7683
7684
|
const cameraMotionActive = _module?.isPanning === true
|
|
7684
7685
|
|| _module?.isZooming === true
|
|
7685
|
-
||
|
|
7686
|
-
||
|
|
7686
|
+
|| css3dClassList?.contains?.('is-panning') === true
|
|
7687
|
+
|| css3dClassList?.contains?.('is-zooming') === true;
|
|
7687
7688
|
const dragMotionActive = _module?.isDraggingNode === true
|
|
7688
7689
|
|| _module?.isDraggingMultipleNodes === true;
|
|
7689
7690
|
|
|
@@ -9785,6 +9786,12 @@
|
|
|
9785
9786
|
return { width, height };
|
|
9786
9787
|
}
|
|
9787
9788
|
|
|
9789
|
+
const containerWidth = Math.max(0, Number(module?._lastContainerWidth || 0));
|
|
9790
|
+
const containerHeight = Math.max(0, Number(module?._lastContainerHeight || 0));
|
|
9791
|
+
if (containerWidth > 0 && containerHeight > 0) {
|
|
9792
|
+
return { width: containerWidth, height: containerHeight };
|
|
9793
|
+
}
|
|
9794
|
+
|
|
9788
9795
|
return {
|
|
9789
9796
|
width: Math.max(1, Number(module?.container?.clientWidth || 0)),
|
|
9790
9797
|
height: Math.max(1, Number(module?.container?.clientHeight || 0))
|
|
@@ -21337,6 +21344,8 @@
|
|
|
21337
21344
|
|
|
21338
21345
|
function isCanvasMotionInteractionActive() {
|
|
21339
21346
|
const body = document.body;
|
|
21347
|
+
const css3dClassList = _module?.cssRenderer?.domElement?.classList ||
|
|
21348
|
+
document?.getElementById?.('css3d-dom-wrapper')?.classList;
|
|
21340
21349
|
const now = typeof performance !== 'undefined' && typeof performance.now === 'function'
|
|
21341
21350
|
? performance.now()
|
|
21342
21351
|
: Date.now();
|
|
@@ -21346,8 +21355,9 @@
|
|
|
21346
21355
|
|| 0
|
|
21347
21356
|
);
|
|
21348
21357
|
|
|
21349
|
-
return
|
|
21350
|
-
||
|
|
21358
|
+
return css3dClassList?.contains?.('is-zooming') === true
|
|
21359
|
+
|| css3dClassList?.contains?.('is-panning') === true
|
|
21360
|
+
|| css3dClassList?.contains?.('is-dragging') === true
|
|
21351
21361
|
|| body?.classList?.contains?.('is-node-dragging') === true
|
|
21352
21362
|
|| body?.classList?.contains?.('mindcanvas-is-moving') === true
|
|
21353
21363
|
|| _module?.isZooming === true
|
|
@@ -25,15 +25,11 @@ window.MindMapInteractions = (function () {
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
function isBrowserSelectionLocked() {
|
|
28
|
-
const body = document?.body;
|
|
29
28
|
const css3dWrapper = document?.getElementById?.('css3d-dom-wrapper');
|
|
30
29
|
return browserSelectionLockReasons.size > 0 ||
|
|
31
|
-
body?.classList?.contains?.(BROWSER_SELECTION_LOCK_CLASS) === true ||
|
|
32
|
-
body?.classList?.contains?.('is-node-dragging') === true ||
|
|
33
|
-
body?.classList?.contains?.('is-panning') === true ||
|
|
34
|
-
body?.classList?.contains?.('is-zooming') === true ||
|
|
35
30
|
css3dWrapper?.classList?.contains?.('is-panning') === true ||
|
|
36
|
-
css3dWrapper?.classList?.contains?.('is-zooming') === true
|
|
31
|
+
css3dWrapper?.classList?.contains?.('is-zooming') === true ||
|
|
32
|
+
css3dWrapper?.classList?.contains?.('is-dragging') === true;
|
|
37
33
|
}
|
|
38
34
|
|
|
39
35
|
function handleBrowserSelectStart(event) {
|
|
@@ -4952,6 +4952,14 @@
|
|
|
4952
4952
|
this._getActiveTemplateCssLodCount(this._module) > 0);
|
|
4953
4953
|
}
|
|
4954
4954
|
|
|
4955
|
+
hasCss3dLodCandidates() {
|
|
4956
|
+
return this.isInLODMode === true &&
|
|
4957
|
+
(
|
|
4958
|
+
(this._lodImageCssFallbackNodeIds?.size || 0) > 0 ||
|
|
4959
|
+
(this._lodTemplateCssNodeIds?.size || 0) > 0
|
|
4960
|
+
);
|
|
4961
|
+
}
|
|
4962
|
+
|
|
4955
4963
|
_getActiveTemplateCssLodCount(module = this._module) {
|
|
4956
4964
|
if (this.isInLODMode !== true || !this._lodTemplateCssNodeIds || this._lodTemplateCssNodeIds.size === 0) {
|
|
4957
4965
|
return 0;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
self.assetsManifest = {
|
|
2
|
-
"version": "
|
|
2
|
+
"version": "3aMiQb+v",
|
|
3
3
|
"assets": [
|
|
4
4
|
{
|
|
5
5
|
"hash": "sha256-+CSYMcqLNTsq3VnH11jgYyOCCdxvHzL74CBmo4sCmMU=",
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
"url": "_content/MindExecution.Shared/js/marked.min.js"
|
|
79
79
|
},
|
|
80
80
|
{
|
|
81
|
-
"hash": "sha256-
|
|
81
|
+
"hash": "sha256-hJpRJ5O5QFjQ3bE0HHza1S8xmT9lc5hh1N15pIsdQiY=",
|
|
82
82
|
"url": "_content/MindExecution.Shared/js/mind-map-core.js"
|
|
83
83
|
},
|
|
84
84
|
{
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
"url": "_content/MindExecution.Shared/js/mind-map-core.js.backup"
|
|
87
87
|
},
|
|
88
88
|
{
|
|
89
|
-
"hash": "sha256-
|
|
89
|
+
"hash": "sha256-ie/IGvR2skZfq52M9F2BhanMZbOL9p84vuWvw8EvPFw=",
|
|
90
90
|
"url": "_content/MindExecution.Shared/js/mind-map-css3d-manager.js"
|
|
91
91
|
},
|
|
92
92
|
{
|
|
@@ -106,7 +106,7 @@
|
|
|
106
106
|
"url": "_content/MindExecution.Shared/js/mind-map-glow-shader.js"
|
|
107
107
|
},
|
|
108
108
|
{
|
|
109
|
-
"hash": "sha256-
|
|
109
|
+
"hash": "sha256-wt0KmPRXo3aaKAC3Os0NDeUacjHxFu1XYUYA6OmtKw8=",
|
|
110
110
|
"url": "_content/MindExecution.Shared/js/mind-map-interactions.js"
|
|
111
111
|
},
|
|
112
112
|
{
|
|
@@ -114,7 +114,7 @@
|
|
|
114
114
|
"url": "_content/MindExecution.Shared/js/mind-map-lod-plan-worker.js"
|
|
115
115
|
},
|
|
116
116
|
{
|
|
117
|
-
"hash": "sha256-
|
|
117
|
+
"hash": "sha256-CkbATXEMdPSeKddXjOucy20mJm9vY2Sbn4I8/uQiCeg=",
|
|
118
118
|
"url": "_content/MindExecution.Shared/js/mind-map-lod-renderer.js"
|
|
119
119
|
},
|
|
120
120
|
{
|