@mindexec/cli 0.2.220 → 0.2.222

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mindexec/cli",
3
- "version": "0.2.220",
3
+ "version": "0.2.222",
4
4
  "description": "MindExec local runtime and bridge CLI",
5
5
  "main": "server.js",
6
6
  "type": "module",
@@ -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-ultra-resident-camera-v666';
8
+ const MINDMAP_CORE_BUILD_ID = '20260619-ua-motion-hidden-work-v669';
9
9
  const CanvasPhase = Object.freeze({
10
10
  Booting: 'booting',
11
11
  BoardFileLoading: 'board-file-loading',
@@ -436,13 +436,51 @@
436
436
  }
437
437
  }
438
438
 
439
- function isContinuousBackgroundTheme(module) {
439
+ function getThemeAnimationModeCached(module) {
440
440
  if (!module?.currentThemeObject || typeof window === 'undefined') {
441
+ return 'none';
442
+ }
443
+
444
+ const frameId = Number(module.frameCount || 0);
445
+ const themeName = String(module.currentThemeName || '');
446
+ const themeObject = module.currentThemeObject || null;
447
+ const cache = module._themeAnimationModeFrameCache || null;
448
+ if (cache &&
449
+ cache.frameId === frameId &&
450
+ cache.themeName === themeName &&
451
+ cache.themeObject === themeObject) {
452
+ return cache.mode || 'none';
453
+ }
454
+
455
+ const mode =
456
+ window.MindMapThemes?.getAnimationMode?.(themeName, themeObject) ||
457
+ 'none';
458
+ module._themeAnimationModeFrameCache = {
459
+ frameId,
460
+ themeName,
461
+ themeObject,
462
+ mode
463
+ };
464
+ return mode;
465
+ }
466
+
467
+ function isContinuousBackgroundTheme(module) {
468
+ return getThemeAnimationModeCached(module) === 'continuous';
469
+ }
470
+
471
+ function canUseWebglCanvasTransformForCameraMotion(module) {
472
+ if (CAMERA_MOTION_WEBGL_CANVAS_TRANSFORM_ENABLED !== true) {
473
+ return false;
474
+ }
475
+
476
+ // Static backgrounds can move as a single viewport surface. Continuous
477
+ // themes need real animation frames during interaction; freezing the
478
+ // last WebGL canvas makes particle themes look like they are skipping.
479
+ if (isContinuousBackgroundTheme(module) === true) {
441
480
  return false;
442
481
  }
443
482
 
444
- const mode = window.MindMapThemes?.getAnimationMode?.(module.currentThemeName, module.currentThemeObject);
445
- return mode === 'continuous';
483
+ return true;
446
484
  }
447
485
 
448
486
  function deferContinuousThemeForCameraMotion(module) {
@@ -738,6 +776,15 @@
738
776
  };
739
777
  }
740
778
 
