@mindexec/cli 0.2.237 → 0.2.239

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.237",
3
+ "version": "0.2.239",
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-direct-wheel-target-v684';
8
+ const MINDMAP_CORE_BUILD_ID = '20260620-cursor-grid-zoom-lite-v686';
9
9
  const CanvasPhase = Object.freeze({
10
10
  Booting: 'booting',
11
11
  BoardFileLoading: 'board-file-loading',
@@ -112,6 +112,8 @@
112
112
  const CAMERA_MOTION_PARTIAL_FRAME_SKIP_ENABLED = false;
113
113
  const CAMERA_MOTION_VISUAL_ONLY_FAST_PATH_ENABLED = true;
114
114
  const CAMERA_MOTION_WEBGL_CANVAS_TRANSFORM_ENABLED = true;
115
+ const CAMERA_MOTION_WEBGL_TRANSFORM_TRANSLATE_BUCKET_PX = 0.25;
116
+ const CAMERA_MOTION_WEBGL_TRANSFORM_SCALE_BUCKET = 0.0005;
115
117
  const CAMERA_STATIONARY_INTERACTION_FRAME_DELAY_MS = 48;
116
118
  const CAMERA_ZOOM_END_DELAY_MS = 150;
117
119
  const CAMERA_MOTION_GLOBAL_STYLE_CLASS_ENABLED = false;
@@ -3897,7 +3899,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
3897
3899
  layer.style.willChange = 'transform, opacity';
3898
3900
  layer.style.transform = 'translate3d(0, 0, 0)';
3899
3901
  layer.style.transition = 'opacity 90ms linear';
3900
- const mask = 'radial-gradient(circle at center, rgba(0,0,0,0.96) 0%, rgba(0,0,0,0.86) 48%, rgba(0,0,0,0.42) 70%, rgba(0,0,0,0.08) 88%, transparent 100%)';
3902
+ const mask = 'radial-gradient(circle at center, rgba(0,0,0,0.92) 0%, rgba(0,0,0,0.72) 38%, rgba(0,0,0,0.36) 64%, rgba(0,0,0,0.08) 84%, transparent 100%)';
3901
3903
  layer.style.maskImage = mask;
3902
3904
  layer.style.webkitMaskImage = mask;
3903
3905
 
@@ -3985,6 +3987,17 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
3985
3987
  const layerLeft = centerX - LOCAL_SNAP_GRID_RADIUS_PX;
3986
3988
  const layerTop = centerY - LOCAL_SNAP_GRID_RADIUS_PX;
3987
3989
 
3990
+ if (this.isZooming === true && !!this._lastLocalSnapGridKey) {
3991
+ const transformKey = `${Math.round(layerLeft * 2)}|${Math.round(layerTop * 2)}`;
3992
+ if (transformKey !== this._lastLocalSnapGridTransformKey) {
3993
+ this._lastLocalSnapGridTransformKey = transformKey;
3994
+ layer.style.transform = `translate3d(${layerLeft.toFixed(2)}px, ${layerTop.toFixed(2)}px, 0)`;
3995
+ }
3996
+ this._localSnapGridStyleDeferredForZoom = true;
3997
+ this._setLocalSnapGridVisible(true, this._lastLocalSnapGridOpacity || null);
3998
+ return true;
3999
+ }
4000
+
3988
4001
  const camera = this.camera;
3989
4002
  const cameraZ = Math.max(1, Number(camera.position?.z || 1));
3990
4003
  const vfov = (Number(camera.fov || 45) * Math.PI) / 180;
@@ -5031,19 +5044,32 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
5031
5044
  const currentY = Number(camera.position?.y || 0);
5032
5045
  const translateX = (Number(last.x || 0) - currentX) * pxPerWorld;
5033
5046
  const translateY = (currentY - Number(last.y || 0)) * pxPerWorld;
5047
+ const isCameraMotion =
5048
+ this.isPanning === true ||
5049
+ this.isZooming === true ||
5050
+ this._cameraMovingThisFrame === true;
5051
+ const translateBucket = isCameraMotion
5052
+ ? CAMERA_MOTION_WEBGL_TRANSFORM_TRANSLATE_BUCKET_PX
5053
+ : 0.01;
5054
+ const scaleBucket = isCameraMotion
5055
+ ? CAMERA_MOTION_WEBGL_TRANSFORM_SCALE_BUCKET
5056
+ : 0.0001;
5057
+ const transformTranslateX = Math.round(translateX / translateBucket) * translateBucket;
5058
+ const transformTranslateY = Math.round(translateY / translateBucket) * translateBucket;
5059
+ const transformScale = Math.round(scale / scaleBucket) * scaleBucket;
5034
5060
  const transformKey = [
5035
5061
  Math.round(width),
5036
5062
  Math.round(height),
5037
- Math.round(translateX * 100),
5038
- Math.round(translateY * 100),
5039
- Math.round(scale * 10000)
5063
+ Math.round(transformTranslateX / translateBucket),
5064
+ Math.round(transformTranslateY / translateBucket),
5065
+ Math.round(transformScale / scaleBucket)
5040
5066
  ].join('|');
5041
5067
 
5042
5068
  if (transformKey !== this._lastWebglCanvasMotionTransformKey) {
5043
5069
  this._lastWebglCanvasMotionTransformKey = transformKey;
5044
5070
  element.style.transformOrigin = '50% 50%';
5045
5071
  element.style.willChange = 'transform';
5046
- element.style.transform = `translate3d(${translateX.toFixed(3)}px, ${translateY.toFixed(3)}px, 0) scale(${scale.toFixed(5)})`;
5072
+ element.style.transform = `translate3d(${transformTranslateX.toFixed(3)}px, ${transformTranslateY.toFixed(3)}px, 0) scale(${transformScale.toFixed(5)})`;
5047
5073
  }
5048
5074
 
5049
5075
  this._webglCanvasMotionTransformActive = 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-direct-wheel-target-v684" />
11
- <link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260620-direct-wheel-target-v684" />
10
+ <link rel="stylesheet" href="_content/MindExecution.Shared/css/app.css?v=20260620-cursor-grid-zoom-lite-v686" />
11
+ <link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260620-cursor-grid-zoom-lite-v686" />
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-direct-wheel-target-v684';
582
+ const scriptVersion = '20260620-cursor-grid-zoom-lite-v686';
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": "IIlS3KHe",
2
+ "version": "pIShoOUs",
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-H18/XyewvO9SVFS2nO2dPoQYGBOE/gJePFFzWFPczrQ=",
81
+ "hash": "sha256-AyQT//rZbSQc5rIoJT4OHvbeEc/78pzg31V0dc9pyp4=",
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-8EJKzxPGCZ5nFiB8Ic8rgWorCpmj242yBNF2UuI0cUA=",
837
+ "hash": "sha256-Bqm4MdsgpKGtWSBCq7QT0q52fnRqQKOAUuZom6XylmM=",
838
838
  "url": "index.html"
839
839
  },
840
840
  {
@@ -1,4 +1,4 @@
1
- /* Manifest version: IIlS3KHe */
1
+ /* Manifest version: pIShoOUs */
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