@mindexec/cli 0.2.278 → 0.2.280

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.278",
3
+ "version": "0.2.280",
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 = '20260620-css3d-flat-wheel-v726';
8
+ const MINDMAP_CORE_BUILD_ID = '20260620-css3d-flat-wheel-v728';
9
9
  const CanvasPhase = Object.freeze({
10
10
  Booting: 'booting',
11
11
  BoardFileLoading: 'board-file-loading',
@@ -768,6 +768,26 @@
768
768
  return true;
769
769
  }
770
770
 
771
+ function deferWebglBootstrapForCameraMotion(module, mode) {
772
+ if (!module) {
773
+ return false;
774
+ }
775
+
776
+ module._clearWebglCanvasCameraTransform?.();
777
+ module._webglCameraMotionDeferred = true;
778
+ const normalizedMode = String(mode || 'cameraMotion');
779
+ module._lastWebglRenderInfo = {
780
+ calls: 0,
781
+ triangles: 0,
782
+ points: 0,
783
+ lines: 0,
784
+ skipped: true,
785
+ webglCanvasCameraBootstrapDeferred: true,
786
+ [normalizedMode]: true
787
+ };
788
+ return true;
789
+ }
790
+
771
791
  const RENDER_DEBUG_STORAGE_KEY = 'mindmap.renderDebug.flags';
772
792
  const RENDER_DEBUG_FLAGS_SCHEMA_VERSION = 2;
773
793
  const DEFAULT_RENDER_DEBUG_FLAGS = Object.freeze({
@@ -1783,6 +1803,8 @@
1783
1803
  };
1784
1804
  } else if (shouldFreezeWebglCanvasForZoom === true) {
1785
1805
  markWebglSurfaceFrozenForZoom(module, 'uaUltraEarlyCameraOnly');
1806
+ } else if (module.isZooming === true) {
1807
+ deferWebglBootstrapForCameraMotion(module, 'uaUltraEarlyCameraOnly');
1786
1808
  } else {
1787
1809
  module._clearWebglCanvasCameraTransform?.();
1788
1810
  module.renderer.render(module.scene, module.camera);
@@ -2007,6 +2029,8 @@
2007
2029
  };
2008
2030
  } else if (shouldFreezeWebglSurfaceForZoom(module) === true) {
2009
2031
  markWebglSurfaceFrozenForZoom(module, 'uaUltraResidentCameraOnly');
2032
+ } else if (module.isZooming === true) {
2033
+ deferWebglBootstrapForCameraMotion(module, 'uaUltraResidentCameraOnly');
2010
2034
  } else {
2011
2035
  module._clearWebglCanvasCameraTransform?.();
2012
2036
  module.renderer.render(module.scene, module.camera);
@@ -5657,18 +5681,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
5657
5681
  } else if (shouldFreezeWebglCanvasForZoom === true) {
5658
5682
  markWebglSurfaceFrozenForZoom(this, 'uaWheelZoomDirect');
5659
5683
  } else {
5660
- this._clearWebglCanvasCameraTransform?.();
5661
- this.renderer.render(this.scene, this.camera);
5662
- this._recordWebglRenderedCameraState?.();
5663
- const renderInfo = this.renderer?.info?.render || null;
5664
- this._lastWebglRenderInfo = renderInfo ? {
5665
- calls: Number(renderInfo.calls || 0),
5666
- triangles: Number(renderInfo.triangles || 0),
5667
- points: Number(renderInfo.points || 0),
5668
- lines: Number(renderInfo.lines || 0),
5669
- uaWheelZoomDirect: true,
5670
- webglCanvasCameraBootstrap: true
5671
- } : null;
5684
+ deferWebglBootstrapForCameraMotion(this, 'uaWheelZoomDirect');
5672
5685
  }
5673
5686
  }
5674
5687
 
@@ -7116,7 +7129,8 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
7116
7129
  if (canReuseWebglCanvasForImmediateMotion === true) {
7117
7130
  deferContinuousThemeForCameraMotion(this);
7118
7131
  }
