@mindexec/cli 0.2.283 → 0.2.284

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.283",
3
+ "version": "0.2.284",
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-v731';
8
+ const MINDMAP_CORE_BUILD_ID = '20260620-css3d-flat-wheel-v732';
9
9
  const CanvasPhase = Object.freeze({
10
10
  Booting: 'booting',
11
11
  BoardFileLoading: 'board-file-loading',
@@ -4106,6 +4106,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
4106
4106
 
4107
4107
  this._lastSnapGridClientX = roundedX;
4108
4108
  this._lastSnapGridClientY = roundedY;
4109
+ this._localSnapGridPointerRevision = Math.max(0, Number(this._localSnapGridPointerRevision || 0)) + 1;
4109
4110
  this._lastLocalSnapGridTransformKey = '';
4110
4111
  return true;
4111
4112
  }
@@ -4150,6 +4151,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
4150
4151
  this._localSnapGridLayer = layer;
4151
4152
  this._lastLocalSnapGridKey = '';
4152
4153
  this._lastLocalSnapGridTransformKey = '';
4154
+ this._lastLocalSnapGridPositionRevision = -1;
4153
4155
  this._lastLocalSnapGridOpacity = '';
4154
4156
  this._localSnapGridStyleDeferredForZoom = false;
4155
4157
  return layer;
@@ -4182,12 +4184,20 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
4182
4184
  const smallStep = Math.max(LOCAL_SNAP_GRID_MIN_STEP_PX, Number(smallStepPx) || LOCAL_SNAP_GRID_DEFAULT_STEP_PX);
4183
4185
  const majorStep = Math.max(smallStep, Number(majorStepPx) || LOCAL_SNAP_GRID_DEFAULT_MAJOR_STEP_PX);
4184
4186
  ctx.clearRect(0, 0, size, size);
4187
+ const radius = center;
4188
+ const radiusSq = radius * radius;
4185
4189
 
4186
4190
  if (styleKind === 'dot') {
4187
4191
  ctx.fillStyle = 'rgba(58, 69, 88, 0.46)';
4188
4192
  const dotRadius = 1.15;
4189
4193
  for (let y = 0; y <= size; y += smallStep) {
4194
+ const dy = y - center;
4195
+ const dySq = dy * dy;
4190
4196
  for (let x = 0; x <= size; x += smallStep) {
4197
+ const dx = x - center;
4198
+ if ((dx * dx) + dySq > radiusSq) {
4199
+ continue;
4200
+ }
4191
4201
  ctx.beginPath();
4192
4202
  ctx.arc(x, y, dotRadius, 0, Math.PI * 2);
4193
4203
  ctx.fill();
@@ -4197,7 +4207,13 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
4197
4207
  ctx.fillStyle = 'rgba(15, 23, 42, 0.62)';
4198
4208
  const majorDotRadius = 1.85;
4199
4209
  for (let y = 0; y <= size; y += majorStep) {
4210
+ const dy = y - center;
4211
+ const dySq = dy * dy;
4200
4212
  for (let x = 0; x <= size; x += majorStep) {
4213
+ const dx = x - center;
4214
+ if ((dx * dx) + dySq > radiusSq) {
4215
+ continue;
4216
+ }
4201
4217
  ctx.beginPath();
4202
4218
  ctx.arc(x, y, majorDotRadius, 0, Math.PI * 2);
4203
4219
  ctx.fill();
@@ -4209,12 +4225,24 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
4209
4225
  ctx.lineWidth = width;
4210
4226
  ctx.beginPath();
4211
4227
  for (let x = 0.5; x <= size; x += step) {
4212
- ctx.moveTo(x, 0);
4213
- ctx.lineTo(x, size);
4228
+ const dx = x - center;
4229
+ const spanSq = radiusSq - (dx * dx);
4230
+ if (spanSq <= 0) {
4231
+ continue;
4232
+ }
4233
+ const span = Math.sqrt(spanSq);
4234
+ ctx.moveTo(x, center - span);
4235
+ ctx.lineTo(x, center + span);
4214
4236
  }
4215
4237
  for (let y = 0.5; y <= size; y += step) {
4216
- ctx.moveTo(0, y);
4217
- ctx.lineTo(size, y);
4238
+ const dy = y - center;
4239
+ const spanSq = radiusSq - (dy * dy);
4240
+ if (spanSq <= 0) {
4241
+ continue;
4242
+ }
4243
+ const span = Math.sqrt(spanSq);
4244
+ ctx.moveTo(center - span, y);
4245
+ ctx.lineTo(center + span, y);
4218
4246
  }
4219
4247
  ctx.stroke();
4220
4248
  };
@@ -4321,6 +4349,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
4321
4349
 
4322
4350
  this._localSnapGridVisible = false;
4323
4351
  this._localSnapGridStyleDeferredForZoom = false;
4352
+ this._lastLocalSnapGridPositionRevision = -1;
4324
4353
  if (layer.style.opacity !== '0') {
4325
4354
  layer.style.opacity = '0';
4326
4355
  }
@@ -4368,6 +4397,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
4368
4397
  this._lastLocalSnapGridTransformKey = transformKey;
4369
4398
  layer.style.transform = `translate3d(${layerLeft.toFixed(2)}px, ${layerTop.toFixed(2)}px, 0)`;
4370
4399
  }
4400
+ this._lastLocalSnapGridPositionRevision = Math.max(0, Number(this._localSnapGridPointerRevision || 0));
4371
4401
  this._localSnapGridStyleDeferredForZoom = true;
4372
4402
  this._setLocalSnapGridVisible(true, this._lastLocalSnapGridOpacity || null);
4373
4403
  return true;
@@ -4413,6 +4443,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
4413
4443
  this._lastLocalSnapGridTransformKey = transformKey;
4414
4444
  layer.style.transform = `translate3d(${layerLeft.toFixed(2)}px, ${layerTop.toFixed(2)}px, 0)`;
4415
4445
  }
4446
+ this._lastLocalSnapGridPositionRevision = Math.max(0, Number(this._localSnapGridPointerRevision || 0));
4416
4447
 
4417
4448
  this._setLocalSnapGridVisible(true, this._lastLocalSnapGridOpacity || opacity.toFixed(3));
4418
4449
  return true;
@@ -4442,6 +4473,16 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
4442
4473
  }
4443
4474
 
4444
4475
  const layer = this._localSnapGridLayer;
4476
+ const pointerRevision = Math.max(0, Number(this._localSnapGridPointerRevision || 0));
4477
+ if (this.isZooming === true &&
4478
+ this._localSnapGridVisible === true &&
4479
+ this._lastLocalSnapGridKey &&
4480
+ this._lastLocalSnapGridTransformKey &&
4481
+ this._lastLocalSnapGridPositionRevision === pointerRevision) {
4482
+ this._localSnapGridStyleDeferredForZoom = true;
4483
+ return true;
4484
+ }
4485
+
4445
4486
  const viewportMetrics = getCachedViewportMetrics(this);
4446
4487
  const width = Math.max(1, Number(viewportMetrics.width || 0));
4447
4488
  const height = Math.max(1, Number(viewportMetrics.height || 0));
@@ -4464,6 +4505,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
4464
4505
  this._lastLocalSnapGridTransformKey = transformKey;
4465
4506
  layer.style.transform = `translate3d(${layerLeft.toFixed(2)}px, ${layerTop.toFixed(2)}px, 0)`;
4466
4507
  }
4508
+ this._lastLocalSnapGridPositionRevision = pointerRevision;
4467
4509
 
4468
4510
  if (this.isZooming === true) {
4469
4511
  this._localSnapGridStyleDeferredForZoom = 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-css3d-flat-wheel-v731" />
11
- <link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260620-css3d-flat-wheel-v731" />
10
+ <link rel="stylesheet" href="_content/MindExecution.Shared/css/app.css?v=20260620-css3d-flat-wheel-v732" />
11
+ <link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260620-css3d-flat-wheel-v732" />
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-v731';
582
+ const scriptVersion = '20260620-css3d-flat-wheel-v732';
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": "hV5hamHN",
2
+ "version": "dbIQ4uWR",
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-JzXDAj5thGJpvSPDh6Pe3dizqG01fojiDAuaiY+ulmg=",
81
+ "hash": "sha256-S+tFiv70nQMeEXSDmF32SmWdVGorAF3c4QaValKEpUU=",
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-b2TEM8jlq0aogj2pig/HynB2pXu6FnaqOuL3OwcjSaw=",
837
+ "hash": "sha256-IjUqzxOsWORG18oQqskF0R4ZPTBBRse0v1ESnSY9kgI=",
838
838
  "url": "index.html"
839
839
  },
840
840
  {
@@ -1,4 +1,4 @@
1
- /* Manifest version: hV5hamHN */
1
+ /* Manifest version: dbIQ4uWR */
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