@mindexec/cli 0.2.264 → 0.2.265

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.264",
3
+ "version": "0.2.265",
4
4
  "description": "MindExec local runtime and bridge CLI",
5
5
  "main": "server.js",
6
6
  "type": "module",
@@ -217,9 +217,6 @@
217
217
  }
218
218
 
219
219
  function createAdaptiveXYGridOverlay(colorValue, options = {}) {
220
- const overlayGroup = new THREE.Group();
221
- const color = resolveThemeGridColor(colorValue, THEME_GRID_COLOR);
222
- const tmp = new THREE.Vector3();
223
220
  const settings = {
224
221
  fineDistance: 45000,
225
222
  coarseDistance: 120000,
@@ -234,14 +231,15 @@
234
231
  };
235
232
 
236
233
  if (settings.localCssOnly === true) {
237
- overlayGroup.visible = false;
238
- overlayGroup.userData.lightweightAdaptiveGrid = true;
239
- overlayGroup.userData.localSnapGrid = true;
240
- overlayGroup.userData.localSnapGridStyle = settings.localSnapGridStyle || 'line';
241
- overlayGroup.animate = () => { };
242
- return setThemeAnimationMode(overlayGroup, THEME_ANIMATION_MODE.None);
234
+ return createLocalSnapGridTheme(null, {
235
+ themeAlias: settings.themeAlias || 'AdaptiveLocalSnapGrid',
236
+ localSnapGridStyle: settings.localSnapGridStyle || 'line'
237
+ });
243
238
  }
244
239
 
240
+ const overlayGroup = new THREE.Group();
241
+ const color = resolveThemeGridColor(colorValue, THEME_GRID_COLOR);
242
+ const tmp = new THREE.Vector3();
245
243
  const grids = [
246
244
  {
247
245
  key: 'fine',
@@ -296,6 +294,21 @@
296
294
  return setThemeAnimationMode(overlayGroup, THEME_ANIMATION_MODE.Camera);
297
295
  }
298
296
 
297
+ function createLocalSnapGridTheme(scene, options = {}) {
298
+ const themeGroup = new THREE.Group();
299
+ themeGroup.visible = false;
300
+ themeGroup.userData.lightweightAdaptiveGrid = true;
301
+ themeGroup.userData.localSnapGrid = true;
302
+ themeGroup.userData.localSnapGridStyle = options.localSnapGridStyle || 'line';
303
+ themeGroup.userData.localSnapGridRadiusPx = 500;
304
+ themeGroup.userData.themeAlias = options.themeAlias || 'LocalSnapGrid';
305
+ themeGroup.animate = () => { };
306
+ if (scene && options.backgroundColor !== undefined) {
307
+ scene.background = new THREE.Color(options.backgroundColor);
308
+ }
309
+ return setThemeAnimationMode(themeGroup, THEME_ANIMATION_MODE.None);
310
+ }
311
+
299
312
  // --- Theme definitions ---
300
313
  const themes = {
301
314
  // Theme 1: SpatialGrid (3D dots + '+' markers)
@@ -330,37 +343,23 @@
330
343
  // Theme 2: SpatialGrid2D (lightweight adaptive grid on the XY plane)
331
344
  'SpatialGrid2D': {
332
345
  create: (scene) => {
333
- scene.background = new THREE.Color(THEME_SURFACE_BG);
334
- const grid = createAdaptiveXYGridOverlay(new THREE.Color(THEME_GRID_COLOR_SOFT), {
335
- localCssOnly: true,
346
+ return createLocalSnapGridTheme(scene, {
347
+ themeAlias: 'SpatialGrid2D',
336
348
  localSnapGridStyle: 'dot',
337
- fineDistance: 42000,
338
- coarseDistance: 120000,
339
- farDistance: 320000,
340
- fineSmallOpacity: 0.36,
341
- fineLargeOpacity: 0.24,
342
- coarseSmallOpacity: 0.3,
343
- coarseLargeOpacity: 0.2,
344
- farSmallOpacity: 0.24,
345
- farLargeOpacity: 0.14
349
+ backgroundColor: THEME_SURFACE_BG
346
350
  });
347
- grid.userData.themeAlias = 'SpatialGrid2D';
348
- grid.userData.lightweightAdaptiveGrid = true;
349
- return grid;
350
351
  },
351
352
  dispose: (themeObject) => { disposeThemeObject(themeObject); }
352
353
  },
353
-
354
+
354
355
  // Theme 3: GridPlane (basic 2D grid - rendered by the local CSS snap grid)
355
356
  'GridPlane': {
356
357
  create: (scene) => {
357
- scene.background = new THREE.Color(THEME_PLAIN_BG);
358
- const grid = createAdaptiveXYGridOverlay(new THREE.Color(THEME_GRID_COLOR), {
359
- localCssOnly: true,
360
- localSnapGridStyle: 'line'
358
+ return createLocalSnapGridTheme(scene, {
359
+ themeAlias: 'GridPlane',
360
+ localSnapGridStyle: 'line',
361
+ backgroundColor: THEME_PLAIN_BG
361
362
  });
362
- grid.userData.themeAlias = 'GridPlane';
363
- return grid;
364
363
  },
365
364
  dispose: (themeObject) => { disposeThemeObject(themeObject); }
366
365
  },
@@ -485,22 +484,13 @@
485
484
  }
486
485
  },
487
486
 
488
- // Theme 6: XYGrid (distance-based auto LOD grid)
487
+ // Theme 6: XYGrid (distance-based auto LOD grid)
489
488
  'XYGrid': {
490
489
  create: (scene) => {
491
- scene.background = new THREE.Color(THEME_PLAIN_BG);
492
- return createAdaptiveXYGridOverlay(new THREE.Color(THEME_GRID_COLOR), {
493
- localCssOnly: true,
490
+ return createLocalSnapGridTheme(scene, {
491
+ themeAlias: 'XYGrid',
494
492
  localSnapGridStyle: 'line',
495
- fineDistance: 45000,
496
- coarseDistance: 120000,
497
- farDistance: 320000,
498
- fineSmallOpacity: 0.4,
499
- fineLargeOpacity: 0.25,
500
- coarseSmallOpacity: 0.34,
501
- coarseLargeOpacity: 0.22,
502
- farSmallOpacity: 0.26,
503
- farLargeOpacity: 0.16
493
+ backgroundColor: THEME_PLAIN_BG
504
494
  });
505
495
  },
506
496
  dispose: (themeObject) => { disposeThemeObject(themeObject); }
@@ -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-v712';
8
+ const MINDMAP_CORE_BUILD_ID = '20260620-css3d-flat-wheel-v713';
9
9
  const CanvasPhase = Object.freeze({
10
10
  Booting: 'booting',
11
11
  BoardFileLoading: 'board-file-loading',
@@ -1736,7 +1736,9 @@
1736
1736
  }
1737
1737
  }
1738
1738
 
1739
- module._syncMotionGridLayerForCameraNavigation?.(usedWebglCanvasCameraTransform);
1739
+ if (module._shouldTouchMotionGridLayerForCameraNavigation?.() === true) {
1740
+ module._syncMotionGridLayerForCameraNavigation?.(usedWebglCanvasCameraTransform);
1741
+ }
1740
1742
  module._syncLocalSnapGridPositionOnly?.(true);
1741
1743
  renderCss3dCameraForCameraNavigation(module, 'ua-ultra-camera-only');
1742
1744
 
@@ -1958,7 +1960,9 @@
1958
1960
  }
1959
1961
  }
1960
1962
 
1961
- module._syncMotionGridLayerForCameraNavigation?.(usedWebglCanvasCameraTransform);
1963
+ if (module._shouldTouchMotionGridLayerForCameraNavigation?.() === true) {
1964
+ module._syncMotionGridLayerForCameraNavigation?.(usedWebglCanvasCameraTransform);
1965
+ }
1962
1966
  module._syncLocalSnapGridPositionOnly?.(true);
1963
1967
  if (canRenderCss3dCamera === true) {
1964
1968
  renderCss3dCameraForCameraNavigation(module, 'ua-ultra-resident-camera-only');
@@ -4458,6 +4462,10 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
4458
4462
  }
4459
4463
 
4460
4464
  _syncMotionGridLayerForCameraNavigation(usedWebglCanvasCameraTransform = false) {
4465
+ if (this._shouldTouchMotionGridLayerForCameraNavigation() !== true) {
4466
+ return false;
4467
+ }
4468
+
4461
4469
  if (usedWebglCanvasCameraTransform === true ||
4462
4470
  CAMERA_MOTION_GRID_FALLBACK_ENABLED !== true) {
4463
4471
  if (this._motionGridVisible === true || this._motionGridLayer) {
@@ -4469,6 +4477,12 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
4469
4477
  return this._syncMotionGridLayer(true);
4470
4478
  }
4471
4479
 
4480
+ _shouldTouchMotionGridLayerForCameraNavigation() {
4481
+ return CAMERA_MOTION_GRID_FALLBACK_ENABLED === true ||
4482
+ this._motionGridVisible === true ||
4483
+ !!this._motionGridLayer;
4484
+ }
4485
+
4472
4486
  _installForceUpdateWakeHook() {
4473
4487
  if (Object.getOwnPropertyDescriptor(this, '_forceUpdateFrames')?.get) {
4474
4488
  return;
@@ -5517,7 +5531,9 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
5517
5531
  }
5518
5532
  }
5519
5533
 
5520
- this._syncMotionGridLayerForCameraNavigation?.(usedWebglCanvasCameraTransform);
5534
+ if (this._shouldTouchMotionGridLayerForCameraNavigation?.() === true) {
5535
+ this._syncMotionGridLayerForCameraNavigation?.(usedWebglCanvasCameraTransform);
5536
+ }
5521
5537
  this._syncLocalSnapGridPositionOnly?.(true);
5522
5538
  if (canRenderCss3d === true) {
5523
5539
  renderCss3dCameraForCameraNavigation(this, 'ua-wheel-zoom-direct');
@@ -7007,7 +7023,9 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
7007
7023
  }
7008
7024
  }
7009
7025
  }
7010
- this._syncMotionGridLayerForCameraNavigation(usedWebglCanvasCameraTransformImmediate);
7026
+ if (this._shouldTouchMotionGridLayerForCameraNavigation?.() === true) {
7027
+ this._syncMotionGridLayerForCameraNavigation(usedWebglCanvasCameraTransformImmediate);
7028
+ }
7011
7029
  this._syncLocalSnapGridPositionOnly(true);
7012
7030
 
7013
7031
  renderCss3dCameraForCameraNavigation(this, 'ua-visual-only-motion');
@@ -7183,7 +7201,9 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
7183
7201
  }
7184
7202
  }
7185
7203
  }
7186
- this._syncMotionGridLayerForCameraNavigation(usedWebglCanvasCameraTransformStationary);
7204
+ if (this._shouldTouchMotionGridLayerForCameraNavigation?.() === true) {
7205
+ this._syncMotionGridLayerForCameraNavigation(usedWebglCanvasCameraTransformStationary);
7206
+ }
7187
7207
  this._syncLocalSnapGridPositionOnly(true);
7188
7208
  if (this.cssRenderer && typeof this.cssRenderer.renderCamera === 'function') {
7189
7209
  renderCss3dCameraForCameraNavigation(this, 'ua-stationary-visual-motion');
@@ -7628,7 +7648,9 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
7628
7648
  }
7629
7649
  }
7630
7650
 
7631
- this._syncMotionGridLayerForCameraNavigation(usedWebglCanvasCameraTransformEarly);
7651
+ if (this._shouldTouchMotionGridLayerForCameraNavigation?.() === true) {
7652
+ this._syncMotionGridLayerForCameraNavigation(usedWebglCanvasCameraTransformEarly);
7653
+ }
7632
7654
  renderCss3dCameraForCameraNavigation(this, 'ua-early-camera-only');
7633
7655
  _profileSection('uaEarlyCameraOnly');
7634
7656
 
@@ -8509,7 +8531,9 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
8509
8531
  }
8510
8532
  if (shouldUseMotionGridThemeSubstitute === true &&
8511
8533
  isCameraNavigationOnlyInteractiveFrame === true) {
8512
- this._syncMotionGridLayerForCameraNavigation(usedWebglCanvasCameraTransform);
8534
+ if (this._shouldTouchMotionGridLayerForCameraNavigation?.() === true) {
8535
+ this._syncMotionGridLayerForCameraNavigation(usedWebglCanvasCameraTransform);
8536
+ }
8513
8537
  }
8514
8538
  const shouldUseLocalSnapGridPositionOnly = !!(
8515
8539
  isCameraNavigationOnlyInteractiveFrame === true &&
@@ -8560,7 +8584,9 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
8560
8584
  }
8561
8585
  _profileSection('css3dRender');
8562
8586
  if (canUseCss3dCameraFastPath) {
8563
- this._syncMotionGridLayerForCameraNavigation(usedWebglCanvasCameraTransform);
8587
+ if (this._shouldTouchMotionGridLayerForCameraNavigation?.() === true) {
8588
+ this._syncMotionGridLayerForCameraNavigation(usedWebglCanvasCameraTransform);
8589
+ }
8564
8590
  recordCameraMotionFastPathStatus(this, 'hit', 'css3d-camera-fast');
8565
8591
  renderCss3dCameraForCameraNavigation(this, 'css3d-camera-fast');
8566
8592
  }
@@ -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-v712" />
11
- <link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260620-css3d-flat-wheel-v712" />
10
+ <link rel="stylesheet" href="_content/MindExecution.Shared/css/app.css?v=20260620-css3d-flat-wheel-v713" />
11
+ <link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260620-css3d-flat-wheel-v713" />
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-v712';
582
+ const scriptVersion = '20260620-css3d-flat-wheel-v713';
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": "q8TDwBKS",
2
+ "version": "MBS0S+2Y",
3
3
  "assets": [
4
4
  {
5
5
  "hash": "sha256-+CSYMcqLNTsq3VnH11jgYyOCCdxvHzL74CBmo4sCmMU=",
@@ -58,7 +58,7 @@
58
58
  "url": "_content/MindExecution.Shared/js/agent-visualization.js"
59
59
  },
60
60
  {
61
- "hash": "sha256-CrDccRF6gyngXofsjyROr6ziZabOdswoaK6ajTJtl88=",
61
+ "hash": "sha256-7nukRRerm88Ot5J1KdJMyyTHP3d+zlvaPaECTGeJZAk=",
62
62
  "url": "_content/MindExecution.Shared/js/background-themes.js"
63
63
  },
64
64
  {
@@ -78,7 +78,7 @@
78
78
  "url": "_content/MindExecution.Shared/js/marked.min.js"
79
79
  },
80
80
  {
81
- "hash": "sha256-RQbjofk+Lk0yfrB6PluYoJKVJmdB/sAv3ISNjwScjCg=",
81
+ "hash": "sha256-UZV57eO2HTY3IJAI3FP1lJivwtBJX86/rbBDK7N5m/I=",
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-hTra3gg8X1Oc6i5im/P0HR5OaPtMZSj9Vwh9BXJYHao=",
837
+ "hash": "sha256-SGiYRwKQBPxBQiiAZmxk0pK3NXCKTCFrMwnjwg6fE7w=",
838
838
  "url": "index.html"
839
839
  },
840
840
  {
@@ -1,4 +1,4 @@
1
- /* Manifest version: q8TDwBKS */
1
+ /* Manifest version: MBS0S+2Y */
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