@mindexec/cli 0.2.254 → 0.2.256
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 +1 -1
- package/wwwroot/_content/MindExecution.Shared/js/mind-map-core.js +122 -1
- package/wwwroot/_content/MindExecution.Shared/js/mind-map-interactions.js +14 -24
- package/wwwroot/index.html +3 -3
- package/wwwroot/service-worker-assets.js +4 -4
- package/wwwroot/service-worker.js +1 -1
package/package.json
CHANGED
|
@@ -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-ua-zoom-
|
|
8
|
+
const MINDMAP_CORE_BUILD_ID = '20260620-ua-wheel-zoom-direct-v703';
|
|
9
9
|
const CanvasPhase = Object.freeze({
|
|
10
10
|
Booting: 'booting',
|
|
11
11
|
BoardFileLoading: 'board-file-loading',
|
|
@@ -5212,6 +5212,127 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
5212
5212
|
return true;
|
|
5213
5213
|
}
|
|
5214
5214
|
|
|
5215
|
+
presentWheelZoomCameraFrame(clientX = null, clientY = null, options = {}) {
|
|
5216
|
+
if (CAMERA_MOTION_VISUAL_ONLY_FAST_PATH_ENABLED !== true ||
|
|
5217
|
+
this.isLoading === true ||
|
|
5218
|
+
this.isSelecting === true ||
|
|
5219
|
+
this.isDraggingNode === true ||
|
|
5220
|
+
this.isDraggingMultipleNodes === true ||
|
|
5221
|
+
this.isResizing === true ||
|
|
5222
|
+
this.isWindowResizing === true ||
|
|
5223
|
+
!this.camera) {
|
|
5224
|
+
return false;
|
|
5225
|
+
}
|
|
5226
|
+
|
|
5227
|
+
const renderDebugFlags = this.renderDebugFlags || getRenderDebugFlagsSnapshot();
|
|
5228
|
+
const canRenderCss3d = !!(
|
|
5229
|
+
renderDebugFlags.enableCss3d !== false &&
|
|
5230
|
+
this.cssRenderer &&
|
|
5231
|
+
typeof this.cssRenderer.renderCamera === 'function'
|
|
5232
|
+
);
|
|
5233
|
+
const canRenderWebgl = !!(
|
|
5234
|
+
renderDebugFlags.enableWebglRender !== false &&
|
|
5235
|
+
this.renderer &&
|
|
5236
|
+
this.scene
|
|
5237
|
+
);
|
|
5238
|
+
if (canRenderCss3d !== true && canRenderWebgl !== true) {
|
|
5239
|
+
return false;
|
|
5240
|
+
}
|
|
5241
|
+
|
|
5242
|
+
const currentX = Number(this.camera.position?.x || 0);
|
|
5243
|
+
const currentY = Number(this.camera.position?.y || 0);
|
|
5244
|
+
const currentZ = Number(this.camera.position?.z || 1);
|
|
5245
|
+
const targetX = Number.isFinite(Number(this.targetX)) ? Number(this.targetX) : currentX;
|
|
5246
|
+
const targetY = Number.isFinite(Number(this.targetY)) ? Number(this.targetY) : currentY;
|
|
5247
|
+
const targetZ = Number.isFinite(Number(this.targetZ)) ? Math.max(1, Number(this.targetZ)) : Math.max(1, currentZ);
|
|
5248
|
+
const deltaSq =
|
|
5249
|
+
((targetX - currentX) * (targetX - currentX)) +
|
|
5250
|
+
((targetY - currentY) * (targetY - currentY)) +
|
|
5251
|
+
((targetZ - currentZ) * (targetZ - currentZ));
|
|
5252
|
+
|
|
5253
|
+
this.camera.position.set(targetX, targetY, targetZ);
|
|
5254
|
+
this.camera.updateMatrixWorld(true);
|
|
5255
|
+
this._viewStatePersistAfterMotion = true;
|
|
5256
|
+
this._viewSyncMotionActive = true;
|
|
5257
|
+
this._cameraMovingThisFrame = deltaSq > 0.0001;
|
|
5258
|
+
this._lastVisibilityCullingSkipReason = 'ua-wheel-zoom-direct';
|
|
5259
|
+
this._fullResMotionFrozen = this.lodRenderer?.isInLODMode === true ? false : true;
|
|
5260
|
+
this._wasViewStateMotionFrozenLastFrame = this._fullResMotionFrozen === true;
|
|
5261
|
+
this._wasLodMotionFrozenLastFrame = this.lodRenderer?.isInLODMode === true;
|
|
5262
|
+
if (this.lodRenderer?.isInLODMode !== true) {
|
|
5263
|
+
this._fullResVisibilityReconcilePending = true;
|
|
5264
|
+
}
|
|
5265
|
+
this._preserveVisibleSetThisFrame = true;
|
|
5266
|
+
this._passiveOverlayResumeAt = Math.max(
|
|
5267
|
+
Number(this._passiveOverlayResumeAt || 0),
|
|
5268
|
+
(typeof performance !== 'undefined' && typeof performance.now === 'function' ? performance.now() : Date.now()) + PASSIVE_OVERLAY_IDLE_DELAY_MS
|
|
5269
|
+
);
|
|
5270
|
+
if (this._overlayDirty === true ||
|
|
5271
|
+
String(this._textOverlayV2State?.selectionNodeId || '').trim() ||
|
|
5272
|
+
String(this._selectableTextOverlayNodeId || '').trim()) {
|
|
5273
|
+
this._deferPassiveOverlayRefresh = true;
|
|
5274
|
+
}
|
|
5275
|
+
|
|
5276
|
+
if (Number.isFinite(Number(clientX)) && Number.isFinite(Number(clientY))) {
|
|
5277
|
+
this.setLocalSnapGridClientPoint?.(Number(clientX), Number(clientY));
|
|
5278
|
+
}
|
|
5279
|
+
|
|
5280
|
+
recordCameraMotionFastPathStatus(this, 'hit', 'ua-wheel-zoom-direct', {
|
|
5281
|
+
coalescedWheelEvents: Number(options?.coalescedWheelEvents || 0)
|
|
5282
|
+
});
|
|
5283
|
+
|
|
5284
|
+
updateCursorDomElement(this);
|
|
5285
|
+
|
|
5286
|
+
let usedWebglCanvasCameraTransform = false;
|
|
5287
|
+
if (canRenderWebgl === true) {
|
|
5288
|
+
const shouldFreezeWebglCanvasForZoom =
|
|
5289
|
+
shouldFreezeWebglSurfaceForZoom(this) === true;
|
|
5290
|
+
const canReuseWebglCanvas = !!(
|
|
5291
|
+
shouldFreezeWebglCanvasForZoom !== true &&
|
|
5292
|
+
canUseWebglCanvasTransformForCameraMotion(this) === true &&
|
|
5293
|
+
this._lastWebglRenderedCameraState &&
|
|
5294
|
+
this.renderer?.domElement
|
|
5295
|
+
);
|
|
5296
|
+
if (canReuseWebglCanvas === true) {
|
|
5297
|
+
deferContinuousThemeForCameraMotion(this);
|
|
5298
|
+
usedWebglCanvasCameraTransform = this._applyWebglCanvasCameraTransform?.() === true;
|
|
5299
|
+
this._webglCameraMotionDeferred = true;
|
|
5300
|
+
this._lastWebglRenderInfo = {
|
|
5301
|
+
calls: 0,
|
|
5302
|
+
triangles: 0,
|
|
5303
|
+
points: 0,
|
|
5304
|
+
lines: 0,
|
|
5305
|
+
skipped: true,
|
|
5306
|
+
webglCanvasCameraTransform: usedWebglCanvasCameraTransform === true,
|
|
5307
|
+
uaWheelZoomDirect: true
|
|
5308
|
+
};
|
|
5309
|
+
} else if (shouldFreezeWebglCanvasForZoom === true) {
|
|
5310
|
+
markWebglSurfaceFrozenForZoom(this, 'uaWheelZoomDirect');
|
|
5311
|
+
} else {
|
|
5312
|
+
this._clearWebglCanvasCameraTransform?.();
|
|
5313
|
+
this.renderer.render(this.scene, this.camera);
|
|
5314
|
+
this._recordWebglRenderedCameraState?.();
|
|
5315
|
+
const renderInfo = this.renderer?.info?.render || null;
|
|
5316
|
+
this._lastWebglRenderInfo = renderInfo ? {
|
|
5317
|
+
calls: Number(renderInfo.calls || 0),
|
|
5318
|
+
triangles: Number(renderInfo.triangles || 0),
|
|
5319
|
+
points: Number(renderInfo.points || 0),
|
|
5320
|
+
lines: Number(renderInfo.lines || 0),
|
|
5321
|
+
uaWheelZoomDirect: true,
|
|
5322
|
+
webglCanvasCameraBootstrap: true
|
|
5323
|
+
} : null;
|
|
5324
|
+
}
|
|
5325
|
+
}
|
|
5326
|
+
|
|
5327
|
+
this._syncMotionGridLayerForCameraNavigation?.(usedWebglCanvasCameraTransform);
|
|
5328
|
+
this._syncLocalSnapGridPositionOnly?.(true);
|
|
5329
|
+
if (canRenderCss3d === true) {
|
|
5330
|
+
renderCss3dCameraForCameraNavigation(this, 'ua-wheel-zoom-direct');
|
|
5331
|
+
}
|
|
5332
|
+
syncBusinessAutomationEdgesForCameraNavigation(this);
|
|
5333
|
+
return true;
|
|
5334
|
+
}
|
|
5335
|
+
|
|
5215
5336
|
refreshAgentConsoleVisibilityTracking(force = false) {
|
|
5216
5337
|
if (!force && this._agentConsoleVisibilityTrackingDirty !== true) {
|
|
5217
5338
|
return;
|
|
@@ -6025,7 +6025,8 @@ window.MindMapInteractions = (function () {
|
|
|
6025
6025
|
|
|
6026
6026
|
// ▼▼▼ [New] 휠 이벤트 버퍼링 시스템 - 렉/저장 순간에도 휠 이벤트 손실 방지 ▼▼▼
|
|
6027
6027
|
// 휠 버퍼 상태 (모듈별로 관리)
|
|
6028
|
-
const wheelBuffers = new WeakMap();
|
|
6028
|
+
const wheelBuffers = new WeakMap();
|
|
6029
|
+
const wheelAnalysisCache = new WeakMap();
|
|
6029
6030
|
|
|
6030
6031
|
function getWheelBuffer(module) {
|
|
6031
6032
|
if (!wheelBuffers.has(module)) {
|
|
@@ -6145,7 +6146,7 @@ window.MindMapInteractions = (function () {
|
|
|
6145
6146
|
};
|
|
6146
6147
|
}
|
|
6147
6148
|
|
|
6148
|
-
const cached = e
|
|
6149
|
+
const cached = wheelAnalysisCache.get(e);
|
|
6149
6150
|
if (cached && cached.module === module) {
|
|
6150
6151
|
return cached;
|
|
6151
6152
|
}
|
|
@@ -6191,14 +6192,7 @@ window.MindMapInteractions = (function () {
|
|
|
6191
6192
|
shouldHandleTrackpadPanSeparately
|
|
6192
6193
|
};
|
|
6193
6194
|
|
|
6194
|
-
|
|
6195
|
-
Object.defineProperty(e, '__mindMapWheelAnalysis', {
|
|
6196
|
-
configurable: true,
|
|
6197
|
-
value: analysis
|
|
6198
|
-
});
|
|
6199
|
-
} catch {
|
|
6200
|
-
e.__mindMapWheelAnalysis = analysis;
|
|
6201
|
-
}
|
|
6195
|
+
wheelAnalysisCache.set(e, analysis);
|
|
6202
6196
|
|
|
6203
6197
|
return analysis;
|
|
6204
6198
|
}
|
|
@@ -6460,12 +6454,17 @@ window.MindMapInteractions = (function () {
|
|
|
6460
6454
|
module.targetZ = newZ;
|
|
6461
6455
|
// Calculate target position based on mouse position and zoom ratio
|
|
6462
6456
|
const newX = worldMouseX - (worldMouseX - module.targetX) * zoomRatio;
|
|
6463
|
-
const newY = worldMouseY - (worldMouseY - module.targetY) * zoomRatio;
|
|
6464
|
-
module.targetX = newX;
|
|
6457
|
+
const newY = worldMouseY - (worldMouseY - module.targetY) * zoomRatio;
|
|
6458
|
+
module.targetX = newX;
|
|
6465
6459
|
module.targetY = newY;
|
|
6466
|
-
|
|
6467
|
-
|
|
6468
|
-
|
|
6460
|
+
const presentedDirectly = module.presentWheelZoomCameraFrame?.(clientX, clientY, {
|
|
6461
|
+
reason: 'wheel-zoom-direct',
|
|
6462
|
+
coalescedWheelEvents: Number(options.coalescedWheelEvents || 0)
|
|
6463
|
+
}) === true;
|
|
6464
|
+
const settleFrames = presentedDirectly === true ? 1 : 2;
|
|
6465
|
+
module._forceUpdateFrames = Math.max(Number(module._forceUpdateFrames || 0), settleFrames);
|
|
6466
|
+
module._cameraNavigationForceFrames = Math.max(Number(module._cameraNavigationForceFrames || 0), settleFrames);
|
|
6467
|
+
wakeCameraNavigationAnimation(module, presentedDirectly === true ? 'wheel-zoom-direct-settle' : 'wheel-zoom-input');
|
|
6469
6468
|
// ▲▲▲ [Changed] ▲▲▲
|
|
6470
6469
|
|
|
6471
6470
|
// ▼▼▼ [Perf] 줌 종료 감지 및 CSS3D 업데이트 타이머 ▼▼▼
|
|
@@ -6775,11 +6774,6 @@ window.MindMapInteractions = (function () {
|
|
|
6775
6774
|
if (shouldRouteWheelToZoom) {
|
|
6776
6775
|
module._lastCanvasWheelAt = wheelNow;
|
|
6777
6776
|
window.__mindMapLastCanvasWheelAt = wheelNow;
|
|
6778
|
-
if ((wheelNow - Number(module._lastWheelSurfaceInteractionNotifyAt || 0)) >= 650) {
|
|
6779
|
-
module._lastWheelSurfaceInteractionNotifyAt = wheelNow;
|
|
6780
|
-
notifyMindCanvasSurfaceInteraction('wheel');
|
|
6781
|
-
}
|
|
6782
|
-
|
|
6783
6777
|
if (WHEEL_DEBUG) {
|
|
6784
6778
|
if (!module._wheelDebug) {
|
|
6785
6779
|
module._wheelDebug = { count: 0, lastLog: 0 };
|
|
@@ -6810,10 +6804,6 @@ window.MindMapInteractions = (function () {
|
|
|
6810
6804
|
|
|
6811
6805
|
module._lastCanvasWheelAt = wheelNow;
|
|
6812
6806
|
window.__mindMapLastCanvasWheelAt = wheelNow;
|
|
6813
|
-
if ((wheelNow - Number(module._lastWheelSurfaceInteractionNotifyAt || 0)) >= 650) {
|
|
6814
|
-
module._lastWheelSurfaceInteractionNotifyAt = wheelNow;
|
|
6815
|
-
notifyMindCanvasSurfaceInteraction('wheel');
|
|
6816
|
-
}
|
|
6817
6807
|
|
|
6818
6808
|
if (WHEEL_DEBUG) {
|
|
6819
6809
|
if (!module._wheelDebug) {
|
package/wwwroot/index.html
CHANGED
|
@@ -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-ua-zoom-
|
|
11
|
-
<link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260620-ua-zoom-
|
|
10
|
+
<link rel="stylesheet" href="_content/MindExecution.Shared/css/app.css?v=20260620-ua-wheel-zoom-direct-v703" />
|
|
11
|
+
<link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260620-ua-wheel-zoom-direct-v703" />
|
|
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-ua-zoom-
|
|
582
|
+
const scriptVersion = '20260620-ua-wheel-zoom-direct-v703';
|
|
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": "
|
|
2
|
+
"version": "1LdoK7xQ",
|
|
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-
|
|
81
|
+
"hash": "sha256-wk7TV857RImYllssWmYrGh0OAxXDQT1oq2VBYCPcS9c=",
|
|
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
|
|
109
|
+
"hash": "sha256-+rd+m+8v5jsj9aJFxXoTsdnY9A4TLbvfgGwvkQ5/Rhk=",
|
|
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-
|
|
837
|
+
"hash": "sha256-WhrCEBoF7P15FvP1BrCFRsc6Hz4xCr5uVOLHvEjTlc8=",
|
|
838
838
|
"url": "index.html"
|
|
839
839
|
},
|
|
840
840
|
{
|