@mindexec/cli 0.2.258 → 0.2.259

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.258",
3
+ "version": "0.2.259",
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-local-grid-wheel-zoom-v705';
8
+ const MINDMAP_CORE_BUILD_ID = '20260620-css3d-flat-wheel-v707';
9
9
  const CanvasPhase = Object.freeze({
10
10
  Booting: 'booting',
11
11
  BoardFileLoading: 'board-file-loading',
@@ -1667,7 +1667,7 @@
1667
1667
  });
1668
1668
  }
1669
1669
 
1670
- updateCursorDomElement(module);
1670
+ module._cursorDomDeferredForMotion = true;
1671
1671
 
1672
1672
  const isWebglRenderEnabled = renderDebugFlags.enableWebglRender !== false;
1673
1673
  let usedWebglCanvasCameraTransform = false;
@@ -1893,7 +1893,7 @@
1893
1893
  });
1894
1894
  }
1895
1895
 
1896
- updateCursorDomElement(module);
1896
+ module._cursorDomDeferredForMotion = true;
1897
1897
 
1898
1898
  let usedWebglCanvasCameraTransform = false;
1899
1899
  if (isWebglRenderEnabled === true && module.renderer && module.scene && module.camera) {
@@ -5370,7 +5370,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
5370
5370
  coalescedWheelEvents: Number(options?.coalescedWheelEvents || 0)
5371
5371
  });
5372
5372
 
5373
- updateCursorDomElement(this);
5373
+ this._cursorDomDeferredForMotion = true;
5374
5374
 
5375
5375
  let usedWebglCanvasCameraTransform = false;
5376
5376
  if (canRenderWebgl === true) {
@@ -6483,6 +6483,10 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
6483
6483
  this._wasResizingLastFrame = this.isResizing === true;
6484
6484
  if (zoomEndedThisFrame || panEndedThisFrame || cameraEndedThisFrame || resizeEndedThisFrame) {
6485
6485
  this._lastMotionEndAt = frameStart;
6486
+ if (this._cursorDomDeferredForMotion === true) {
6487
+ updateCursorDomElement(this);
6488
+ this._cursorDomDeferredForMotion = false;
6489
+ }
6486
6490
  if (cameraEndedThisFrame) {
6487
6491
  this._cameraNavigationOverlayInputTime = 0;
6488
6492
  this._overlayDirty = true;
@@ -6817,7 +6821,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
6817
6821
  });
6818
6822
  }
6819
6823
 
6820
- updateCursorDomElement(this);
6824
+ this._cursorDomDeferredForMotion = true;
6821
6825
  const shouldFreezeWebglCanvasForImmediateZoom =
6822
6826
  shouldFreezeWebglSurfaceForZoom(this) === true;
6823
6827
  const canReuseWebglCanvasForImmediateMotion = !!(
@@ -6992,7 +6996,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
6992
6996
  this._deferPassiveOverlayRefresh = true;
6993
6997
  }
6994
6998
 
6995
- updateCursorDomElement(this);
6999
+ this._cursorDomDeferredForMotion = true;
6996
7000
  const shouldFreezeWebglCanvasForStationaryZoom =
6997
7001
  shouldFreezeWebglSurfaceForZoom(this) === true;
6998
7002
  const canReuseWebglCanvasForStationaryMotion = !!(
@@ -7182,7 +7186,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
7182
7186
  });
7183
7187
  }
7184
7188
 
7185
- updateCursorDomElement(this);
7189
+ this._cursorDomDeferredForMotion = true;
7186
7190
  const shouldFreezeWebglCanvasForResidentZoom =
7187
7191
  shouldFreezeWebglSurfaceForZoom(this) === true;
