@mindexec/cli 0.2.419 → 0.2.421

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.419",
3
+ "version": "0.2.421",
4
4
  "description": "MindExec local runtime and bridge CLI",
5
5
  "main": "server.js",
6
6
  "type": "module",
package/server.js CHANGED
@@ -4527,12 +4527,13 @@ function scheduleRemoteAgentRecentSuccessfulManagersSave() {
4527
4527
  .catch(err => {
4528
4528
  logWarn('remote', `managed RemoteAgent recent manager cache save failed: ${err?.message || err}`);
4529
4529
  });
4530
+ return remoteAgentRecentSuccessfulManagersSavePromise;
4530
4531
  }
4531
4532
 
4532
- function rememberRemoteAgentSuccessfulManager(manager, leaseId = '') {
4533
+ async function rememberRemoteAgentSuccessfulManager(manager, leaseId = '') {
4533
4534
  const endpoint = normalizeRemoteManagerEndpoint(manager);
4534
4535
  if (!endpoint) {
4535
- return;
4536
+ return false;
4536
4537
  }
4537
4538
 
4538
4539
  loadRemoteAgentRecentSuccessfulManagers();
@@ -4542,7 +4543,8 @@ function rememberRemoteAgentSuccessfulManager(manager, leaseId = '') {
4542
4543
  };
4543
4544
  remoteAgentRecentSuccessfulManagers.set(getRemoteAgentRecentManagerKey(leaseId), entry);
4544
4545
  remoteAgentRecentSuccessfulManagers.set(REMOTE_AGENT_RECENT_MANAGER_DEFAULT_KEY, entry);
4545
- scheduleRemoteAgentRecentSuccessfulManagersSave();
4546
+ await scheduleRemoteAgentRecentSuccessfulManagersSave();
4547
+ return true;
4546
4548
  }
4547
4549
 
4548
4550
  function prioritizeRemoteAgentManagers(managers, leaseId = '') {
@@ -5373,7 +5375,7 @@ async function startRemoteAgentConnectionRace(options = {}) {
5373
5375
  remoteAgentState.needsReconnect = false;
5374
5376
  remoteAgentState.reconnectReason = '';
5375
5377
  remoteAgentState.updatedAt = new Date().toISOString();
5376
- rememberRemoteAgentSuccessfulManager(winner.manager, leaseId);
5378
+ await rememberRemoteAgentSuccessfulManager(winner.manager, leaseId);
5377
5379
  emitBridgeEvent('RemoteAgentStarted', serializeRemoteAgentState());
5378
5380
  logEvent(
5379
5381
  'remote',
@@ -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 = '20260628-google-oauth-pkce-v853';
8
+ const MINDMAP_CORE_BUILD_ID = '20260629-wheel-zoom-immediate-lite-v855';
9
9
  const CanvasPhase = Object.freeze({
10
10
  Booting: 'booting',
11
11
  BoardFileLoading: 'board-file-loading',
@@ -95,6 +95,7 @@
95
95
  const VISIBILITY_CULLING_PAN_HEAVY_FRAME_INTERVAL = 10;
96
96
  const VISIBILITY_CULLING_ZOOM_HEAVY_FRAME_INTERVAL = 10;
97
97
  const FULL_RES_VISIBILITY_CULLING_PAN_FRAME_INTERVAL = 10;
98
+ const FULL_RES_VISIBILITY_CULLING_ZOOM_FRAME_INTERVAL = 10;
98
99
  const FULL_RES_VISIBILITY_EXIT_MARGIN_SCALE = 1.8;
99
100
  const CAMERA_MOTION_GRID_HIDE_DELAY_MS = 90;
100
101
  const CAMERA_MOTION_GRID_MIN_STEP_PX = 3;
@@ -4115,7 +4116,13 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
4115
4116
  }
4116
4117
  }
4117
4118
 
4118
- applyImmediateCameraNavigationFeedback(reason = 'camera-navigation-input') {
4119
+ applyImmediateCameraNavigationFeedback(reason = 'camera-navigation-input', options = {}) {
4120
+ const immediateOptions = options && typeof options === 'object' ? options : {};
4121
+ const shouldRenderImmediateCss3d = immediateOptions.renderCss3d !== false;
4122
+ const shouldRenderImmediateWebgl = immediateOptions.renderWebgl !== false;
4123
+ const shouldSyncImmediateMotionGrid = immediateOptions.syncMotionGrid !== false;
4124
+ const shouldSyncImmediateLocalSnapGrid = immediateOptions.syncLocalSnapGrid !== false;
4125
+ const shouldSyncImmediateAutomationEdges = immediateOptions.syncAutomationEdges !== false;
4119
4126
  const now = typeof performance !== 'undefined' && typeof performance.now === 'function'
4120
4127
  ? performance.now()
4121
4128
  : Date.now();
@@ -4128,6 +4135,14 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
4128
4135
  localSnapGrid: false,
4129
4136
  webgl: false,
4130
4137
  skippedReason: '',
4138
+ webglSkippedReason: '',
4139
+ options: {
4140
+ renderCss3d: shouldRenderImmediateCss3d,
4141
+ renderWebgl: shouldRenderImmediateWebgl,
4142
+ syncMotionGrid: shouldSyncImmediateMotionGrid,
4143
+ syncLocalSnapGrid: shouldSyncImmediateLocalSnapGrid,
4144
+ syncAutomationEdges: shouldSyncImmediateAutomationEdges
4145
+ },
4131
4146
  count: Number(this._immediateCameraFeedbackCount || 0),
4132
4147
  updatedAt: now
4133
4148
  };
@@ -4191,6 +4206,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
4191
4206
  (this._cssTransformDirtyIds?.size || 0) > 0
4192
4207
  );
4193
4208
  const canRenderCss3dCamera = !!(
4209
+ shouldRenderImmediateCss3d === true &&
4194
4210
  this.cssRenderer &&
4195
4211
  typeof this.cssRenderer.renderCamera === 'function' &&
4196
4212
  isCss3dEnabled === true &&
@@ -4210,6 +4226,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
4210
4226
  }
4211
4227
 
4212
4228
  const canRenderWebglCamera = !!(
4229
+ shouldRenderImmediateWebgl === true &&
4213
4230
  this.renderer &&
4214
4231
  this.scene &&
4215
4232
  flags.enableWebglRender !== false &&
@@ -4225,15 +4242,21 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
4225
4242
  } catch (err) {
4226
4243
  status.webglError = err?.message || String(err || 'unknown');
4227
4244
  }
4245
+ } else if (shouldRenderImmediateWebgl !== true) {
4246
+ status.webglSkippedReason = 'feedback-option';
4228
4247
  }
4229
4248
 
4230
- if (this._shouldTouchMotionGridLayerForCameraNavigation?.() === true) {
4249
+ if (shouldSyncImmediateMotionGrid === true &&
4250
+ this._shouldTouchMotionGridLayerForCameraNavigation?.() === true) {
4231
4251
  status.motionGrid = this._syncMotionGridLayerForCameraNavigation?.() === true;
4232
4252
  }
4233
4253
 
4234
- status.localSnapGrid = syncLocalSnapGridForCameraNavigation(this, true) === true;
4254
+ if (shouldSyncImmediateLocalSnapGrid === true) {
4255
+ status.localSnapGrid = syncLocalSnapGridForCameraNavigation(this, true) === true;
4256
+ }
4235
4257
 
4236
- if (syncBusinessAutomationEdgesForCameraNavigation(this, true, false) === true) {
4258
+ if (shouldSyncImmediateAutomationEdges === true &&
4259
+ syncBusinessAutomationEdgesForCameraNavigation(this, true, false) === true) {
4237
4260
  this._immediateCameraFeedbackEdgeCount = Number(this._immediateCameraFeedbackEdgeCount || 0) + 1;
4238
4261
  status.automationEdges = true;
4239
4262
  status.edgeCount = this._immediateCameraFeedbackEdgeCount;
@@ -6289,6 +6312,10 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
6289
6312
  this.isPanning === true &&
6290
6313
  wasPanningLastFrame !== true &&
6291
6314
  this.isZooming !== true;
6315
+ const fullResZoomStartedThisFrame =
6316
+ isFullResMode === true &&
6317
+ this.isZooming === true &&
6318
+ wasZoomingLastFrame !== true;
6292
6319
  const shouldThrottleFullResVisibilityCullingDuringPan =
6293
6320
  isFullResMode === true &&
6294
6321
  isVisibilityCullingEnabled &&
@@ -6300,17 +6327,34 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
6300
6327
  !hasNonCameraNavigationForcedUpdate &&
6301
6328
  !hasPendingNearCssWarmup &&
6302
6329
  !this.isWindowResizing;
6330
+ const shouldThrottleFullResVisibilityCullingDuringZoom =
6331
+ isFullResMode === true &&
6332
+ isVisibilityCullingEnabled &&
6333
+ this.isZooming === true &&
6334
+ !shouldFreezeVisibilityDuringMotion &&
6335
+ !shouldFreezeFullResDuringMotion &&
6336
+ !isNodeInteracting &&
6337
+ !hasNonCameraNavigationForcedUpdate &&
6338
+ !hasPendingNearCssWarmup &&
6339
+ !this.isWindowResizing;
6303
6340
  const shouldSkipFullResVisibilityCullingForMotionFreeze =
6304
6341
  isFullResMode === true &&
6305
6342
  shouldFreezeFullResDuringMotion === true &&
6306
- fullResPanStartedThisFrame !== true;
6343
+ fullResPanStartedThisFrame !== true &&
6344
+ fullResZoomStartedThisFrame !== true;
6307
6345
  const shouldRunFullResVisibilityCullingThisFrame =
6308
6346
  shouldSkipFullResVisibilityCullingForMotionFreeze !== true &&
6309
6347
  (
6310
- !shouldThrottleFullResVisibilityCullingDuringPan ||
6348
+ (!shouldThrottleFullResVisibilityCullingDuringPan &&
6349
+ !shouldThrottleFullResVisibilityCullingDuringZoom) ||
6311
6350
  fullResPanStartedThisFrame ||
6312
- FULL_RES_VISIBILITY_CULLING_PAN_FRAME_INTERVAL <= 1 ||
6313
- (this.frameCount % FULL_RES_VISIBILITY_CULLING_PAN_FRAME_INTERVAL) === 0
6351
+ fullResZoomStartedThisFrame ||
6352
+ (shouldThrottleFullResVisibilityCullingDuringPan &&
6353
+ (FULL_RES_VISIBILITY_CULLING_PAN_FRAME_INTERVAL <= 1 ||
6354
+ (this.frameCount % FULL_RES_VISIBILITY_CULLING_PAN_FRAME_INTERVAL) === 0)) ||
6355
+ (shouldThrottleFullResVisibilityCullingDuringZoom &&
6356
+ (FULL_RES_VISIBILITY_CULLING_ZOOM_FRAME_INTERVAL <= 1 ||
6357
+ (this.frameCount % FULL_RES_VISIBILITY_CULLING_ZOOM_FRAME_INTERVAL) === 0))
6314
6358
  );
6315
6359
  const shouldRunVisibilityCullingThisFrame =
6316
6360
  isFullResMode === true
@@ -6389,6 +6433,16 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
6389
6433
  this._fullResVisibilityReconcilePending = true;
6390
6434
  this._lastVisibilityCullingSkipReason = visibilityCullingSkipReason;
6391
6435
  this._preserveVisibleSetThisFrame = true;
6436
+ } else if (isFullResMode === true &&
6437
+ isVisibilityCullingEnabled === true &&
6438
+ shouldRunFullResVisibilityCullingThisFrame !== true &&
6439
+ shouldFreezeVisibilityDuringMotion !== true) {
6440
+ visibilityCullingSkipReason = shouldThrottleFullResVisibilityCullingDuringZoom
6441
+ ? 'fullres-zoom-visibility-throttle'
6442
+ : 'fullres-pan-visibility-throttle';
6443
+ this._fullResVisibilityReconcilePending = true;
6444
+ this._lastVisibilityCullingSkipReason = visibilityCullingSkipReason;
6445
+ this._preserveVisibleSetThisFrame = true;
6392
6446
  }
6393
6447
  // ?�▲??[Perf] ?�▲?? _profileSection('pipelineVisibilityPlan');
6394
6448
  const shouldUseInteractiveDpr =
@@ -5,7 +5,7 @@ window.MindMapInteractions = (function () {
5
5
  const MOTION_DOM_FANOUT_DELAY_MS = 180;
6
6
  const MOTION_DOM_FANOUT_ENABLED = false;
7
7
  const MOTION_WILL_CHANGE_ENABLE_DELAY_MS = 240;
8
- const WHEEL_ZOOM_TARGET_UPDATE_MODE = 'event-direct';
8
+ const WHEEL_ZOOM_TARGET_UPDATE_MODE = 'raf-coalesced-direct';
9
9
  const PRIMARY_CLICK_DELAY_MS = 280;
10
10
  const BACKGROUND_PRIMARY_CLICK_DELAY_MS = 320;
11
11
  const eventHandlers = new WeakMap();
@@ -599,19 +599,6 @@ window.MindMapInteractions = (function () {
599
599
  window.MindMapTextOverlayV2?.invalidateView?.(module);
600
600
  }
601
601
 
602
- function requestPanLiveRefreshFrames(module) {
603
- if (!module) {
604
- return;
605
- }
606
- wakeCameraNavigationAnimation(module, 'pan-input');
607
- }
608
-
609
- function applyImmediateCameraNavigationFeedback(module, reason = 'camera-navigation-input') {
610
- if (module && typeof module.applyImmediateCameraNavigationFeedback === 'function') {
611
- module.applyImmediateCameraNavigationFeedback(reason);
612
- }
613
- }
614
-
615
602
  function markCameraNavigationForceFrames(module, frames = 2) {
616
603
  if (!module) {
617
604
  return;
@@ -626,10 +613,23 @@ window.MindMapInteractions = (function () {
626
613
  module._panLiveRefreshForceFrames = Math.max(Number(module._panLiveRefreshForceFrames || 0), safeFrames);
627
614
  }
628
615
 
616
+ function requestPanLiveRefreshFrames(module) {
617
+ if (!module) {
618
+ return;
619
+ }
620
+ wakeCameraNavigationAnimation(module, 'pan-input');
621
+ }
622
+
623
+ function applyImmediateCameraNavigationFeedback(module, reason = 'camera-navigation-input', options = {}) {
624
+ if (module && typeof module.applyImmediateCameraNavigationFeedback === 'function') {
625
+ module.applyImmediateCameraNavigationFeedback(reason, options);
626
+ }
627
+ }
628
+
629
629
  function wakeCameraNavigationAnimation(module, reason = 'camera-navigation-input', options = {}) {
630
630
  markCameraNavigationForceFrames(module, options?.forceFrames ?? 0);
631
631
  if (options?.immediate === true) {
632
- applyImmediateCameraNavigationFeedback(module, reason);
632
+ applyImmediateCameraNavigationFeedback(module, reason, options);
633
633
  }
634
634
  if (module && typeof module.requestAnimationWake === 'function') {
635
635
  module.requestAnimationWake(reason);
@@ -6527,7 +6527,12 @@ window.MindMapInteractions = (function () {
6527
6527
  const newY = worldMouseY - (worldMouseY - module.targetY) * zoomRatio;
6528
6528
  module.targetX = newX;
6529
6529
  module.targetY = newY;
6530
- applyImmediateCameraNavigationFeedback(module, 'wheel-zoom-input');
6530
+ applyImmediateCameraNavigationFeedback(module, 'wheel-zoom-input', {
6531
+ renderWebgl: false,
6532
+ syncAutomationEdges: false,
6533
+ syncLocalSnapGrid: false,
6534
+ syncMotionGrid: false
6535
+ });
6531
6536
  const settleFrames = 2;
6532
6537
  wakeCameraNavigationAnimation(module, 'wheel-zoom-input', { forceFrames: settleFrames });
6533
6538
  // ▲▲▲ [Changed] ▲▲▲
@@ -579,7 +579,7 @@
579
579
  }
580
580
 
581
581
  const base = '_content/MindExecution.Shared/js/';
582
- const scriptVersion = '20260628-google-oauth-pkce-v853';
582
+ const scriptVersion = '20260629-wheel-zoom-immediate-lite-v855';
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": "V+w5yktL",
2
+ "version": "XIia70hb",
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-jSAGVrf4ozvjP+Aq6C78+TctFHmOCdW9CvQzWHMipGc=",
81
+ "hash": "sha256-FKkF+iWJTl4+KZtgZCm4uV2PHTxXp0TFkSwuZhGupX8=",
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-67E59SHX1KKYfGw/oN7OuZpYhklWT02DJ4PivVP/BeM=",
109
+ "hash": "sha256-cI3+GC8kPJOqszjmSBOS+rFPyXPheKohJfZZaDcOWV8=",
110
110
  "url": "_content/MindExecution.Shared/js/mind-map-interactions.js"
111
111
  },
112
112
  {
@@ -826,7 +826,7 @@
826
826
  "url": "icon-512.png"
827
827
  },
828
828
  {
829
- "hash": "sha256-0A9+1rtEIXzrj709gnMiqe9M+e9NKzQ5spRGPKjsN1g=",
829
+ "hash": "sha256-c7bd5qxUiH3yqT95Xt6vckY20uqzasgvEGQnonVsO1M=",
830
830
  "url": "index.html"
831
831
  },
832
832
  {
@@ -1,4 +1,4 @@
1
- /* Manifest version: V+w5yktL */
1
+ /* Manifest version: XIia70hb */
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