@mindexec/cli 0.2.275 → 0.2.277

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.275",
3
+ "version": "0.2.277",
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-v723';
8
+ const MINDMAP_CORE_BUILD_ID = '20260620-css3d-flat-wheel-v725';
9
9
  const CanvasPhase = Object.freeze({
10
10
  Booting: 'booting',
11
11
  BoardFileLoading: 'board-file-loading',
@@ -546,19 +546,22 @@
546
546
  return true;
547
547
  }
548
548
 
549
- function renderCss3dCameraForCameraNavigation(module, reason = 'camera-navigation') {
549
+ function renderCss3dCameraForCameraNavigation(module, reason = 'camera-navigation', options = {}) {
550
550
  const renderer = module?.cssRenderer || null;
551
551
  const camera = module?.camera || null;
552
552
  if (!renderer || !camera) {
553
553
  return false;
554
554
  }
555
555
 
556
- const renderDebugFlags = module.renderDebugFlags || getRenderDebugFlagsSnapshot();
556
+ const renderDebugFlags = options?.renderDebugFlags || module.renderDebugFlags || getRenderDebugFlagsSnapshot();
557
557
  if (renderDebugFlags.enableCss3d === false) {
558
558
  return false;
559
559
  }
560
560
 
561
- if (canUseFlatCss3dCameraMotion(module, renderer, camera, renderDebugFlags) === true) {
561
+ const cachedFlatEligible = options?.flatEligible;
562
+ const canUseFlatCamera = cachedFlatEligible === true ||
563
+ (cachedFlatEligible !== false && canUseFlatCss3dCameraMotion(module, renderer, camera, renderDebugFlags) === true);
564
+ if (canUseFlatCamera === true) {
562
565
  const usedFlatCamera = renderer.renderFlatCamera(camera, {
563
566
  translateBucketPx: CAMERA_MOTION_WEBGL_TRANSFORM_TRANSLATE_BUCKET_PX,
564
567
  scaleBucket: CAMERA_MOTION_WEBGL_TRANSFORM_SCALE_BUCKET
@@ -4588,7 +4591,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
4588
4591
 
4589
4592
  if (usedWebglCanvasCameraTransform === true ||
4590
4593
  CAMERA_MOTION_GRID_FALLBACK_ENABLED !== true) {
4591
- if (this._motionGridVisible === true || this._motionGridLayer) {
4594
+ if (this._motionGridVisible === true) {
4592
4595
  this._syncMotionGridLayer(false);
4593
4596
  }
4594
4597
  return false;
@@ -4599,8 +4602,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
4599
4602
 
4600
4603
  _shouldTouchMotionGridLayerForCameraNavigation() {
4601
4604
  return CAMERA_MOTION_GRID_FALLBACK_ENABLED === true ||
4602
- this._motionGridVisible === true ||
4603
- !!this._motionGridLayer;
4605
+ this._motionGridVisible === true;
4604
4606
  }
4605
4607
 
4606
4608
  _installForceUpdateWakeHook() {
@@ -5652,7 +5654,10 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
5652
5654
  }
5653
5655
  this._syncLocalSnapGridPositionOnly?.(true);
5654
5656
  if (canRenderCss3d === true) {
5655
- renderCss3dCameraForCameraNavigation(this, 'ua-wheel-zoom-direct');
5657
+ renderCss3dCameraForCameraNavigation(this, 'ua-wheel-zoom-direct', {
5658
+ renderDebugFlags,
5659
+ flatEligible: canUseFlatCss3dWheelCamera
5660
+ });
5656
5661
  }
5657
5662
  if (hasBusinessAutomationTransformMotionWork(this) === true) {
5658
5663
  syncBusinessAutomationEdgesForCameraNavigation(this, true);
@@ -6045,6 +6045,23 @@ window.MindMapInteractions = (function () {
6045
6045
  return wheelBuffers.get(module);
6046
6046
  }
6047
6047
 
6048
+ function getWheelTimestamp() {
6049
+ return typeof performance !== 'undefined' && typeof performance.now === 'function'
6050
+ ? performance.now()
6051
+ : Date.now();
6052
+ }
6053
+
6054
+ function markCanvasWheelActivity(module, now = 0) {
6055
+ if (!module) {
6056
+ return 0;
6057
+ }
6058
+
6059
+ const wheelNow = Number(now || 0) > 0 ? Number(now) : getWheelTimestamp();
6060
+ module._lastCanvasWheelAt = wheelNow;
6061
+ window.__mindMapLastCanvasWheelAt = wheelNow;
6062
+ return wheelNow;
6063
+ }
6064
+
6048
6065
  function scheduleWheelZoomFrame(module, wheelBuffer, callback) {
6049
6066
  if (!module || !wheelBuffer || wheelBuffer.pending === true) {
6050
6067
  return;
@@ -6325,6 +6342,7 @@ window.MindMapInteractions = (function () {
6325
6342
  return;
6326
6343
  }
6327
6344
 
6345
+ markCanvasWheelActivity(module);
6328
6346
  performCameraZoomBuffered(module, accumulatedDeltaY, clientX, clientY);
6329
6347
  });
6330
6348
  }
@@ -6709,23 +6727,19 @@ window.MindMapInteractions = (function () {
6709
6727
  return false;
6710
6728
  }
6711
6729
 
6712
- function onWheel(module, e) {
6713
- const wheelNow = typeof performance !== 'undefined' && typeof performance.now === 'function'
6714
- ? performance.now()
6715
- : Date.now();
6730
+ function onWheel(module, e, options = {}) {
6716
6731
  const wheelAnalysis = getWheelEventAnalysis(module, e);
6717
6732
  const shouldRouteWheelToZoom =
6718
6733
  wheelAnalysis.isSyntheticTrackpadPinch === true ||
6719
6734
  shouldZoomFromWheelEvent(module, e, wheelAnalysis);
6720
6735
 
6721
6736
  if (shouldRouteWheelToZoom) {
6722
- module._lastCanvasWheelAt = wheelNow;
6723
- window.__mindMapLastCanvasWheelAt = wheelNow;
6724
6737
  if (WHEEL_DEBUG) {
6725
6738
  if (!module._wheelDebug) {
6726
6739
  module._wheelDebug = { count: 0, lastLog: 0 };
6727
6740
  }
6728
6741
  module._wheelDebug.count++;
6742
+ const wheelNow = getWheelTimestamp();
6729
6743
  if (wheelNow - module._wheelDebug.lastLog > 1000) {
6730
6744
  console.log(`[Wheel Debug] Events in last second: ${module._wheelDebug.count}, deltaY: ${e.deltaY.toFixed(1)}`);
6731
6745
  module._wheelDebug.count = 0;
@@ -6743,14 +6757,13 @@ window.MindMapInteractions = (function () {
6743
6757
  return;
6744
6758
  }
6745
6759
 
6746
- if (e?.__mindMapBypassMountedEmbedOwner !== true &&
6760
+ if (options?.bypassMountedEmbedOwner !== true &&
6747
6761
  shouldLetMountedEmbedOwnEvent(module, e.target, e)) {
6748
6762
  e.stopPropagation();
6749
6763
  return;
6750
6764
  }
6751
6765
 
6752
- module._lastCanvasWheelAt = wheelNow;
6753
- window.__mindMapLastCanvasWheelAt = wheelNow;
6766
+ const wheelNow = markCanvasWheelActivity(module);
6754
6767
 
6755
6768
  if (WHEEL_DEBUG) {
6756
6769
  if (!module._wheelDebug) {
@@ -6796,21 +6809,7 @@ window.MindMapInteractions = (function () {
6796
6809
  return;
6797
6810
  }
6798
6811
 
6799
- const previousBypass = e.__mindMapBypassMountedEmbedOwner;
6800
- e.__mindMapBypassMountedEmbedOwner = true;
6801
- try {
6802
- onWheel(module, e);
6803
- } finally {
6804
- if (previousBypass === undefined) {
6805
- try {
6806
- delete e.__mindMapBypassMountedEmbedOwner;
6807
- } catch {
6808
- e.__mindMapBypassMountedEmbedOwner = undefined;
6809
- }
6810
- } else {
6811
- e.__mindMapBypassMountedEmbedOwner = previousBypass;
6812
- }
6813
- }
6812
+ onWheel(module, e, { bypassMountedEmbedOwner: true });
6814
6813
  }
6815
6814
 
6816
6815
  function shouldTreatWheelAsZoom(module, e) {
@@ -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-v723" />
11
- <link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260620-css3d-flat-wheel-v723" />
10
+ <link rel="stylesheet" href="_content/MindExecution.Shared/css/app.css?v=20260620-css3d-flat-wheel-v725" />
11
+ <link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260620-css3d-flat-wheel-v725" />
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-v723';
582
+ const scriptVersion = '20260620-css3d-flat-wheel-v725';
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": "Rl0DlhWJ",
2
+ "version": "qrcjbhVc",
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-PokWtZ7UoJE+/mdQACZBHihHMJLTJjkjp/LuemQac68=",
81
+ "hash": "sha256-9wk9HRzFhcFl7vQoTpmWG/vSOofY4hWKZGd7qM6RCxM=",
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-AlbbLd6JWDnJYXVds8eReO2OYyjzsjXYFn36UYz0ZxI=",
109
+ "hash": "sha256-v66z+kBA+ob3JHBGielrNVQDU1t3t0UPpQnUoNmFKyQ=",
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-dcrHGEoxLMetEizqS8+tjnhWes2n9RCfZas3A5/nbA4=",
837
+ "hash": "sha256-A2j7NM+qgucZs5QarrELv3W2bQsI1yktdAlEOlZNczA=",
838
838
  "url": "index.html"
839
839
  },
840
840
  {
@@ -1,4 +1,4 @@
1
- /* Manifest version: Rl0DlhWJ */
1
+ /* Manifest version: qrcjbhVc */
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