7188
7192
  const canReuseWebglCanvasForResidentMotion = !!(
@@ -7430,7 +7434,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
7430
7434
  let usedWebglCanvasCameraTransformEarly = false;
7431
7435
  if (shouldSampleWebglDuringCameraMotion &&
7432
7436
  shouldFreezeWebglCanvasForEarlyZoom !== true) {
7433
- updateCursorDomElement(this);
7437
+ this._cursorDomDeferredForMotion = true;
7434
7438
  if (isWebglRenderEnabled && this.renderer && this.scene && this.camera) {
7435
7439
  this._clearWebglCanvasCameraTransform();
7436
7440
  this.renderer.render(this.scene, this.camera);
@@ -8209,7 +8213,12 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
8209
8213
  const shouldSampleWebglDuringCameraMotion =
8210
8214
  renderDebugFlags.sampleWebglDuringCameraMotion === true &&
8211
8215
  (this.frameCount % CAMERA_MOTION_WEBGL_FRAME_INTERVAL) === 0;
8212
- if (!isPureCss3dCameraMotionFrame || shouldSampleWebglDuringCameraMotion) {
8216
+ if (isCameraNavigationOnlyInteractiveFrame === true ||
8217
+ this.isPanning === true ||
8218
+ this.isZooming === true ||
8219
+ isCameraMoving === true) {
8220
+ this._cursorDomDeferredForMotion = true;
8221
+ } else if (!isPureCss3dCameraMotionFrame || shouldSampleWebglDuringCameraMotion) {
8213
8222
  updateCursorDomElement(this);
8214
8223
  }
8215
8224
 
@@ -31,7 +31,7 @@
31
31
  }
32
32
 
33
33
  function CSS3DRenderer(){
34
- var _width, _height; var _widthHalf, _heightHalf; var cache = { camera:{ fov:0, style:'' }, objects: new WeakMap() };
34
+ var _width, _height; var _widthHalf, _heightHalf; var cache = { camera:{ fov:0, style:'', mode:'matrix3d' }, objects: new WeakMap() };
35
35
  var domElement = document.createElement('div'); domElement.style.overflow = 'hidden'; this.domElement = domElement;
36
36
  var cameraElement = document.createElement('div'); cameraElement.style.webkitTransformStyle = cameraElement.style.transformStyle = 'preserve-3d'; cameraElement.style.pointerEvents = 'none'; cameraElement.style.webkitTransformOrigin = cameraElement.style.transformOrigin = '0 0'; domElement.appendChild(cameraElement);
37
37
 
@@ -41,7 +41,13 @@
41
41
  function getCameraCSSMatrix(matrix){ var e=matrix.elements; return 'matrix3d('+epsilon(e[0])+','+epsilon(-e[1])+','+epsilon(e[2])+','+epsilon(e[3])+','+epsilon(e[4])+','+epsilon(-e[5])+','+epsilon(e[6])+','+epsilon(e[7])+','+epsilon(e[8])+','+epsilon(-e[9])+','+epsilon(e[10])+','+epsilon(e[11])+','+epsilon(e[12])+','+epsilon(-e[13])+','+epsilon(e[14])+','+epsilon(e[15])+')'; }
42
42
  function getObjectCSSMatrix(matrix){ var e=matrix.elements; var m='matrix3d('+epsilon(e[0])+','+epsilon(e[1])+','+epsilon(e[2])+','+epsilon(e[3])+','+epsilon(-e[4])+','+epsilon(-e[5])+','+epsilon(-e[6])+','+epsilon(-e[7])+','+epsilon(e[8])+','+epsilon(e[9])+','+epsilon(e[10])+','+epsilon(e[11])+','+epsilon(e[12])+','+epsilon(e[13])+','+epsilon(e[14])+','+epsilon(e[15])+')'; return m; }
43
43
  function renderObject(object, scene, camera, cameraCSSMatrix){ if (object.isCSS3DObject){ var style=getObjectCSSMatrix(object.matrixWorld); var display=object.visible ? '' : 'none'; var element=object.element; var cached=cache.objects.get(object); if (cached===undefined || cached.style!==style){ element.style.webkitTransform=element.style.transform=style; } if (cached===undefined || cached.display!==display){ element.style.display=display; } if (cached===undefined || cached.style!==style || cached.display!==display){ cache.objects.set(object, { style, display }); } if (element.parentNode !== cameraElement){ cameraElement.appendChild(element); } } for (var i=0,l=object.children.length;i<l;i++){ renderObject(object.children[i], scene, camera, cameraCSSMatrix); } }
44
- function renderCameraOnly(renderer, camera){ var fov=camera.projectionMatrix.elements[5]*_heightHalf; if (cache.camera.fov!==fov){ renderer.domElement.style.webkitPerspective=renderer.domElement.style.perspective=fov+'px'; cache.camera.fov=fov; } if (camera.parent===null && camera.matrixWorldNeedsUpdate===true) camera.updateMatrixWorld(); var cameraCSSMatrix='translateZ('+fov+'px)'+getCameraCSSMatrix(camera.matrixWorldInverse); var style=cameraCSSMatrix+'translate('+_widthHalf+'px,'+_heightHalf+'px)'; if (cache.camera.style!==style){ cameraElement.style.webkitTransform=cameraElement.style.transform=style; cache.camera.style=style; } return cameraCSSMatrix; }
44
+ function setCameraElementMode(mode){
45
+ if (cache.camera.mode === mode) return;
46
+ cache.camera.mode = mode;
47
+ var style = mode === 'flat' ? 'flat' : 'preserve-3d';
48
+ cameraElement.style.webkitTransformStyle = cameraElement.style.transformStyle = style;
49
+ }
50
+ function renderCameraOnly(renderer, camera){ setCameraElementMode('matrix3d'); var fov=camera.projectionMatrix.elements[5]*_heightHalf; if (cache.camera.fov!==fov){ renderer.domElement.style.webkitPerspective=renderer.domElement.style.perspective=fov+'px'; cache.camera.fov=fov; } if (camera.parent===null && camera.matrixWorldNeedsUpdate===true) camera.updateMatrixWorld(); var cameraCSSMatrix='translateZ('+fov+'px)'+getCameraCSSMatrix(camera.matrixWorldInverse); var style=cameraCSSMatrix+'translate('+_widthHalf+'px,'+_heightHalf+'px)'; if (cache.camera.style!==style){ cameraElement.style.webkitTransform=cameraElement.style.transform=style; cache.camera.style=style; } return cameraCSSMatrix; }
45
51
  function renderFlatCameraOnly(renderer, camera, options){
46
52
  if (!camera || !_width || !_height || !camera.isPerspectiveCamera) return false;
47
53
  var position = camera.position || {};
@@ -63,12 +69,13 @@
63
69
  var ty = Math.round(translateY / translateBucket) * translateBucket;
64
70
  var s = Math.round(scale / scaleBucket) * scaleBucket;
65
71
  var style = 'flat|'+Math.round(_width)+'|'+Math.round(_height)+'|'+Math.round(tx / translateBucket)+'|'+Math.round(ty / translateBucket)+'|'+Math.round(s / scaleBucket);
72
+ setCameraElementMode('flat');
66
73
  if (cache.camera.fov !== 0){
67
74
  renderer.domElement.style.webkitPerspective = renderer.domElement.style.perspective = '';
68
75
  cache.camera.fov = 0;
69
76
  }
70
77
  if (cache.camera.style !== style){
71
- cameraElement.style.webkitTransform = cameraElement.style.transform = 'translate3d('+tx.toFixed(3)+'px,'+ty.toFixed(3)+'px,0) scale('+s.toFixed(6)+','+(-s).toFixed(6)+')';
78
+ cameraElement.style.webkitTransform = cameraElement.style.transform = 'matrix('+s.toFixed(6)+',0,0,'+(-s).toFixed(6)+','+tx.toFixed(3)+','+ty.toFixed(3)+')';
72
79
  cache.camera.style = style;
73
80
  }
74
81
  return true;
@@ -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-local-grid-wheel-zoom-v705" />
11
- <link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260620-local-grid-wheel-zoom-v705" />
10
+ <link rel="stylesheet" href="_content/MindExecution.Shared/css/app.css?v=20260620-css3d-flat-wheel-v707" />
11
+ <link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260620-css3d-flat-wheel-v707" />
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-local-grid-wheel-zoom-v705';
582
+ const scriptVersion = '20260620-css3d-flat-wheel-v707';
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": "iiECfCDe",
2
+ "version": "7Mz0t211",
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-ZD4BuG/qNa9B6cje0Prf1T9lWdnLv3azcQDqcu4LWF4=",
81
+ "hash": "sha256-Wh72NYCd8llyQcb9S1nu14LVriY/M65RGbAJV9Ewecg=",
82
82
  "url": "_content/MindExecution.Shared/js/mind-map-core.js"
83
83
  },
84
84
  {
@@ -182,7 +182,7 @@
182
182
  "url": "_content/MindExecution.Shared/js/plan-master.js"
183
183
  },
184
184
  {
185
- "hash": "sha256-zZ6nh8fh4HnO5rV//tfE4WB119Ez9Gjg26P7k0idcIE=",
185
+ "hash": "sha256-2IxneOfAhc2Sq8hl7ywEBzZaaFX22FZaW89WB0rAgUk=",
186
186
  "url": "_content/MindExecution.Shared/js/renderers/CSS3DRenderer.js"
187
187
  },
188
188
  {
@@ -834,7 +834,7 @@
834
834
  "url": "image-manifest.json"
835
835
  },
836
836
  {
837
- "hash": "sha256-cT/4dyrhG2eQz7HKOf4fcBIn4qhPlMHdbA4tqQymjOQ=",
837
+ "hash": "sha256-KjaPdEv6u95UkcfvQokggiqL/Q7CuMbn9BoghYBReYQ=",
838
838
  "url": "index.html"
839
839
  },
840
840
  {
@@ -1,4 +1,4 @@
1
- /* Manifest version: iiECfCDe */
1
+ /* Manifest version: 7Mz0t211 */
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