7119
- if (shouldFreezeWebglCanvasForImmediateZoom !== true &&
7132
+ if (this.isZooming !== true &&
7133
+ shouldFreezeWebglCanvasForImmediateZoom !== true &&
7120
7134
  !canReuseWebglCanvasForImmediateMotion &&
7121
7135
  renderDebugFlags.enableThemeAnimation !== false &&
7122
7136
  isLocalSnapGridOnlyTheme(this) !== true &&
@@ -7155,6 +7169,8 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
7155
7169
  } else {
7156
7170
  if (shouldFreezeWebglCanvasForImmediateZoom === true) {
7157
7171
  markWebglSurfaceFrozenForZoom(this, 'uaVisualOnlyMotion');
7172
+ } else if (this.isZooming === true) {
7173
+ deferWebglBootstrapForCameraMotion(this, 'uaVisualOnlyMotion');
7158
7174
  } else {
7159
7175
  this._clearWebglCanvasCameraTransform();
7160
7176
  this.renderer.render(this.scene, this.camera);
@@ -7296,7 +7312,8 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
7296
7312
  if (canReuseWebglCanvasForStationaryMotion === true) {
7297
7313
  deferContinuousThemeForCameraMotion(this);
7298
7314
  }
7299
- if (shouldFreezeWebglCanvasForStationaryZoom !== true &&
7315
+ if (this.isZooming !== true &&
7316
+ shouldFreezeWebglCanvasForStationaryZoom !== true &&
7300
7317
  !canReuseWebglCanvasForStationaryMotion &&
7301
7318
  renderDebugFlags.enableThemeAnimation !== false &&
7302
7319
  isLocalSnapGridOnlyTheme(this) !== true &&
@@ -7335,6 +7352,8 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
7335
7352
  } else {
7336
7353
  if (shouldFreezeWebglCanvasForStationaryZoom === true) {
7337
7354
  markWebglSurfaceFrozenForZoom(this, 'uaStationaryVisualMotion');
7355
+ } else if (this.isZooming === true) {
7356
+ deferWebglBootstrapForCameraMotion(this, 'uaStationaryVisualMotion');
7338
7357
  } else {
7339
7358
  this._clearWebglCanvasCameraTransform();
7340
7359
  this.renderer.render(this.scene, this.camera);
@@ -7491,7 +7510,8 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
7491
7510
  if (canReuseWebglCanvasForResidentMotion === true) {
7492
7511
  deferContinuousThemeForCameraMotion(this);
7493
7512
  }
7494
- if (shouldFreezeWebglCanvasForResidentZoom !== true &&
7513
+ if (this.isZooming !== true &&
7514
+ shouldFreezeWebglCanvasForResidentZoom !== true &&
7495
7515
  !canReuseWebglCanvasForResidentMotion &&
7496
7516
  renderDebugFlags.enableThemeAnimation !== false &&
7497
7517
  isLocalSnapGridOnlyTheme(this) !== true &&
@@ -7529,6 +7549,8 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
7529
7549
  } else {
7530
7550
  if (shouldFreezeWebglCanvasForResidentZoom === true) {
7531
7551
  markWebglSurfaceFrozenForZoom(this, 'uaResidentVisualOnlyMotion');
7552
+ } else if (this.isZooming === true) {
7553
+ deferWebglBootstrapForCameraMotion(this, 'uaResidentVisualOnlyMotion');
7532
7554
  } else {
7533
7555
  this._clearWebglCanvasCameraTransform();
7534
7556
  this.renderer.render(this.scene, this.camera);
@@ -7723,6 +7745,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
7723
7745
 
7724
7746
  const shouldSampleWebglDuringCameraMotion =
7725
7747
  renderDebugFlags.sampleWebglDuringCameraMotion === true &&
7748
+ this.isZooming !== true &&
7726
7749
  (this.frameCount % CAMERA_MOTION_WEBGL_FRAME_INTERVAL) === 0;
7727
7750
  const shouldFreezeWebglCanvasForEarlyZoom =
7728
7751
  shouldFreezeWebglSurfaceForZoom(this) === true;
@@ -7763,6 +7786,8 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
7763
7786
  webglCanvasCameraTransform: true,
7764
7787
  uaEarlyCameraOnly: true
7765
7788
  };
7789
+ } else if (this.isZooming === true) {
7790
+ deferWebglBootstrapForCameraMotion(this, 'uaEarlyCameraOnly');
7766
7791
  } else if (this.renderer && this.scene && this.camera) {
7767
7792
  let hiddenEarlyCameraMotionThemeObject = null;
7768
7793
  this._clearWebglCanvasCameraTransform();
@@ -8509,6 +8534,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
8509
8534
  // ----------------------------------------------------------------
8510
8535
  const shouldSampleWebglDuringCameraMotion =
8511
8536
  renderDebugFlags.sampleWebglDuringCameraMotion === true &&
8537
+ this.isZooming !== true &&
8512
8538
  (this.frameCount % CAMERA_MOTION_WEBGL_FRAME_INTERVAL) === 0;
8513
8539
  if (isCameraNavigationOnlyInteractiveFrame === true ||
8514
8540
  this.isPanning === true ||
@@ -8633,6 +8659,12 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
8633
8659
  } else {
8634
8660
  if (shouldFreezeWebglSurfaceForZoom(this) === true) {
8635
8661
  markWebglSurfaceFrozenForZoom(this, 'normalWebglRender');
8662
+ } else if (this.isZooming === true &&
8663
+ isCameraNavigationOnlyInteractiveFrame === true &&
8664
+ shouldUpdate !== true &&
8665
+ themeAnimatedThisFrame !== true &&
8666
+ shouldFinalizeWebglCanvasCameraTransform !== true) {
8667
+ deferWebglBootstrapForCameraMotion(this, 'normalZoomCameraMotion');
8636
8668
  } else {
8637
8669
  this._clearWebglCanvasCameraTransform();
8638
8670
  if (shouldHideBackgroundThemeDuringCameraNavigation) {
@@ -7,8 +7,8 @@
7
7
  <title>MindExec | Business Execution OS for solo builders</title>
8
8
  <meta name="description" content="MindExec is an AI business execution OS for solo builders who want to turn notes, research, assets, and repeatable execution Skills into revenue-producing work." />
9
9
  <base href="/" />
10
- <link rel="stylesheet" href="_content/MindExecution.Shared/css/app.css?v=20260620-css3d-flat-wheel-v726" />
11
- <link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260620-css3d-flat-wheel-v726" />
10
+ <link rel="stylesheet" href="_content/MindExecution.Shared/css/app.css?v=20260620-css3d-flat-wheel-v728" />
11
+ <link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260620-css3d-flat-wheel-v728" />
12
12
  <!-- ?�▼??Font Awesome (local) ?�▼??-->
13
13
  <link rel="stylesheet" href="_content/MindExecution.Shared/lib/font-awesome/css/all.min.css" />
14
14
  <!-- ?�▲??-->
@@ -579,7 +579,7 @@
579
579
  }
580
580
 
581
581
  const base = '_content/MindExecution.Shared/js/';
582
- const scriptVersion = '20260620-css3d-flat-wheel-v726';
582
+ const scriptVersion = '20260620-css3d-flat-wheel-v728';
583
583
  const scriptUrl = (script) => `${base}${script}?v=${scriptVersion}`;
584
584
  console.log(`[Script Loader] Shared JS version: ${scriptVersion}`);
585
585
  const criticalScripts = [
@@ -1,5 +1,5 @@
1
1
  self.assetsManifest = {
2
- "version": "2Uo47qIz",
2
+ "version": "FCFiOPFS",
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-Bc95mzMx8jS/7dgil0lXOdYS/gd/LPgW3qBBwDwHzt8=",
81
+ "hash": "sha256-pMyO/ImYhCgI4GNnRzeHujvl85idQabhgamLQQqHM1k=",
82
82
  "url": "_content/MindExecution.Shared/js/mind-map-core.js"
83
83
  },
84
84
  {
@@ -834,7 +834,7 @@
834
834
  "url": "image-manifest.json"
835
835
  },
836
836
  {
837
- "hash": "sha256-R+BEXjNYYoIQuk482hOA0eigxNMYe0wNSmtAgRrSU8k=",
837
+ "hash": "sha256-yLo2j8CTV6E9gXnuGf0/o/Uv9Xh3yhcpoJJlzaQ8G1U=",
838
838
  "url": "index.html"
839
839
  },
840
840
  {
@@ -1,4 +1,4 @@
1
- /* Manifest version: 2Uo47qIz */
1
+ /* Manifest version: FCFiOPFS */
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