@mindexec/cli 0.2.297 → 0.2.298
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/css/mind-map-overrides.css +16 -0
- package/wwwroot/_content/MindExecution.Shared/js/mind-map-core.js +1 -1
- package/wwwroot/_content/MindExecution.Shared/js/mind-map-lod-renderer.js +35 -9
- package/wwwroot/index.html +3 -3
- package/wwwroot/service-worker-assets.js +5 -5
- package/wwwroot/service-worker.js +1 -1
package/package.json
CHANGED
|
@@ -95,6 +95,22 @@ body.mind-map-scroll-locked {
|
|
|
95
95
|
transform: translateZ(0);
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
+
.css3d-resolution-wrapper > .map-node,
|
|
99
|
+
.css3d-resolution-wrapper > .map-node-bubble,
|
|
100
|
+
.css3d-resolution-wrapper > .map-node-note,
|
|
101
|
+
.css3d-resolution-wrapper > .map-node-memo,
|
|
102
|
+
.css3d-resolution-wrapper > .map-node-file,
|
|
103
|
+
.css3d-resolution-wrapper > .map-node-image,
|
|
104
|
+
.css3d-resolution-wrapper > .map-node-code {
|
|
105
|
+
contain: layout style !important;
|
|
106
|
+
content-visibility: visible !important;
|
|
107
|
+
contain-intrinsic-size: auto !important;
|
|
108
|
+
transform: none !important;
|
|
109
|
+
will-change: auto !important;
|
|
110
|
+
-webkit-backface-visibility: visible !important;
|
|
111
|
+
backface-visibility: visible !important;
|
|
112
|
+
}
|
|
113
|
+
|
|
98
114
|
.css3d-resolution-wrapper.node-type-image img,
|
|
99
115
|
.css3d-resolution-wrapper.node-type-video video,
|
|
100
116
|
.css3d-resolution-wrapper.node-type-embed iframe,
|
|
@@ -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-fullres-handoff-aa-v756';
|
|
9
9
|
const CanvasPhase = Object.freeze({
|
|
10
10
|
Booting: 'booting',
|
|
11
11
|
BoardFileLoading: 'board-file-loading',
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
// ▲▲▲ [Usage] ▲▲▲
|
|
52
52
|
|
|
53
53
|
// Procedural line rendering settings
|
|
54
|
-
const LOD_RENDERER_BUILD_ID = '20260620-
|
|
54
|
+
const LOD_RENDERER_BUILD_ID = '20260620-fullres-handoff-aa-v756';
|
|
55
55
|
const DirtyKind = Object.freeze({
|
|
56
56
|
ResidentFullRebuild: 'resident-full-rebuild',
|
|
57
57
|
ResidentPatch: 'resident-patch',
|
|
@@ -943,6 +943,7 @@
|
|
|
943
943
|
this._fullResHandoffMinCoverage = 0.92;
|
|
944
944
|
this._fullResHandoffMaxMs = 1400;
|
|
945
945
|
this._fullResPanHandoffMaxMs = 1200;
|
|
946
|
+
this._fullResHandoffHardMaxMs = 2600;
|
|
946
947
|
this._tmpWorldPos = new THREE.Vector3();
|
|
947
948
|
this._tmpWorldQuat = new THREE.Quaternion();
|
|
948
949
|
this._tmpWorldScale = new THREE.Vector3();
|
|
@@ -2560,6 +2561,12 @@
|
|
|
2560
2561
|
return;
|
|
2561
2562
|
}
|
|
2562
2563
|
|
|
2564
|
+
emitMindCanvasTrace('lod.fullResHandoff.finish', this._module, {
|
|
2565
|
+
reason: String(reason || 'unknown'),
|
|
2566
|
+
build: LOD_RENDERER_BUILD_ID,
|
|
2567
|
+
previousBand: this._fullResHandoffPreviousBand || null,
|
|
2568
|
+
ageMs: Math.max(0, performance.now() - Number(this._fullResHandoffStartedAt || performance.now()))
|
|
2569
|
+
});
|
|
2563
2570
|
this._fullResHandoffActive = false;
|
|
2564
2571
|
this._fullResHandoffStartedAt = 0;
|
|
2565
2572
|
this._fullResHandoffUntil = 0;
|
|
@@ -2582,11 +2589,13 @@
|
|
|
2582
2589
|
let visibleCssCount = 0;
|
|
2583
2590
|
let pendingCssCount = 0;
|
|
2584
2591
|
let pendingImageCssCount = 0;
|
|
2592
|
+
let pendingNonImageCssCount = 0;
|
|
2585
2593
|
for (const nodeId of visibleIds) {
|
|
2586
2594
|
const entry = nodeObjectsById.get(nodeId);
|
|
2587
2595
|
if (!entry || !supportsCss3dNodeModel(entry.model)) continue;
|
|
2588
2596
|
|
|
2589
2597
|
eligibleCount++;
|
|
2598
|
+
const contentType = getNodeContentType(entry.model);
|
|
2590
2599
|
const element = entry.cssObject?.element;
|
|
2591
2600
|
const cssVisible =
|
|
2592
2601
|
this._nearCssVisibleIds.has(nodeId) &&
|
|
@@ -2595,13 +2604,15 @@
|
|
|
2595
2604
|
element.style.display !== 'none';
|
|
2596
2605
|
if (!cssVisible) {
|
|
2597
2606
|
pendingCssCount++;
|
|
2598
|
-
if (
|
|
2607
|
+
if (contentType === 'image') {
|
|
2599
2608
|
pendingImageCssCount++;
|
|
2609
|
+
} else {
|
|
2610
|
+
pendingNonImageCssCount++;
|
|
2600
2611
|
}
|
|
2601
2612
|
continue;
|
|
2602
2613
|
}
|
|
2603
2614
|
|
|
2604
|
-
if (
|
|
2615
|
+
if (contentType === 'image') {
|
|
2605
2616
|
if (this._isCssImageReady(entry)) {
|
|
2606
2617
|
visibleCssCount++;
|
|
2607
2618
|
} else {
|
|
@@ -2623,15 +2634,30 @@
|
|
|
2623
2634
|
this._css3dProcessing !== true &&
|
|
2624
2635
|
this._nearEntryBoostFrames <= 0;
|
|
2625
2636
|
const hasPendingCss = pendingCssCount > 0;
|
|
2626
|
-
const
|
|
2637
|
+
const now = performance.now();
|
|
2638
|
+
const timedOut = now >= this._fullResHandoffUntil;
|
|
2639
|
+
const handoffAgeMs = Math.max(0, now - Number(this._fullResHandoffStartedAt || now));
|
|
2640
|
+
const hardTimedOut = handoffAgeMs >= this._fullResHandoffHardMaxMs;
|
|
2627
2641
|
const hasPendingImageCss = pendingImageCssCount > 0;
|
|
2628
|
-
const
|
|
2642
|
+
const hasPendingNonImageCss = pendingNonImageCssCount > 0;
|
|
2643
|
+
const coverageReady = coverage >= this._fullResHandoffMinCoverage && !hasPendingNonImageCss;
|
|
2629
2644
|
const idleReady = queueIdle && !hasPendingCss && !hasPendingImageCss;
|
|
2630
|
-
|
|
2631
|
-
|
|
2632
|
-
|
|
2645
|
+
const imageOnlyTimeoutReady = timedOut &&
|
|
2646
|
+
hasPendingImageCss &&
|
|
2647
|
+
!hasPendingNonImageCss &&
|
|
2648
|
+
visibleCssCount > 0;
|
|
2649
|
+
const hardTimeoutReady = hardTimedOut &&
|
|
2650
|
+
(coverage >= 0.5 || visibleCssCount > 0 || queueIdle);
|
|
2651
|
+
|
|
2652
|
+
if (coverageReady || idleReady || imageOnlyTimeoutReady || hardTimeoutReady) {
|
|
2653
|
+
this._finishFullResHandoff(
|
|
2654
|
+
idleReady ? 'queue-idle-all-css-visible' :
|
|
2655
|
+
imageOnlyTimeoutReady ? 'timeout-image-css' :
|
|
2656
|
+
hardTimeoutReady ? 'hard-timeout' :
|
|
2657
|
+
'coverage'
|
|
2658
|
+
);
|
|
2633
2659
|
} else {
|
|
2634
|
-
if (timedOut && hasPendingCss) {
|
|
2660
|
+
if (timedOut && hasPendingCss && !hardTimedOut) {
|
|
2635
2661
|
this._fullResHandoffUntil = Math.max(
|
|
2636
2662
|
Number(this._fullResHandoffUntil || 0),
|
|
2637
2663
|
performance.now() + this._fullResPanHandoffMaxMs
|
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-fullres-handoff-aa-v756" />
|
|
11
|
+
<link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260620-fullres-handoff-aa-v756" />
|
|
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-fullres-handoff-aa-v756';
|
|
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": "hjUfORzu",
|
|
3
3
|
"assets": [
|
|
4
4
|
{
|
|
5
5
|
"hash": "sha256-+CSYMcqLNTsq3VnH11jgYyOCCdxvHzL74CBmo4sCmMU=",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"url": "_content/MindExecution.Shared/css/app.css"
|
|
43
43
|
},
|
|
44
44
|
{
|
|
45
|
-
"hash": "sha256-
|
|
45
|
+
"hash": "sha256-0hG8T14JPmgbOP1xbPzWCQEhkDC3SXrqlx8HoJM9e3s=",
|
|
46
46
|
"url": "_content/MindExecution.Shared/css/mind-map-overrides.css"
|
|
47
47
|
},
|
|
48
48
|
{
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
"url": "_content/MindExecution.Shared/js/marked.min.js"
|
|
79
79
|
},
|
|
80
80
|
{
|
|
81
|
-
"hash": "sha256
|
|
81
|
+
"hash": "sha256-+7nR5UKQCHuP9metel5kUUQH3ymykf+dYJaI+h9qHao=",
|
|
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-
|
|
117
|
+
"hash": "sha256-kmCskZhRIl7SKSFNOyOeWYPFe7pQihKx+ckVRPs++fA=",
|
|
118
118
|
"url": "_content/MindExecution.Shared/js/mind-map-lod-renderer.js"
|
|
119
119
|
},
|
|
120
120
|
{
|
|
@@ -834,7 +834,7 @@
|
|
|
834
834
|
"url": "image-manifest.json"
|
|
835
835
|
},
|
|
836
836
|
{
|
|
837
|
-
"hash": "sha256-
|
|
837
|
+
"hash": "sha256-dXqSHxd8CnNzgsM5/6qkUJu1w+EwxOOcmwpMN+dTU5c=",
|
|
838
838
|
"url": "index.html"
|
|
839
839
|
},
|
|
840
840
|
{
|