@mindexec/cli 0.2.239 → 0.2.241
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 +21 -13
- package/wwwroot/_content/MindExecution.Shared/js/mind-map-interactions.js +39 -16
- 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-
|
|
8
|
+
const MINDMAP_CORE_BUILD_ID = '20260620-early-zoom-settle-v688';
|
|
9
9
|
const CanvasPhase = Object.freeze({
|
|
10
10
|
Booting: 'booting',
|
|
11
11
|
BoardFileLoading: 'board-file-loading',
|
|
@@ -1359,6 +1359,13 @@
|
|
|
1359
1359
|
return false;
|
|
1360
1360
|
}
|
|
1361
1361
|
|
|
1362
|
+
module._viewSyncMotionActive = true;
|
|
1363
|
+
module._cameraMovingThisFrame = false;
|
|
1364
|
+
module._passiveOverlayResumeAt = Math.max(
|
|
1365
|
+
Number(module._passiveOverlayResumeAt || 0),
|
|
1366
|
+
frameStart + PASSIVE_OVERLAY_IDLE_DELAY_MS
|
|
1367
|
+
);
|
|
1368
|
+
|
|
1362
1369
|
const forceUpdateFrames = Math.max(0, Number(module._forceUpdateFrames || 0));
|
|
1363
1370
|
const cameraNavigationForceFrames = Math.max(0, Number(module._cameraNavigationForceFrames || 0));
|
|
1364
1371
|
const hasForcedUpdate = forceUpdateFrames > 0;
|
|
@@ -3899,7 +3906,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
3899
3906
|
layer.style.willChange = 'transform, opacity';
|
|
3900
3907
|
layer.style.transform = 'translate3d(0, 0, 0)';
|
|
3901
3908
|
layer.style.transition = 'opacity 90ms linear';
|
|
3902
|
-
const mask = 'radial-gradient(circle at center, rgba(0,0,0,0.
|
|
3909
|
+
const mask = 'radial-gradient(circle at center, rgba(0,0,0,0.96) 0%, rgba(0,0,0,0.82) 34%, rgba(0,0,0,0.38) 62%, rgba(0,0,0,0.10) 80%, transparent 100%)';
|
|
3903
3910
|
layer.style.maskImage = mask;
|
|
3904
3911
|
layer.style.webkitMaskImage = mask;
|
|
3905
3912
|
|
|
@@ -6073,6 +6080,18 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
6073
6080
|
// ▲▲▲ [Fix] ▲▲▲
|
|
6074
6081
|
_profileSection('state');
|
|
6075
6082
|
|
|
6083
|
+
if (tryRunZoomSettleIdleFrame(
|
|
6084
|
+
this,
|
|
6085
|
+
loop,
|
|
6086
|
+
frameStart,
|
|
6087
|
+
isCameraMoving,
|
|
6088
|
+
shouldCaptureFramePerf,
|
|
6089
|
+
_frameProfTimes,
|
|
6090
|
+
_profileSection
|
|
6091
|
+
) === true) {
|
|
6092
|
+
return;
|
|
6093
|
+
}
|
|
6094
|
+
|
|
6076
6095
|
if (isCameraMoving !== this.prevIsCameraMoving) {
|
|
6077
6096
|
const shouldSyncCss3dWillChangeForCameraMotion =
|
|
6078
6097
|
this.renderDebugFlags?.enableCss3dWillChange === true;
|
|
@@ -6182,17 +6201,6 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
6182
6201
|
// 3. Unified Visibility & LOD Pass (One Loop to Rule Them All)
|
|
6183
6202
|
// ----------------------------------------------------------------
|
|
6184
6203
|
this.frameCount = (this.frameCount || 0) + 1;
|
|
6185
|
-
if (tryRunZoomSettleIdleFrame(
|
|
6186
|
-
this,
|
|
6187
|
-
loop,
|
|
6188
|
-
frameStart,
|
|
6189
|
-
isCameraMoving,
|
|
6190
|
-
shouldCaptureFramePerf,
|
|
6191
|
-
_frameProfTimes,
|
|
6192
|
-
_profileSection
|
|
6193
|
-
) === true) {
|
|
6194
|
-
return;
|
|
6195
|
-
}
|
|
6196
6204
|
if (tryRunUltraEarlyCameraOnlyFrame(
|
|
6197
6205
|
this,
|
|
6198
6206
|
loop,
|
|
@@ -6666,15 +6666,49 @@ window.MindMapInteractions = (function () {
|
|
|
6666
6666
|
}
|
|
6667
6667
|
|
|
6668
6668
|
function onWheel(module, e) {
|
|
6669
|
+
const wheelNow = typeof performance !== 'undefined' && typeof performance.now === 'function'
|
|
6670
|
+
? performance.now()
|
|
6671
|
+
: Date.now();
|
|
6672
|
+
const shouldRouteWheelToZoom =
|
|
6673
|
+
isSyntheticTrackpadPinchGesture(module, e) ||
|
|
6674
|
+
shouldZoomFromWheelEvent(module, e);
|
|
6675
|
+
|
|
6676
|
+
if (shouldRouteWheelToZoom) {
|
|
6677
|
+
module._lastCanvasWheelAt = wheelNow;
|
|
6678
|
+
window.__mindMapLastCanvasWheelAt = wheelNow;
|
|
6679
|
+
if ((wheelNow - Number(module._lastWheelSurfaceInteractionNotifyAt || 0)) >= 650) {
|
|
6680
|
+
module._lastWheelSurfaceInteractionNotifyAt = wheelNow;
|
|
6681
|
+
notifyMindCanvasSurfaceInteraction('wheel');
|
|
6682
|
+
}
|
|
6683
|
+
|
|
6684
|
+
if (WHEEL_DEBUG) {
|
|
6685
|
+
if (!module._wheelDebug) {
|
|
6686
|
+
module._wheelDebug = { count: 0, lastLog: 0 };
|
|
6687
|
+
}
|
|
6688
|
+
module._wheelDebug.count++;
|
|
6689
|
+
if (wheelNow - module._wheelDebug.lastLog > 1000) {
|
|
6690
|
+
console.log(`[Wheel Debug] Events in last second: ${module._wheelDebug.count}, deltaY: ${e.deltaY.toFixed(1)}`);
|
|
6691
|
+
module._wheelDebug.count = 0;
|
|
6692
|
+
module._wheelDebug.lastLog = wheelNow;
|
|
6693
|
+
}
|
|
6694
|
+
}
|
|
6695
|
+
|
|
6696
|
+
// Zoom-mode wheel/pinch owns the canvas immediately. Do not probe
|
|
6697
|
+
// mounted embeds here; that can query DOM subtrees on every wheel tick.
|
|
6698
|
+
if (shouldBlockWheelAndGestureInteractions(module, e)) {
|
|
6699
|
+
return;
|
|
6700
|
+
}
|
|
6701
|
+
|
|
6702
|
+
routeWheelEventToZoom(module, e);
|
|
6703
|
+
return;
|
|
6704
|
+
}
|
|
6705
|
+
|
|
6669
6706
|
if (e?.__mindMapBypassMountedEmbedOwner !== true &&
|
|
6670
6707
|
shouldLetMountedEmbedOwnEvent(module, e.target, e)) {
|
|
6671
6708
|
e.stopPropagation();
|
|
6672
6709
|
return;
|
|
6673
6710
|
}
|
|
6674
6711
|
|
|
6675
|
-
const wheelNow = typeof performance !== 'undefined' && typeof performance.now === 'function'
|
|
6676
|
-
? performance.now()
|
|
6677
|
-
: Date.now();
|
|
6678
6712
|
module._lastCanvasWheelAt = wheelNow;
|
|
6679
6713
|
window.__mindMapLastCanvasWheelAt = wheelNow;
|
|
6680
6714
|
if ((wheelNow - Number(module._lastWheelSurfaceInteractionNotifyAt || 0)) >= 650) {
|
|
@@ -6687,11 +6721,10 @@ window.MindMapInteractions = (function () {
|
|
|
6687
6721
|
module._wheelDebug = { count: 0, lastLog: 0 };
|
|
6688
6722
|
}
|
|
6689
6723
|
module._wheelDebug.count++;
|
|
6690
|
-
|
|
6691
|
-
if (now - module._wheelDebug.lastLog > 1000) {
|
|
6724
|
+
if (wheelNow - module._wheelDebug.lastLog > 1000) {
|
|
6692
6725
|
console.log(`[Wheel Debug] Events in last second: ${module._wheelDebug.count}, deltaY: ${e.deltaY.toFixed(1)}`);
|
|
6693
6726
|
module._wheelDebug.count = 0;
|
|
6694
|
-
module._wheelDebug.lastLog =
|
|
6727
|
+
module._wheelDebug.lastLog = wheelNow;
|
|
6695
6728
|
}
|
|
6696
6729
|
}
|
|
6697
6730
|
|
|
@@ -6701,11 +6734,6 @@ window.MindMapInteractions = (function () {
|
|
|
6701
6734
|
return;
|
|
6702
6735
|
}
|
|
6703
6736
|
|
|
6704
|
-
if (isSyntheticTrackpadPinchGesture(module, e)) {
|
|
6705
|
-
routeWheelEventToZoom(module, e);
|
|
6706
|
-
return;
|
|
6707
|
-
}
|
|
6708
|
-
|
|
6709
6737
|
// On Windows/Linux, only clear two-axis trackpad gestures bypass the
|
|
6710
6738
|
// wheel-mode toggle. Vertical-only wheel input should still respect the
|
|
6711
6739
|
// selected mode so high-resolution mouse wheels do not get stuck in the
|
|
@@ -6720,11 +6748,6 @@ window.MindMapInteractions = (function () {
|
|
|
6720
6748
|
return;
|
|
6721
6749
|
}
|
|
6722
6750
|
|
|
6723
|
-
if (shouldZoomFromWheelEvent(module, e)) {
|
|
6724
|
-
routeWheelEventToZoom(module, e);
|
|
6725
|
-
return;
|
|
6726
|
-
}
|
|
6727
|
-
|
|
6728
6751
|
if (tryHandleScrollableWheelEvent(module, e)) {
|
|
6729
6752
|
return;
|
|
6730
6753
|
}
|
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-
|
|
11
|
-
<link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260620-
|
|
10
|
+
<link rel="stylesheet" href="_content/MindExecution.Shared/css/app.css?v=20260620-early-zoom-settle-v688" />
|
|
11
|
+
<link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260620-early-zoom-settle-v688" />
|
|
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-
|
|
582
|
+
const scriptVersion = '20260620-early-zoom-settle-v688';
|
|
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": "Azpij/Ze",
|
|
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-UuGoFLXc/GlZ4MRTa3KygAqSXdKp0rkEhfqTbPiEU+0=",
|
|
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-CNFAbroIc1sRloZZTfPr2wr6PWnPsklh0E6wdI6VFM8=",
|
|
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-AaY4BAWdgzWIRXmu8ejn54Xy3cJR6KUId17pr2C5m38=",
|
|
838
838
|
"url": "index.html"
|
|
839
839
|
},
|
|
840
840
|
{
|