@mindexec/cli 0.2.294 → 0.2.296

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.294",
3
+ "version": "0.2.296",
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-scene-stable-v752';
8
+ const MINDMAP_CORE_BUILD_ID = '20260620-flat-camera-pan-y-v754';
9
9
  const CanvasPhase = Object.freeze({
10
10
  Booting: 'booting',
11
11
  BoardFileLoading: 'board-file-loading',
@@ -10147,13 +10147,14 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
10147
10147
  ctx.fillStyle = '#f8fafc';
10148
10148
  ctx.fillRect(0, 0, width, height);
10149
10149
 
10150
+ const targetAspect = width / height;
10151
+ const sourceAspect = sourceWidth / sourceHeight;
10152
+ let sx = 0;
10153
+ let sy = 0;
10154
+ let sw = sourceWidth;
10155
+ let sh = sourceHeight;
10156
+
10150
10157
  try {
10151
- const targetAspect = width / height;
10152
- const sourceAspect = sourceWidth / sourceHeight;
10153
- let sx = 0;
10154
- let sy = 0;
10155
- let sw = sourceWidth;
10156
- let sh = sourceHeight;
10157
10158
  if (sourceAspect > targetAspect) {
10158
10159
  sw = sourceHeight * targetAspect;
10159
10160
  sx = (sourceWidth - sw) / 2;
@@ -51,7 +51,7 @@
51
51
  // ▲▲▲ [Usage] ▲▲▲
52
52
 
53
53
  // Procedural line rendering settings
54
- const LOD_RENDERER_BUILD_ID = '20260620-css3d-scene-stable-v752';
54
+ const LOD_RENDERER_BUILD_ID = '20260620-flat-camera-pan-y-v754';
55
55
  const DirtyKind = Object.freeze({
56
56
  ResidentFullRebuild: 'resident-full-rebuild',
57
57
  ResidentPatch: 'resident-patch',
@@ -2579,6 +2579,7 @@
2579
2579
 
2580
2580
  let eligibleCount = 0;
2581
2581
  let visibleCssCount = 0;
2582
+ let pendingCssCount = 0;
2582
2583
  let pendingImageCssCount = 0;
2583
2584
  for (const nodeId of visibleIds) {
2584
2585
  const entry = nodeObjectsById.get(nodeId);
@@ -2592,6 +2593,7 @@
2592
2593
  element &&
2593
2594
  element.style.display !== 'none';
2594
2595
  if (!cssVisible) {
2596
+ pendingCssCount++;
2595
2597
  if (getNodeContentType(entry.model) === 'image') {
2596
2598
  pendingImageCssCount++;
2597
2599
  }
@@ -2619,14 +2621,23 @@
2619
2621
  this._css3dQueuedMap.size === 0 &&
2620
2622
  this._css3dProcessing !== true &&
2621
2623
  this._nearEntryBoostFrames <= 0;
2624
+ const hasPendingCss = pendingCssCount > 0;
2622
2625
  const timedOut = performance.now() >= this._fullResHandoffUntil;
2623
2626
  const hasPendingImageCss = pendingImageCssCount > 0;
2627
+ const coverageReady = coverage >= this._fullResHandoffMinCoverage && !hasPendingImageCss;
2628
+ const idleReady = queueIdle && !hasPendingCss && !hasPendingImageCss;
2624
2629
 
2625
- if ((coverage >= this._fullResHandoffMinCoverage && !hasPendingImageCss) ||
2626
- (queueIdle && !hasPendingImageCss) ||
2627
- timedOut) {
2628
- this._finishFullResHandoff(queueIdle ? 'queue-idle' : timedOut ? 'timeout' : 'coverage');
2630
+ if (coverageReady || idleReady) {
2631
+ this._finishFullResHandoff(idleReady ? 'queue-idle-all-css-visible' : 'coverage');
2629
2632
  } else {
2633
+ if (timedOut && hasPendingCss) {
2634
+ this._fullResHandoffUntil = Math.max(
2635
+ Number(this._fullResHandoffUntil || 0),
2636
+ performance.now() + this._fullResPanHandoffMaxMs
2637
+ );
2638
+ this._nearEntryBoostFrames = Math.max(Number(this._nearEntryBoostFrames || 0), 8);
2639
+ this._lastNearCssNoWorkKey = '';
2640
+ }
2630
2641
  this._setFullResHandoffMeshesVisible(true);
2631
2642
  }
2632
2643
  }
@@ -32,8 +32,8 @@
32
32
 
33
33
  function CSS3DRenderer(){
34
34
  var _width, _height; var _widthHalf, _heightHalf; var cache = { camera:{ fov:0, style:'', mode:'matrix3d' }, objects: new WeakMap() };
35
- var domElement = document.createElement('div'); domElement.style.overflow = 'hidden'; domElement.style.contain = 'strict'; domElement.style.willChange = 'transform'; domElement.style.webkitTransition = domElement.style.transition = 'none'; domElement.style.webkitBackfaceVisibility = domElement.style.backfaceVisibility = 'hidden'; this.domElement = domElement;
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'; cameraElement.style.contain = 'layout style paint'; cameraElement.style.willChange = 'transform'; cameraElement.style.webkitTransition = cameraElement.style.transition = 'none'; cameraElement.style.webkitBackfaceVisibility = cameraElement.style.backfaceVisibility = 'hidden'; domElement.appendChild(cameraElement);
35
+ var domElement = document.createElement('div'); domElement.style.overflow = 'hidden'; domElement.style.contain = 'layout style'; domElement.style.willChange = 'transform'; domElement.style.webkitTransition = domElement.style.transition = 'none'; domElement.style.webkitBackfaceVisibility = domElement.style.backfaceVisibility = 'hidden'; this.domElement = domElement;
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'; cameraElement.style.contain = 'layout style'; cameraElement.style.willChange = 'transform'; cameraElement.style.webkitTransition = cameraElement.style.transition = 'none'; cameraElement.style.webkitBackfaceVisibility = cameraElement.style.backfaceVisibility = 'hidden'; domElement.appendChild(cameraElement);
37
37
 
38
38
  this.getSize = function(){ return { width:_width, height:_height }; };
39
39
  this.getCameraElement = function(){ return cameraElement; };
@@ -60,7 +60,10 @@
60
60
  if (Math.abs(Number(rotation.x || 0)) > 1e-5 || Math.abs(Number(rotation.y || 0)) > 1e-5 || Math.abs(Number(rotation.z || 0)) > 1e-5) return false;
61
61
  var scale = (projectionScale * _heightHalf) / cameraZ;
62
62
  var translateX = _widthHalf - cameraX * scale;
63
- var translateY = _heightHalf + cameraY * scale;
63
+ // Match the settled matrix3d renderer's inverted CSS3D Y basis. Without
64
+ // the viewport-height projection correction, flat pan frames render one
65
+ // scaled viewport lower and jump when motion settles.
66
+ var translateY = _heightHalf + cameraY * scale - (_height * scale);
64
67
  var translateBucket = Math.max(0.001, Number(options && options.translateBucketPx || 0.25));
65
68
  var scaleBucket = Math.max(0.000001, Number(options && options.scaleBucket || 0.0005));
66
69
  var tx = Math.round(translateX / translateBucket) * translateBucket;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "mainAssemblyName": "MindExecution.Web",
3
3
  "resources": {
4
- "hash": "sha256-xWHhfNfn3/NFVQ8lKCNPMeOhJwjh38wF9ezQURomDfE=",
4
+ "hash": "sha256-FF1nAHdYmz7+B94axSY0q+4MC9oZypaC7l7e/MluIM4=",
5
5
  "fingerprinting": {
6
6
  "Google.Protobuf.9h59ukbel7.dll": "Google.Protobuf.dll",
7
7
  "Markdig.d1j7v41cl1.dll": "Markdig.dll",
@@ -127,12 +127,12 @@
127
127
  "MindExecution.Kernel.l5y3qroa7p.dll": "MindExecution.Kernel.dll",
128
128
  "MindExecution.Plugins.Admin.uuf238xa0h.dll": "MindExecution.Plugins.Admin.dll",
129
129
  "MindExecution.Plugins.Business.nyr3v25v48.dll": "MindExecution.Plugins.Business.dll",
130
- "MindExecution.Plugins.Concept.d70e7soqnf.dll": "MindExecution.Plugins.Concept.dll",
130
+ "MindExecution.Plugins.Concept.xjufz6g1rt.dll": "MindExecution.Plugins.Concept.dll",
131
131
  "MindExecution.Plugins.Directory.ju87t8h3zs.dll": "MindExecution.Plugins.Directory.dll",
132
- "MindExecution.Plugins.PlanMaster.xg4mkokjr1.dll": "MindExecution.Plugins.PlanMaster.dll",
133
- "MindExecution.Plugins.YouTube.c631ocfbcp.dll": "MindExecution.Plugins.YouTube.dll",
134
- "MindExecution.Shared.km4gh9ya5b.dll": "MindExecution.Shared.dll",
135
- "MindExecution.Web.lam9b8vdjf.dll": "MindExecution.Web.dll",
132
+ "MindExecution.Plugins.PlanMaster.ypr32rpm29.dll": "MindExecution.Plugins.PlanMaster.dll",
133
+ "MindExecution.Plugins.YouTube.pjv8y1v7kk.dll": "MindExecution.Plugins.YouTube.dll",
134
+ "MindExecution.Shared.6v8p1z521c.dll": "MindExecution.Shared.dll",
135
+ "MindExecution.Web.df0li0jddy.dll": "MindExecution.Web.dll",
136
136
  "dotnet.js": "dotnet.js",
137
137
  "dotnet.native.qc8g39g30v.js": "dotnet.native.js",
138
138
  "dotnet.native.boem75ye5i.wasm": "dotnet.native.wasm",
@@ -281,15 +281,15 @@
281
281
  "MindExecution.Core.y7ffihhajj.dll": "sha256-zsCKUWBWzDly1h5/vMtqVRb7PeG4lgfIZbQuJFyY1QU=",
282
282
  "MindExecution.Kernel.l5y3qroa7p.dll": "sha256-V4pQTxua0lGWpdsFpo7bHr6rPFWZeofry7e9On+OJmo=",
283
283
  "MindExecution.Plugins.Business.nyr3v25v48.dll": "sha256-T4c7+fDE4TQAXAoFmHnYM+tT7RSvAM7W0VinLPoD+6U=",
284
- "MindExecution.Plugins.Concept.d70e7soqnf.dll": "sha256-iU+GA8ky8EMgkX1HvaZnq7niGkGFADlPbbEZws5wBzs=",
285
- "MindExecution.Plugins.PlanMaster.xg4mkokjr1.dll": "sha256-IbRqhxJiKStOUy36JNELSuIhbqNkaJNxKC9RdDtcdHM=",
286
- "MindExecution.Shared.km4gh9ya5b.dll": "sha256-lG8xtDTFexPjilxL/kpzaW262mFdEHgt0oEPGPNZFz4=",
287
- "MindExecution.Web.lam9b8vdjf.dll": "sha256-4+s+2+44kJjwUnoHpqPM8COug1NJCCJdFxr0ZRXzOvQ="
284
+ "MindExecution.Plugins.Concept.xjufz6g1rt.dll": "sha256-bWM6jA2lPPkHFs5Itjqjj7S9nsS+JfTBOnhDoO1aSW4=",
285
+ "MindExecution.Plugins.PlanMaster.ypr32rpm29.dll": "sha256-6rKiLaTNql6z8E+yhQJaIfxU9d/ed2lH0moVYDNZ5n8=",
286
+ "MindExecution.Shared.6v8p1z521c.dll": "sha256-3iknhbM7GDnYzPsIgCI/OOcXnwTr1ar8Eam3DBVnK1o=",
287
+ "MindExecution.Web.df0li0jddy.dll": "sha256-abf4IekxOERJ9QG4vtL5dVjb8BDVL65ghHy9Ff+xoCM="
288
288
  },
289
289
  "lazyAssembly": {
290
290
  "MindExecution.Plugins.Admin.uuf238xa0h.dll": "sha256-OrCIUack8nSWBBiZK65DlJ3YGM677RAA8cX/oJjhm5c=",
291
291
  "MindExecution.Plugins.Directory.ju87t8h3zs.dll": "sha256-dapAkel5qj7fK6BiDDmvkzZL96frl8k/3yP8SDr3rMw=",
292
- "MindExecution.Plugins.YouTube.c631ocfbcp.dll": "sha256-rMFZtm/5KmHnPJ2z3o4YhmghevxIElnnS59AgkRXjbo="
292
+ "MindExecution.Plugins.YouTube.pjv8y1v7kk.dll": "sha256-S/gcxDXtRDC7hHYM8Rt3018Lm0/MBdGdoAzbLnZrJj0="
293
293
  }
294
294
  },
295
295
  "cacheBootResources": 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-scene-stable-v752" />
11
- <link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260620-css3d-scene-stable-v752" />
10
+ <link rel="stylesheet" href="_content/MindExecution.Shared/css/app.css?v=20260620-flat-camera-pan-y-v754" />
11
+ <link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260620-flat-camera-pan-y-v754" />
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-scene-stable-v752';
582
+ const scriptVersion = '20260620-flat-camera-pan-y-v754';
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": "O9KD8Ccz",
2
+ "version": "w4TAjKJM",
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-NCe7IQxIcitYL7CRq7Aa7A9CSCFsDxUy8SZSoJm+aPo=",
81
+ "hash": "sha256-Pm6Fsfi1yFjFA4zyI0Qtkmtirf9GeV8IY0hP7wEsut4=",
82
82
  "url": "_content/MindExecution.Shared/js/mind-map-core.js"
83
83
  },
84
84
  {
@@ -114,7 +114,7 @@
114
114
  "url": "_content/MindExecution.Shared/js/mind-map-lod-plan-worker.js"
115
115
  },
116
116
  {
117
- "hash": "sha256-W2y0s/EzYYraueITXUNNzJxXfzpp9L7kuwT4ml7XzN8=",
117
+ "hash": "sha256-2PMWOyq5zxt8mpd/hkCK6uBvf88/kDV8P/wNY0MgIfM=",
118
118
  "url": "_content/MindExecution.Shared/js/mind-map-lod-renderer.js"
119
119
  },
120
120
  {
@@ -182,7 +182,7 @@
182
182
  "url": "_content/MindExecution.Shared/js/plan-master.js"
183
183
  },
184
184
  {
185
- "hash": "sha256-uNsEEhPWF3LWiI7eGK5Fft6Rw/XSu+PrxGcu5ZcK1MA=",
185
+ "hash": "sha256-QCdyQOre0GrA61w+YanZp5DbOJr/dlg7rCLE9f/hAqM=",
186
186
  "url": "_content/MindExecution.Shared/js/renderers/CSS3DRenderer.js"
187
187
  },
188
188
  {
@@ -426,28 +426,28 @@
426
426
  "url": "_framework/MindExecution.Plugins.Business.nyr3v25v48.dll"
427
427
  },
428
428
  {
429
- "hash": "sha256-iU+GA8ky8EMgkX1HvaZnq7niGkGFADlPbbEZws5wBzs=",
430
- "url": "_framework/MindExecution.Plugins.Concept.d70e7soqnf.dll"
429
+ "hash": "sha256-bWM6jA2lPPkHFs5Itjqjj7S9nsS+JfTBOnhDoO1aSW4=",
430
+ "url": "_framework/MindExecution.Plugins.Concept.xjufz6g1rt.dll"
431
431
  },
432
432
  {
433
433
  "hash": "sha256-dapAkel5qj7fK6BiDDmvkzZL96frl8k/3yP8SDr3rMw=",
434
434
  "url": "_framework/MindExecution.Plugins.Directory.ju87t8h3zs.dll"
435
435
  },
436
436
  {
437
- "hash": "sha256-IbRqhxJiKStOUy36JNELSuIhbqNkaJNxKC9RdDtcdHM=",
438
- "url": "_framework/MindExecution.Plugins.PlanMaster.xg4mkokjr1.dll"
437
+ "hash": "sha256-6rKiLaTNql6z8E+yhQJaIfxU9d/ed2lH0moVYDNZ5n8=",
438
+ "url": "_framework/MindExecution.Plugins.PlanMaster.ypr32rpm29.dll"
439
439
  },
440
440
  {
441
- "hash": "sha256-rMFZtm/5KmHnPJ2z3o4YhmghevxIElnnS59AgkRXjbo=",
442
- "url": "_framework/MindExecution.Plugins.YouTube.c631ocfbcp.dll"
441
+ "hash": "sha256-S/gcxDXtRDC7hHYM8Rt3018Lm0/MBdGdoAzbLnZrJj0=",
442
+ "url": "_framework/MindExecution.Plugins.YouTube.pjv8y1v7kk.dll"
443
443
  },
444
444
  {
445
- "hash": "sha256-lG8xtDTFexPjilxL/kpzaW262mFdEHgt0oEPGPNZFz4=",
446
- "url": "_framework/MindExecution.Shared.km4gh9ya5b.dll"
445
+ "hash": "sha256-3iknhbM7GDnYzPsIgCI/OOcXnwTr1ar8Eam3DBVnK1o=",
446
+ "url": "_framework/MindExecution.Shared.6v8p1z521c.dll"
447
447
  },
448
448
  {
449
- "hash": "sha256-4+s+2+44kJjwUnoHpqPM8COug1NJCCJdFxr0ZRXzOvQ=",
450
- "url": "_framework/MindExecution.Web.lam9b8vdjf.dll"
449
+ "hash": "sha256-abf4IekxOERJ9QG4vtL5dVjb8BDVL65ghHy9Ff+xoCM=",
450
+ "url": "_framework/MindExecution.Web.df0li0jddy.dll"
451
451
  },
452
452
  {
453
453
  "hash": "sha256-IsZJ91/OW+fHzNqIgEc7Y072ns8z9dGritiSyvR9Wgc=",
@@ -770,7 +770,7 @@
770
770
  "url": "_framework/Websocket.Client.vapounvmnl.dll"
771
771
  },
772
772
  {
773
- "hash": "sha256-+L8b48+RY+B5jUKR3TCnYLnKbBoKD2Dfd2snIzNSaTs=",
773
+ "hash": "sha256-DCa6Ul8O+PoQtr9kl/Ks5HOAS8WrNZHoXx7wizRdu68=",
774
774
  "url": "_framework/blazor.boot.json"
775
775
  },
776
776
  {
@@ -834,7 +834,7 @@
834
834
  "url": "image-manifest.json"
835
835
  },
836
836
  {
837
- "hash": "sha256-vGprwakLUDuo6HPZbyxWRw7W4ey7WW87CydvCLezwdI=",
837
+ "hash": "sha256-iSaoLAeLcFTemqhQxhR9UVS0+6eqB7yktppGhu4zBu4=",
838
838
  "url": "index.html"
839
839
  },
840
840
  {
@@ -1,4 +1,4 @@
1
- /* Manifest version: O9KD8Ccz */
1
+ /* Manifest version: w4TAjKJM */
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