779
+ const cachedContainerWidth = Math.max(0, Number(module?._lastContainerWidth || 0));
780
+ const cachedContainerHeight = Math.max(0, Number(module?._lastContainerHeight || 0));
781
+ if (cachedContainerWidth > 0 && cachedContainerHeight > 0) {
782
+ return {
783
+ width: cachedContainerWidth,
784
+ height: cachedContainerHeight
785
+ };
786
+ }
787
+
741
788
  return {
742
789
  width: Math.max(1, Number(module?.container?.clientWidth || 0)),
743
790
  height: Math.max(1, Number(module?.container?.clientHeight || 0))
@@ -1222,7 +1269,7 @@
1222
1269
  let usedWebglCanvasCameraTransform = false;
1223
1270
  if (isWebglRenderEnabled && module.renderer && module.scene && module.camera) {
1224
1271
  const canReuseWebglCanvas = !!(
1225
- CAMERA_MOTION_WEBGL_CANVAS_TRANSFORM_ENABLED === true &&
1272
+ canUseWebglCanvasTransformForCameraMotion(module) === true &&
1226
1273
  module._lastWebglRenderedCameraState &&
1227
1274
  module.renderer?.domElement
1228
1275
  );
@@ -1353,10 +1400,7 @@
1353
1400
  isCss3dEnabled === true &&
1354
1401
  module.cssRenderer &&
1355
1402
  typeof module.cssRenderer.renderCamera === 'function' &&
1356
- (
1357
- (module.lodRenderer._lodImageCssFallbackNodeIds?.size || 0) > 0 ||
1358
- (module.lodRenderer._lodTemplateCssNodeIds?.size || 0) > 0
1359
- )
1403
+ module.lodRenderer.hasCss3dLodCandidates?.() === true
1360
1404
  );
1361
1405
  if (isWebglRenderEnabled !== true && canRenderCss3dCamera !== true) {
1362
1406
  return false;
@@ -1444,7 +1488,7 @@
1444
1488
  let usedWebglCanvasCameraTransform = false;
1445
1489
  if (isWebglRenderEnabled === true && module.renderer && module.scene && module.camera) {
1446
1490
  const canReuseWebglCanvas = !!(
1447
- CAMERA_MOTION_WEBGL_CANVAS_TRANSFORM_ENABLED === true &&
1491
+ canUseWebglCanvasTransformForCameraMotion(module) === true &&
1448
1492
  module._lastWebglRenderedCameraState &&
1449
1493
  module.renderer?.domElement
1450
1494
  );
@@ -3297,6 +3341,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
3297
3341
  this._viewStatePersistNeedsFreshSnapshot = false;
3298
3342
  this._viewStatePersistDelayMs = 650;
3299
3343
  this._viewStatePersistScheduledAt = 0;
3344
+ this._viewStatePersistAfterMotion = false;
3300
3345
  this._postLoadVisualSyncToken = 0;
3301
3346
  this._overlayDirty = true;
3302
3347
  this._lastOverlayKey = '';
@@ -4508,8 +4553,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
4508
4553
  _getThemeAnimationInterval(interactive = false, animationMode = null) {
4509
4554
  const mode = this.themePerformanceMode || 'work';
4510
4555
  const isGpuParticleTheme = this.currentThemeName === 'Space3D' || this.currentThemeName === 'SpiritFlow';
4511
- const themeAnimationMode = animationMode ||
4512
- window.MindMapThemes?.getAnimationMode?.(this.currentThemeName, this.currentThemeObject);
4556
+ const themeAnimationMode = animationMode || getThemeAnimationModeCached(this);
4513
4557
 
4514
4558
  if (themeAnimationMode === 'camera') {
4515
4559
  return interactive ? 2 : 30;
@@ -4829,8 +4873,11 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
4829
4873
  viewHeight = 2 * Math.tan(vfov / 2) * Math.max(1, cameraZ);
4830
4874
  viewWidth = viewHeight * Math.max(0.1, Number(camera.aspect || 1));
4831
4875
 
4832
- const worldPerPxX = viewWidth / Math.max(1, this.container.clientWidth);
4833
- const worldPerPxY = viewHeight / Math.max(1, this.container.clientHeight);
4876
+ const viewportMetrics = getCachedViewportMetrics(this);
4877
+ const viewportWidth = Math.max(1, Number(viewportMetrics.width || 1));
4878
+ const viewportHeight = Math.max(1, Number(viewportMetrics.height || 1));
4879
+ const worldPerPxX = viewWidth / viewportWidth;
4880
+ const worldPerPxY = viewHeight / viewportHeight;
4834
4881
  const rawMarginWorld = cullingMarginPx * Math.max(worldPerPxX, worldPerPxY);
4835
4882
  const cellSize = this.GRID_CELL_SIZE || 500;
4836
4883
  marginWorld = Math.min(rawMarginWorld, cellSize * maxMarginCells);
@@ -5381,7 +5428,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
5381
5428
  const deltaMove = this.camera.position.distanceToSquared(this._tmpOldCamPos);
5382
5429
  const isCameraMoving = deltaMove > 0.0001;
5383
5430
  if (isCameraMoving) {
5384
- this.scheduleViewStatePersist();
5431
+ this._viewStatePersistAfterMotion = true;
5385
5432
  }
5386
5433
 
5387
5434
  // ▼▼▼ [Fix] Update selection box when camera moves ▼▼▼
@@ -5410,7 +5457,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
5410
5457
 
5411
5458
  if (this.isZooming && !isCameraMoving && timeSinceLastInput > ZOOM_END_DELAY_MS) {
5412
5459
  this.isZooming = false;
5413
- document.body.classList.remove('is-zooming');
5460
+ document.body?.classList?.remove?.('is-zooming');
5414
5461
  this.cssRenderer?.domElement?.classList?.remove?.('is-zooming');
5415
5462
  if (FRAME_PERF_DEBUG) {
5416
5463
  console.log(`[Perf] Zoom ended (${timeSinceLastInput.toFixed(0)}ms since last input)`);
@@ -5527,6 +5574,18 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
5527
5574
  window.MindMapTextOverlayV2?.invalidateView?.(this);
5528
5575
  }
5529
5576
  }
5577
+
5578
+ if (this._viewStatePersistAfterMotion === true &&
5579
+ this.isZooming !== true &&
5580
+ this.isPanning !== true &&
5581
+ isCameraMoving !== true &&
5582
+ this.isDraggingNode !== true &&
5583
+ this.isDraggingMultipleNodes !== true &&
5584
+ this.isResizing !== true &&
5585
+ this.isWindowResizing !== true) {
5586
+ this._viewStatePersistAfterMotion = false;
5587
+ this.scheduleViewStatePersist();
5588
+ }
5530
5589
 
5531
5590
  // 3. Unified Visibility & LOD Pass (One Loop to Rule Them All)
5532
5591
  // ----------------------------------------------------------------
@@ -5782,7 +5841,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
5782
5841
 
5783
5842
  updateCursorDomElement(this);
5784
5843
  const canReuseWebglCanvasForImmediateMotion = !!(
5785
- CAMERA_MOTION_WEBGL_CANVAS_TRANSFORM_ENABLED === true &&
5844
+ canUseWebglCanvasTransformForCameraMotion(this) === true &&
5786
5845
  renderDebugFlags.enableWebglRender !== false &&
5787
5846
  this._lastWebglRenderedCameraState &&
5788
5847
  this.renderer?.domElement
@@ -5961,7 +6020,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
5961
6020
 
5962
6021
  updateCursorDomElement(this);
5963
6022
  const canReuseWebglCanvasForStationaryMotion = !!(
5964
- CAMERA_MOTION_WEBGL_CANVAS_TRANSFORM_ENABLED === true &&
6023
+ canUseWebglCanvasTransformForCameraMotion(this) === true &&
5965
6024
  isWebglRenderEnabled &&
5966
6025
  this._lastWebglRenderedCameraState &&
5967
6026
  this.renderer?.domElement
@@ -6104,7 +6163,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
6104
6163
  isCss3dEnabled === true &&
6105
6164
  !!this.cssRenderer &&
6106
6165
  typeof this.cssRenderer.renderCamera === 'function' &&
6107
- this.lodRenderer?.shouldRenderCss3dInLod?.() === true
6166
+ this.lodRenderer?.hasCss3dLodCandidates?.() === true
6108
6167
  );
6109
6168
  const canUseUaResidentCameraOnlyFrame = CAMERA_MOTION_VISUAL_ONLY_FAST_PATH_ENABLED === true && !!(
6110
6169
  shouldPreferCameraOnlyMotionPipeline === true &&
@@ -6153,7 +6212,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
6153
6212
 
6154
6213
  updateCursorDomElement(this);
6155
6214
  const canReuseWebglCanvasForResidentMotion = !!(
6156
- CAMERA_MOTION_WEBGL_CANVAS_TRANSFORM_ENABLED === true &&
6215
+ canUseWebglCanvasTransformForCameraMotion(this) === true &&
6157
6216
  isWebglRenderEnabled === true &&
6158
6217
  this._lastWebglRenderedCameraState &&
6159
6218
  this.renderer?.domElement
@@ -6291,18 +6350,18 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
6291
6350
  this._scheduleAnimationLoop(loop, 0);
6292
6351
  return;
6293
6352
  }
6294
- const themeAnimationMode =
6295
- window.MindMapThemes?.getAnimationMode?.(this.currentThemeName, this.currentThemeObject) ||
6296
- 'none';
6353
+ const themeAnimationMode = getThemeAnimationModeCached(this);
6297
6354
  const isContinuousTheme = themeAnimationMode === 'continuous';
6298
6355
  const shouldPauseThemeForCameraNavigation =
6299
6356
  isContinuousTheme === true &&
6300
6357
  isCameraNavigationOnlyInteractiveFrame === true &&
6301
- this._forceThemeAnimationFrame !== true;
6358
+ this._forceThemeAnimationFrame !== true &&
6359
+ canUseWebglCanvasTransformForCameraMotion(this) === true;
6302
6360
  const allowContinuousThemeAnimationThisFrame =
6303
6361
  shouldPauseThemeForCameraNavigation === true
6304
6362
  ? false
6305
6363
  : (isContinuousTheme !== true ||
6364
+ (isContinuousTheme === true && isCameraNavigationOnlyInteractiveFrame === true) ||
6306
6365
  (isInteractiveFrame === true && !isCameraNavigationOnlyInteractiveFrame) ||
6307
6366
  (shouldUpdate === true && !isCameraNavigationOnlyInteractiveFrame) ||
6308
6367
  hasNonCameraNavigationForcedUpdate === true ||
@@ -6399,7 +6458,8 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
6399
6458
  uaEarlyCameraOnly: true
6400
6459
  } : null;
6401
6460
  }
6402
- } else if (isWebglRenderEnabled) {
6461
+ } else if (isWebglRenderEnabled &&
6462
+ canUseWebglCanvasTransformForCameraMotion(this) === true) {
6403
6463
  usedWebglCanvasCameraTransformEarly =
6404
6464
  this._applyWebglCanvasCameraTransform() === true;
6405
6465
  this._webglCameraMotionDeferred = true;
@@ -6775,7 +6835,11 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
6775
6835
  // ▼▼▼ [Perf] CSS3D 동기화/렌더 스로틀 (정지 프레임은 스킵) ▼▼▼
6776
6836
  const hasResidentCssMediaFallback =
6777
6837
  isLodModeActive === true &&
6778
- this.lodRenderer?.shouldRenderCss3dInLod?.() === true;
6838
+ (
6839
+ (this.isPanning === true || this.isZooming === true || isCameraMoving === true)
6840
+ ? this.lodRenderer?.hasCss3dLodCandidates?.() === true
6841
+ : this.lodRenderer?.shouldRenderCss3dInLod?.() === true
6842
+ );
6779
6843
  const shouldUpdateResidentCssMediaFallback =
6780
6844
  hasResidentCssMediaFallback === true &&
6781
6845
  (
@@ -6955,7 +7019,11 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
6955
7019
  );
6956
7020
 
6957
7021
  const isInLodMode = this.lodRenderer?.isInLODMode === true;
6958
- const shouldRenderCss3dInLod = isInLodMode && this.lodRenderer?.shouldRenderCss3dInLod?.() === true;
7022
+ const shouldRenderCss3dInLod = isInLodMode && (
7023
+ (this.isPanning === true || this.isZooming === true || isCameraMoving === true)
7024
+ ? this.lodRenderer?.hasCss3dLodCandidates?.() === true
7025
+ : this.lodRenderer?.shouldRenderCss3dInLod?.() === true
7026
+ );
6959
7027
  const shouldRenderPassiveDomTextOverlay =
6960
7028
  isPassiveDomOverlayRuntimeEnabled &&
6961
7029
  window.MindMapTextOverlayV2?.shouldRenderPassiveDomOverlays?.(this) === true;
@@ -7236,6 +7304,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
7236
7304
  const shouldUseWebglCanvasCameraTransformFrame = !!(
7237
7305
  isWebglRenderEnabled &&
7238
7306
  isCameraNavigationOnlyInteractiveFrame === true &&
7307
+ canUseWebglCanvasTransformForCameraMotion(this) === true &&
7239
7308
  shouldUpdate !== true &&
7240
7309
  themeAnimatedThisFrame !== true &&
7241
7310
  shouldUseAnimationCadenceForWebglFrame !== true &&
@@ -7283,7 +7352,8 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
7283
7352
  if (isPureCss3dCameraMotionFrame === true) {
7284
7353
  this._webglCameraMotionDeferred = true;
7285
7354
  }
7286
- if (isCameraNavigationOnlyInteractiveFrame === true) {
7355
+ if (isCameraNavigationOnlyInteractiveFrame === true &&
7356
+ canUseWebglCanvasTransformForCameraMotion(this) === true) {
7287
7357
  usedWebglCanvasCameraTransform = this._applyWebglCanvasCameraTransform() === true;
7288
7358
  } else {
7289
7359
  this._clearWebglCanvasCameraTransform();
@@ -7991,6 +8061,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
7991
8061
  this._viewStatePersistTimer = null;
7992
8062
  }
7993
8063
  this._viewStatePersistNeedsFreshSnapshot = false;
8064
+ this._viewStatePersistAfterMotion = false;
7994
8065
 
7995
8066
  MindMapInteractions.removeEventListeners(this);
7996
8067
  MindMapDnD.removeEventListeners(this);
@@ -7676,14 +7676,15 @@
7676
7676
 
7677
7677
  function isBusinessAutomationTooltipMotionSuppressed(options = {}) {
7678
7678
  const now = getBusinessAutomationTooltipNow();
7679
- const bodyClassList = document?.body?.classList;
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
- || bodyClassList?.contains?.('is-panning') === true
7686
- || bodyClassList?.contains?.('is-zooming') === true;
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 body?.classList?.contains?.('is-zooming') === true
21350
- || body?.classList?.contains?.('is-panning') === true
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": "bumR5GL+",
2
+ "version": "NkvpJJ8/",
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-VSYItZC2O/EiJA5r3szTUZT1I7ezshSbJySl4zSEbh0=",
81
+ "hash": "sha256-IGDZ3MCmnbGYUOTQ+ZcCHKhoWl6A4Slr4e8fg9isZM8=",
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-c0RM7WmazgwTuEthS+JiPz+oNnTLRhoWYe/U5oPvZZw=",
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-imzQ/x03UGS7AKyGtloZzcQLml/ZzuNNP79JIaIbImQ=",
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-h9HTvPZNICFKbsz4cykIIE6WY9z/IybCQ2MCKpELnIM=",
117
+ "hash": "sha256-CkbATXEMdPSeKddXjOucy20mJm9vY2Sbn4I8/uQiCeg=",
118
118
  "url": "_content/MindExecution.Shared/js/mind-map-lod-renderer.js"
119
119
  },
120
120
  {
@@ -1,4 +1,4 @@
1
- /* Manifest version: bumR5GL+ */
1
+ /* Manifest version: NkvpJJ8/ */
2
2
  // Hosted deployments should prefer the network over stale offline caches.
3
3
  // This service worker immediately clears old Blazor offline caches and unregisters itself.
4
4