@mindexec/cli 0.2.236 → 0.2.238

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.236",
3
+ "version": "0.2.238",
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-zoom-settle-idle-v683';
8
+ const MINDMAP_CORE_BUILD_ID = '20260620-zoom-local-grid-lite-v685';
9
9
  const CanvasPhase = Object.freeze({
10
10
  Booting: 'booting',
11
11
  BoardFileLoading: 'board-file-loading',
@@ -3985,6 +3985,17 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
3985
3985
  const layerLeft = centerX - LOCAL_SNAP_GRID_RADIUS_PX;
3986
3986
  const layerTop = centerY - LOCAL_SNAP_GRID_RADIUS_PX;
3987
3987
 
3988
+ if (this.isZooming === true && !!this._lastLocalSnapGridKey) {
3989
+ const transformKey = `${Math.round(layerLeft * 2)}|${Math.round(layerTop * 2)}`;
3990
+ if (transformKey !== this._lastLocalSnapGridTransformKey) {
3991
+ this._lastLocalSnapGridTransformKey = transformKey;
3992
+ layer.style.transform = `translate3d(${layerLeft.toFixed(2)}px, ${layerTop.toFixed(2)}px, 0)`;
3993
+ }
3994
+ this._localSnapGridStyleDeferredForZoom = true;
3995
+ this._setLocalSnapGridVisible(true, this._lastLocalSnapGridOpacity || null);
3996
+ return true;
3997
+ }
3998
+
3988
3999
  const camera = this.camera;
3989
4000
  const cameraZ = Math.max(1, Number(camera.position?.z || 1));
3990
4001
  const vfov = (Number(camera.fov || 45) * Math.PI) / 180;
@@ -6,6 +6,7 @@ window.MindMapInteractions = (function () {
6
6
  const MOTION_DOM_FANOUT_DELAY_MS = 180;
7
7
  const MOTION_DOM_FANOUT_ENABLED = false;
8
8
  const MOTION_WILL_CHANGE_ENABLE_DELAY_MS = 240;
9
+ const WHEEL_ZOOM_TARGET_UPDATE_MODE = 'direct';
9
10
  const PRIMARY_CLICK_DELAY_MS = 280;
10
11
  const BACKGROUND_PRIMARY_CLICK_DELAY_MS = 320;
11
12
  const eventHandlers = new WeakMap();
@@ -6250,28 +6251,17 @@ window.MindMapInteractions = (function () {
6250
6251
 
6251
6252
  function bufferWheelEvent(module, e) {
6252
6253
  const wheelBuffer = getWheelBuffer(module);
6253
- wheelBuffer.deltaY += normalizeWheelDeltaY(e);
6254
- wheelBuffer.lastClientX = e.clientX;
6255
- wheelBuffer.lastClientY = e.clientY;
6256
-
6257
- if (wheelBuffer.pending) {
6254
+ const deltaY = normalizeWheelDeltaY(e);
6255
+ if (deltaY === 0) {
6258
6256
  return;
6259
6257
  }
6260
6258
 
6261
- wheelBuffer.pending = true;
6262
- wheelBuffer.frameId = requestAnimationFrame(() => {
6263
- wheelBuffer.pending = false;
6264
- wheelBuffer.frameId = null;
6265
-
6266
- const bufferedDeltaY = wheelBuffer.deltaY;
6267
- const bufferedClientX = wheelBuffer.lastClientX;
6268
- const bufferedClientY = wheelBuffer.lastClientY;
6269
- wheelBuffer.deltaY = 0;
6270
-
6271
- if (bufferedDeltaY !== 0) {
6272
- performCameraZoomBuffered(module, bufferedDeltaY, bufferedClientX, bufferedClientY);
6273
- }
6274
- });
6259
+ wheelBuffer.deltaY = 0;
6260
+ wheelBuffer.pending = false;
6261
+ wheelBuffer.frameId = null;
6262
+ wheelBuffer.lastClientX = e.clientX;
6263
+ wheelBuffer.lastClientY = e.clientY;
6264
+ performCameraZoomBuffered(module, deltaY, e.clientX, e.clientY);
6275
6265
  }
6276
6266
 
6277
6267
  function bufferSteppedWheelZoomEvent(module, e) {
@@ -6284,34 +6274,27 @@ window.MindMapInteractions = (function () {
6284
6274
  wheelBuffer.lastClientX = e.clientX;
6285
6275
  wheelBuffer.lastClientY = e.clientY;
6286
6276
 
6287
- if (wheelBuffer.notchPending) {
6277
+ wheelBuffer.notchPending = false;
6278
+
6279
+ const absDelta = Math.abs(wheelBuffer.notchDeltaY);
6280
+ if (absDelta < WHEEL_ZOOM_NOTCH_DELTA) {
6288
6281
  return;
6289
6282
  }
6290
6283
 
6291
- wheelBuffer.notchPending = true;
6292
- requestAnimationFrame(() => {
6293
- wheelBuffer.notchPending = false;
6294
-
6295
- const absDelta = Math.abs(wheelBuffer.notchDeltaY);
6296
- if (absDelta < WHEEL_ZOOM_NOTCH_DELTA) {
6297
- return;
6298
- }
6299
-
6300
- const direction = Math.sign(wheelBuffer.notchDeltaY);
6301
- const notchCount = Math.min(
6302
- WHEEL_ZOOM_MAX_NOTCHES_PER_FRAME,
6303
- Math.max(1, Math.floor(absDelta / WHEEL_ZOOM_NOTCH_DELTA))
6304
- );
6305
- wheelBuffer.notchDeltaY -= direction * notchCount * WHEEL_ZOOM_NOTCH_DELTA;
6284
+ const direction = Math.sign(wheelBuffer.notchDeltaY);
6285
+ const notchCount = Math.min(
6286
+ WHEEL_ZOOM_MAX_NOTCHES_PER_FRAME,
6287
+ Math.max(1, Math.floor(absDelta / WHEEL_ZOOM_NOTCH_DELTA))
6288
+ );
6289
+ wheelBuffer.notchDeltaY -= direction * notchCount * WHEEL_ZOOM_NOTCH_DELTA;
6306
6290
 
6307
- performCameraZoomBuffered(
6308
- module,
6309
- direction * notchCount * WHEEL_ZOOM_NOTCH_DELTA,
6310
- wheelBuffer.lastClientX,
6311
- wheelBuffer.lastClientY,
6312
- { fixedZoomStep: direction * notchCount * WHEEL_ZOOM_NOTCH_STEP }
6313
- );
6314
- });
6291
+ performCameraZoomBuffered(
6292
+ module,
6293
+ direction * notchCount * WHEEL_ZOOM_NOTCH_DELTA,
6294
+ wheelBuffer.lastClientX,
6295
+ wheelBuffer.lastClientY,
6296
+ { fixedZoomStep: direction * notchCount * WHEEL_ZOOM_NOTCH_STEP }
6297
+ );
6315
6298
  }
6316
6299
 
6317
6300
  /**
@@ -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-zoom-settle-idle-v683" />
11
- <link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260620-zoom-settle-idle-v683" />
10
+ <link rel="stylesheet" href="_content/MindExecution.Shared/css/app.css?v=20260620-zoom-local-grid-lite-v685" />
11
+ <link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260620-zoom-local-grid-lite-v685" />
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-zoom-settle-idle-v683';
582
+ const scriptVersion = '20260620-zoom-local-grid-lite-v685';
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": "KArZP7YJ",
2
+ "version": "m2eA1tax",
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-J1AAQdPBWPRzvMK4P6IyUry5TNB6qoLo8yhiW/ufe2k=",
81
+ "hash": "sha256-5uOvUmP/bBUruRKwPYeRMGSc+c3Rveqs6U7ndyiQjrE=",
82
82
  "url": "_content/MindExecution.Shared/js/mind-map-core.js"
83
83
  },
84
84
  {
@@ -106,7 +106,7 @@
106
106
  "url": "_content/MindExecution.Shared/js/mind-map-glow-shader.js"
107
107
  },
108
108
  {
109
- "hash": "sha256-glU8Qi29dTeN+P17xuF+Nno5MLoR88v44leP9LrLAgw=",
109
+ "hash": "sha256-c0nFUsc/O05ivn6aNRxOmo8dsdxobdI4tOJ2zWueQmA=",
110
110
  "url": "_content/MindExecution.Shared/js/mind-map-interactions.js"
111
111
  },
112
112
  {
@@ -834,7 +834,7 @@
834
834
  "url": "image-manifest.json"
835
835
  },
836
836
  {
837
- "hash": "sha256-c0UqlDqATxAedVrrky+NGpj/3I4LHORPhKK546n0Jso=",
837
+ "hash": "sha256-QgNQBZwjpGf0YLj7chbJtEILZGBPVgczuWESdif4sMk=",
838
838
  "url": "index.html"
839
839
  },
840
840
  {
@@ -1,4 +1,4 @@
1
- /* Manifest version: KArZP7YJ */
1
+ /* Manifest version: m2eA1tax */
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