@mindexec/cli 0.2.280 → 0.2.282
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 +46 -16
- package/wwwroot/_content/MindExecution.Shared/js/mind-map-interactions.js +33 -7
- 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-css3d-flat-wheel-
|
|
8
|
+
const MINDMAP_CORE_BUILD_ID = '20260620-css3d-flat-wheel-v730';
|
|
9
9
|
const CanvasPhase = Object.freeze({
|
|
10
10
|
Booting: 'booting',
|
|
11
11
|
BoardFileLoading: 'board-file-loading',
|
|
@@ -511,6 +511,29 @@
|
|
|
511
511
|
return module?.currentThemeObject?.userData?.localSnapGrid === true;
|
|
512
512
|
}
|
|
513
513
|
|
|
514
|
+
function shouldTouchLocalSnapGridLayerForCameraNavigation(module) {
|
|
515
|
+
return !!(
|
|
516
|
+
module &&
|
|
517
|
+
(
|
|
518
|
+
module._isLocalSnapGridThemeEnabled?.() === true ||
|
|
519
|
+
module._localSnapGridVisible === true ||
|
|
520
|
+
module._localSnapGridLayer?.isConnected === true
|
|
521
|
+
)
|
|
522
|
+
);
|
|
523
|
+
}
|
|
524
|
+
|
|
525
|
+
function syncLocalSnapGridForCameraNavigation(module, positionOnly = true) {
|
|
526
|
+
if (shouldTouchLocalSnapGridLayerForCameraNavigation(module) !== true) {
|
|
527
|
+
return false;
|
|
528
|
+
}
|
|
529
|
+
|
|
530
|
+
if (positionOnly === true) {
|
|
531
|
+
return module._syncLocalSnapGridPositionOnly?.(true) === true;
|
|
532
|
+
}
|
|
533
|
+
|
|
534
|
+
return module._syncLocalSnapGridLayer?.(true) === true;
|
|
535
|
+
}
|
|
536
|
+
|
|
514
537
|
function hasPassiveOverlaySelectionSurface(module) {
|
|
515
538
|
const selectionNodeId = module?._textOverlayV2State?.selectionNodeId;
|
|
516
539
|
const selectableTextOverlayNodeId = module?._selectableTextOverlayNodeId;
|
|
@@ -1401,6 +1424,14 @@
|
|
|
1401
1424
|
}
|
|
1402
1425
|
|
|
1403
1426
|
const previous = module._cameraMotionFastPathStatus || null;
|
|
1427
|
+
if (!details &&
|
|
1428
|
+
previous &&
|
|
1429
|
+
previous.status === status &&
|
|
1430
|
+
previous.reason === reason) {
|
|
1431
|
+
previous.count = Number(previous.count || 0) + 1;
|
|
1432
|
+
return;
|
|
1433
|
+
}
|
|
1434
|
+
|
|
1404
1435
|
const normalizedStatus = String(status || '').trim() || 'unknown';
|
|
1405
1436
|
const normalizedReason = String(reason || '').trim() || normalizedStatus;
|
|
1406
1437
|
if (previous &&
|
|
@@ -1824,7 +1855,7 @@
|
|
|
1824
1855
|
if (module._shouldTouchMotionGridLayerForCameraNavigation?.() === true) {
|
|
1825
1856
|
module._syncMotionGridLayerForCameraNavigation?.(usedWebglCanvasCameraTransform);
|
|
1826
1857
|
}
|
|
1827
|
-
module
|
|
1858
|
+
syncLocalSnapGridForCameraNavigation(module, true);
|
|
1828
1859
|
renderCss3dCameraForCameraNavigation(module, 'ua-ultra-camera-only');
|
|
1829
1860
|
|
|
1830
1861
|
if (hasBusinessAutomationTransformMotionWork(module) === true) {
|
|
@@ -2050,7 +2081,7 @@
|
|
|
2050
2081
|
if (module._shouldTouchMotionGridLayerForCameraNavigation?.() === true) {
|
|
2051
2082
|
module._syncMotionGridLayerForCameraNavigation?.(usedWebglCanvasCameraTransform);
|
|
2052
2083
|
}
|
|
2053
|
-
module
|
|
2084
|
+
syncLocalSnapGridForCameraNavigation(module, true);
|
|
2054
2085
|
if (canRenderCss3dCamera === true) {
|
|
2055
2086
|
renderCss3dCameraForCameraNavigation(module, 'ua-ultra-resident-camera-only');
|
|
2056
2087
|
}
|
|
@@ -4733,14 +4764,16 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
4733
4764
|
}
|
|
4734
4765
|
}
|
|
4735
4766
|
|
|
4736
|
-
requestWheelZoomDirectSettle(delayMs = CAMERA_ZOOM_END_DELAY_MS + 18) {
|
|
4767
|
+
requestWheelZoomDirectSettle(delayMs = CAMERA_ZOOM_END_DELAY_MS + 18, nowMs = 0) {
|
|
4737
4768
|
const safeDelayMs = Math.max(
|
|
4738
4769
|
16,
|
|
4739
4770
|
Math.floor(Number(delayMs) || (CAMERA_ZOOM_END_DELAY_MS + 18))
|
|
4740
4771
|
);
|
|
4741
|
-
const now =
|
|
4742
|
-
?
|
|
4743
|
-
:
|
|
4772
|
+
const now = Number(nowMs || 0) > 0
|
|
4773
|
+
? Number(nowMs)
|
|
4774
|
+
: (typeof performance !== 'undefined' && typeof performance.now === 'function'
|
|
4775
|
+
? performance.now()
|
|
4776
|
+
: Date.now());
|
|
4744
4777
|
this._wheelZoomDirectSettleDueAt = now + safeDelayMs;
|
|
4745
4778
|
|
|
4746
4779
|
if (this._wheelZoomDirectSettleTimer) {
|
|
@@ -5646,6 +5679,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
5646
5679
|
}
|
|
5647
5680
|
|
|
5648
5681
|
if (snapGridPointAlreadySet !== true &&
|
|
5682
|
+
shouldTouchLocalSnapGridLayerForCameraNavigation(this) === true &&
|
|
5649
5683
|
Number.isFinite(Number(clientX)) &&
|
|
5650
5684
|
Number.isFinite(Number(clientY))) {
|
|
5651
5685
|
this.setLocalSnapGridClientPoint?.(Number(clientX), Number(clientY));
|
|
@@ -5688,7 +5722,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
5688
5722
|
if (this._shouldTouchMotionGridLayerForCameraNavigation?.() === true) {
|
|
5689
5723
|
this._syncMotionGridLayerForCameraNavigation?.(usedWebglCanvasCameraTransform);
|
|
5690
5724
|
}
|
|
5691
|
-
this
|
|
5725
|
+
syncLocalSnapGridForCameraNavigation(this, true);
|
|
5692
5726
|
if (canRenderCss3d === true) {
|
|
5693
5727
|
renderCss3dCameraForCameraNavigation(this, 'ua-wheel-zoom-direct', {
|
|
5694
5728
|
renderDebugFlags,
|
|
@@ -7190,7 +7224,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
7190
7224
|
if (this._shouldTouchMotionGridLayerForCameraNavigation?.() === true) {
|
|
7191
7225
|
this._syncMotionGridLayerForCameraNavigation(usedWebglCanvasCameraTransformImmediate);
|
|
7192
7226
|
}
|
|
7193
|
-
this
|
|
7227
|
+
syncLocalSnapGridForCameraNavigation(this, true);
|
|
7194
7228
|
|
|
7195
7229
|
renderCss3dCameraForCameraNavigation(this, 'ua-visual-only-motion');
|
|
7196
7230
|
const shouldSyncPassiveOverlayTransformDuringMotion =
|
|
@@ -7373,7 +7407,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
7373
7407
|
if (this._shouldTouchMotionGridLayerForCameraNavigation?.() === true) {
|
|
7374
7408
|
this._syncMotionGridLayerForCameraNavigation(usedWebglCanvasCameraTransformStationary);
|
|
7375
7409
|
}
|
|
7376
|
-
this
|
|
7410
|
+
syncLocalSnapGridForCameraNavigation(this, true);
|
|
7377
7411
|
if (this.cssRenderer && typeof this.cssRenderer.renderCamera === 'function') {
|
|
7378
7412
|
renderCss3dCameraForCameraNavigation(this, 'ua-stationary-visual-motion');
|
|
7379
7413
|
}
|
|
@@ -7569,7 +7603,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
7569
7603
|
}
|
|
7570
7604
|
}
|
|
7571
7605
|
|
|
7572
|
-
this
|
|
7606
|
+
syncLocalSnapGridForCameraNavigation(this, true);
|
|
7573
7607
|
if (shouldRenderCss3dInLodForUaResidentCameraOnly === true) {
|
|
7574
7608
|
renderCss3dCameraForCameraNavigation(this, 'ua-resident-visual-only-motion');
|
|
7575
7609
|
}
|
|
@@ -8726,11 +8760,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
8726
8760
|
this._localSnapGridLayer?.isConnected &&
|
|
8727
8761
|
this._lastLocalSnapGridKey
|
|
8728
8762
|
);
|
|
8729
|
-
|
|
8730
|
-
this._syncLocalSnapGridPositionOnly(true);
|
|
8731
|
-
} else {
|
|
8732
|
-
this._syncLocalSnapGridLayer(true);
|
|
8733
|
-
}
|
|
8763
|
+
syncLocalSnapGridForCameraNavigation(this, shouldUseLocalSnapGridPositionOnly === true);
|
|
8734
8764
|
if (shouldRenderWebglFrame === true &&
|
|
8735
8765
|
this._motionGridVisible === true &&
|
|
8736
8766
|
isPureCss3dCameraMotionFrame !== true &&
|
|
@@ -1462,7 +1462,13 @@ window.MindMapInteractions = (function () {
|
|
|
1462
1462
|
function setPointerFromClientPosition(module, clientX, clientY) {
|
|
1463
1463
|
if (!module?.pointer) return false;
|
|
1464
1464
|
|
|
1465
|
-
const
|
|
1465
|
+
const shouldUpdateLocalSnapGridPointer = !!(
|
|
1466
|
+
module._isLocalSnapGridThemeEnabled?.() === true ||
|
|
1467
|
+
module._localSnapGridVisible === true ||
|
|
1468
|
+
module._localSnapGridLayer?.isConnected === true
|
|
1469
|
+
);
|
|
1470
|
+
const localSnapGridMoved = shouldUpdateLocalSnapGridPointer === true &&
|
|
1471
|
+
module.setLocalSnapGridClientPoint?.(clientX, clientY) === true;
|
|
1466
1472
|
if (localSnapGridMoved && module._isLocalSnapGridThemeEnabled?.() === true) {
|
|
1467
1473
|
if (module.isZooming === true) {
|
|
1468
1474
|
module._localSnapGridPointerWakeDeferredForZoom = true;
|
|
@@ -6051,12 +6057,24 @@ window.MindMapInteractions = (function () {
|
|
|
6051
6057
|
: Date.now();
|
|
6052
6058
|
}
|
|
6053
6059
|
|
|
6054
|
-
function markCanvasWheelActivity(module, now = 0) {
|
|
6060
|
+
function markCanvasWheelActivity(module, now = 0, options = {}) {
|
|
6055
6061
|
if (!module) {
|
|
6056
6062
|
return 0;
|
|
6057
6063
|
}
|
|
6058
6064
|
|
|
6059
6065
|
const wheelNow = Number(now || 0) > 0 ? Number(now) : getWheelTimestamp();
|
|
6066
|
+
const throttleMs = Math.max(0, Number(options?.throttleMs || 0));
|
|
6067
|
+
const previousWheelAt = Math.max(
|
|
6068
|
+
0,
|
|
6069
|
+
Number(module._lastCanvasWheelAt || 0),
|
|
6070
|
+
Number(window.__mindMapLastCanvasWheelAt || 0)
|
|
6071
|
+
);
|
|
6072
|
+
if (throttleMs > 0 &&
|
|
6073
|
+
previousWheelAt > 0 &&
|
|
6074
|
+
wheelNow - previousWheelAt < throttleMs) {
|
|
6075
|
+
return previousWheelAt;
|
|
6076
|
+
}
|
|
6077
|
+
|
|
6060
6078
|
module._lastCanvasWheelAt = wheelNow;
|
|
6061
6079
|
window.__mindMapLastCanvasWheelAt = wheelNow;
|
|
6062
6080
|
return wheelNow;
|
|
@@ -6101,6 +6119,7 @@ window.MindMapInteractions = (function () {
|
|
|
6101
6119
|
const TRACKPAD_PIXEL_DELTA_MAX = 32;
|
|
6102
6120
|
const GESTURE_SCALE_EPSILON = 0.001;
|
|
6103
6121
|
const GESTURE_SCALE_TO_WHEEL_DELTA = 240;
|
|
6122
|
+
const WHEEL_ACTIVITY_BURST_INTERVAL_MS = 120;
|
|
6104
6123
|
|
|
6105
6124
|
function normalizeWheelDelta(e, axis) {
|
|
6106
6125
|
let delta = Number(e?.[axis] || 0);
|
|
@@ -6342,8 +6361,9 @@ window.MindMapInteractions = (function () {
|
|
|
6342
6361
|
return;
|
|
6343
6362
|
}
|
|
6344
6363
|
|
|
6345
|
-
|
|
6346
|
-
|
|
6364
|
+
const wheelNow = getWheelTimestamp();
|
|
6365
|
+
markCanvasWheelActivity(module, wheelNow, { throttleMs: WHEEL_ACTIVITY_BURST_INTERVAL_MS });
|
|
6366
|
+
performCameraZoomBuffered(module, accumulatedDeltaY, clientX, clientY, { inputTime: wheelNow });
|
|
6347
6367
|
});
|
|
6348
6368
|
}
|
|
6349
6369
|
|
|
@@ -6358,7 +6378,11 @@ window.MindMapInteractions = (function () {
|
|
|
6358
6378
|
return;
|
|
6359
6379
|
}
|
|
6360
6380
|
// ▲▲▲ [Fix] ▲▲▲
|
|
6361
|
-
module.
|
|
6381
|
+
if (module._isLocalSnapGridThemeEnabled?.() === true ||
|
|
6382
|
+
module._localSnapGridVisible === true ||
|
|
6383
|
+
module._localSnapGridLayer?.isConnected === true) {
|
|
6384
|
+
module.setLocalSnapGridClientPoint?.(clientX, clientY);
|
|
6385
|
+
}
|
|
6362
6386
|
|
|
6363
6387
|
let t0 = 0;
|
|
6364
6388
|
let cameraZ = '?';
|
|
@@ -6378,7 +6402,9 @@ window.MindMapInteractions = (function () {
|
|
|
6378
6402
|
}
|
|
6379
6403
|
}
|
|
6380
6404
|
// ▼▼▼ [Fix] 휠 입력 시간 기록 (줌 종료 타이밍 계산용) ▼▼▼
|
|
6381
|
-
module._zoomInputTime =
|
|
6405
|
+
module._zoomInputTime = Number(options?.inputTime || 0) > 0
|
|
6406
|
+
? Number(options.inputTime)
|
|
6407
|
+
: performance.now();
|
|
6382
6408
|
// ▲▲▲ [Fix] ▲▲▲
|
|
6383
6409
|
// Reset zoom fallback flag on new input
|
|
6384
6410
|
// ▲▲▲ [Perf] ▲▲▲
|
|
@@ -6428,7 +6454,7 @@ window.MindMapInteractions = (function () {
|
|
|
6428
6454
|
const presentedDirectly = module.presentWheelZoomCameraFrame?.(clientX, clientY, true) === true;
|
|
6429
6455
|
const settleScheduled =
|
|
6430
6456
|
presentedDirectly === true &&
|
|
6431
|
-
module.requestWheelZoomDirectSettle?.() === true;
|
|
6457
|
+
module.requestWheelZoomDirectSettle?.(undefined, module._zoomInputTime) === true;
|
|
6432
6458
|
if (settleScheduled !== true) {
|
|
6433
6459
|
const settleFrames = 2;
|
|
6434
6460
|
module._forceUpdateFrames = Math.max(Number(module._forceUpdateFrames || 0), settleFrames);
|
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-css3d-flat-wheel-
|
|
11
|
-
<link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260620-css3d-flat-wheel-
|
|
10
|
+
<link rel="stylesheet" href="_content/MindExecution.Shared/css/app.css?v=20260620-css3d-flat-wheel-v730" />
|
|
11
|
+
<link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260620-css3d-flat-wheel-v730" />
|
|
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-
|
|
582
|
+
const scriptVersion = '20260620-css3d-flat-wheel-v730';
|
|
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": "Cmt5F94a",
|
|
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-9SMzn1w2hrty2US+O8GMpjoP32Us/hO4fYX+zPQpT50=",
|
|
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-AmkV3no3WRkpMZ4GO+XHpIMuWgixgiTmZjuR1FpgTA8=",
|
|
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-vcH2v/8rZXgQ9wpUc+GQ5g6h+htQOhQvMksFPVWBAHY=",
|
|
838
838
|
"url": "index.html"
|
|
839
839
|
},
|
|
840
840
|
{
|