@mindexec/cli 0.2.295 → 0.2.297
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 +9 -8
- package/wwwroot/_content/MindExecution.Shared/js/mind-map-lod-renderer.js +84 -5
- package/wwwroot/_content/MindExecution.Shared/js/renderers/CSS3DRenderer.js +6 -3
- 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
|
@@ -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-ua-resident-schema-noop-v755';
|
|
9
9
|
const CanvasPhase = Object.freeze({
|
|
10
10
|
Booting: 'booting',
|
|
11
11
|
BoardFileLoading: 'board-file-loading',
|
|
@@ -2526,7 +2526,7 @@
|
|
|
2526
2526
|
}
|
|
2527
2527
|
});
|
|
2528
2528
|
|
|
2529
|
-
module.lodRenderer?.
|
|
2529
|
+
module.lodRenderer?.requestResidentSchemaSync?.('render-debug-flags');
|
|
2530
2530
|
|
|
2531
2531
|
if ((!flags.enableCss3dWillChange || !flags.enableCss3d) && window.MindMapCss3DManager?.setWillChange) {
|
|
2532
2532
|
window.MindMapCss3DManager.setWillChange(false, module);
|
|
@@ -10147,13 +10147,14 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
10147
10147
|
ctx.fillStyle = '#f8fafc';
|
|
10148
10148
|
ctx.fillRect(0, 0, width, height);
|
|
10149
10149
|
|
|
10150
|
+
const targetAspect = width / height;
|
|
10151
|
+
const sourceAspect = sourceWidth / sourceHeight;
|
|
10152
|
+
let sx = 0;
|
|
10153
|
+
let sy = 0;
|
|
10154
|
+
let sw = sourceWidth;
|
|
10155
|
+
let sh = sourceHeight;
|
|
10156
|
+
|
|
10150
10157
|
try {
|
|
10151
|
-
const targetAspect = width / height;
|
|
10152
|
-
const sourceAspect = sourceWidth / sourceHeight;
|
|
10153
|
-
let sx = 0;
|
|
10154
|
-
let sy = 0;
|
|
10155
|
-
let sw = sourceWidth;
|
|
10156
|
-
let sh = sourceHeight;
|
|
10157
10158
|
if (sourceAspect > targetAspect) {
|
|
10158
10159
|
sw = sourceHeight * targetAspect;
|
|
10159
10160
|
sx = (sourceWidth - sw) / 2;
|
|
@@ -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-ua-resident-schema-noop-v755';
|
|
55
55
|
const DirtyKind = Object.freeze({
|
|
56
56
|
ResidentFullRebuild: 'resident-full-rebuild',
|
|
57
57
|
ResidentPatch: 'resident-patch',
|
|
@@ -974,6 +974,7 @@
|
|
|
974
974
|
this._residentBuilt = false;
|
|
975
975
|
this._residentFullBuildCount = 0;
|
|
976
976
|
this._lastResidentFullBuildReason = '';
|
|
977
|
+
this._lastAppliedResidentSchemaSignature = '';
|
|
977
978
|
this._lastBlockedResidentRebuildReason = '';
|
|
978
979
|
this._lastBlockedResidentRebuildAt = 0;
|
|
979
980
|
this._postLoadVisualSyncPending = false;
|
|
@@ -2579,6 +2580,7 @@
|
|
|
2579
2580
|
|
|
2580
2581
|
let eligibleCount = 0;
|
|
2581
2582
|
let visibleCssCount = 0;
|
|
2583
|
+
let pendingCssCount = 0;
|
|
2582
2584
|
let pendingImageCssCount = 0;
|
|
2583
2585
|
for (const nodeId of visibleIds) {
|
|
2584
2586
|
const entry = nodeObjectsById.get(nodeId);
|
|
@@ -2592,6 +2594,7 @@
|
|
|
2592
2594
|
element &&
|
|
2593
2595
|
element.style.display !== 'none';
|
|
2594
2596
|
if (!cssVisible) {
|
|
2597
|
+
pendingCssCount++;
|
|
2595
2598
|
if (getNodeContentType(entry.model) === 'image') {
|
|
2596
2599
|
pendingImageCssCount++;
|
|
2597
2600
|
}
|
|
@@ -2619,14 +2622,23 @@
|
|
|
2619
2622
|
this._css3dQueuedMap.size === 0 &&
|
|
2620
2623
|
this._css3dProcessing !== true &&
|
|
2621
2624
|
this._nearEntryBoostFrames <= 0;
|
|
2625
|
+
const hasPendingCss = pendingCssCount > 0;
|
|
2622
2626
|
const timedOut = performance.now() >= this._fullResHandoffUntil;
|
|
2623
2627
|
const hasPendingImageCss = pendingImageCssCount > 0;
|
|
2628
|
+
const coverageReady = coverage >= this._fullResHandoffMinCoverage && !hasPendingImageCss;
|
|
2629
|
+
const idleReady = queueIdle && !hasPendingCss && !hasPendingImageCss;
|
|
2624
2630
|
|
|
2625
|
-
if (
|
|
2626
|
-
(
|
|
2627
|
-
timedOut) {
|
|
2628
|
-
this._finishFullResHandoff(queueIdle ? 'queue-idle' : timedOut ? 'timeout' : 'coverage');
|
|
2631
|
+
if (coverageReady || idleReady) {
|
|
2632
|
+
this._finishFullResHandoff(idleReady ? 'queue-idle-all-css-visible' : 'coverage');
|
|
2629
2633
|
} else {
|
|
2634
|
+
if (timedOut && hasPendingCss) {
|
|
2635
|
+
this._fullResHandoffUntil = Math.max(
|
|
2636
|
+
Number(this._fullResHandoffUntil || 0),
|
|
2637
|
+
performance.now() + this._fullResPanHandoffMaxMs
|
|
2638
|
+
);
|
|
2639
|
+
this._nearEntryBoostFrames = Math.max(Number(this._nearEntryBoostFrames || 0), 8);
|
|
2640
|
+
this._lastNearCssNoWorkKey = '';
|
|
2641
|
+
}
|
|
2630
2642
|
this._setFullResHandoffMeshesVisible(true);
|
|
2631
2643
|
}
|
|
2632
2644
|
}
|
|
@@ -3061,6 +3073,7 @@
|
|
|
3061
3073
|
this._residentBuildPhase = 'ready';
|
|
3062
3074
|
this._residentFullBuildCount = Number(this._residentFullBuildCount || 0) + 1;
|
|
3063
3075
|
this._lastResidentFullBuildReason = String(reason || 'unknown');
|
|
3076
|
+
this._lastAppliedResidentSchemaSignature = this._buildResidentSchemaSignature(this._module);
|
|
3064
3077
|
emitMindCanvasTrace('lod.fullBuild', this._module, {
|
|
3065
3078
|
reason: this._lastResidentFullBuildReason,
|
|
3066
3079
|
count: Number(this._residentFullBuildCount || 0),
|
|
@@ -3101,6 +3114,67 @@
|
|
|
3101
3114
|
}
|
|
3102
3115
|
}
|
|
3103
3116
|
|
|
3117
|
+
_buildResidentSchemaSignature(module = this._module) {
|
|
3118
|
+
const flags = module?.renderDebugFlags || {};
|
|
3119
|
+
return [
|
|
3120
|
+
LOD_RENDERER_BUILD_ID,
|
|
3121
|
+
isCss3dRendererEnabled(module) ? 'css3d:on' : 'css3d:off',
|
|
3122
|
+
flags.enableCssImageLodFallback === true ? 'css-image-fallback:on' : 'css-image-fallback:off'
|
|
3123
|
+
].join('|');
|
|
3124
|
+
}
|
|
3125
|
+
|
|
3126
|
+
_tryApplyResidentSchemaSyncNoop(reason = 'resident-schema-change') {
|
|
3127
|
+
const lodBand = this._currentLodBand || this._getActiveLodBand?.() || null;
|
|
3128
|
+
const nextSignature = this._buildResidentSchemaSignature(this._module);
|
|
3129
|
+
const canSkip =
|
|
3130
|
+
FORCE_RESIDENT_INSTANCES_IN_MID_FAR === true &&
|
|
3131
|
+
this._residentBuilt === true &&
|
|
3132
|
+
this._hasResidentLodInstances() === true &&
|
|
3133
|
+
this._instancesDirty !== true &&
|
|
3134
|
+
this._isNodeArrayDirty !== true &&
|
|
3135
|
+
this._lastAppliedResidentSchemaSignature === nextSignature;
|
|
3136
|
+
|
|
3137
|
+
if (!canSkip) {
|
|
3138
|
+
return false;
|
|
3139
|
+
}
|
|
3140
|
+
|
|
3141
|
+
this._syncInstancedImageMeshVisibility();
|
|
3142
|
+
this._markCss3dSyncNeeded(false);
|
|
3143
|
+
this._lastAppliedResidentSchemaSignature = nextSignature;
|
|
3144
|
+
if (this._module) {
|
|
3145
|
+
this._module._forceUpdateFrames = Math.max(Number(this._module._forceUpdateFrames || 0), 1);
|
|
3146
|
+
}
|
|
3147
|
+
emitMindCanvasTrace('patch.applied', this._module, {
|
|
3148
|
+
kind: DirtyKind.ResidentPatch,
|
|
3149
|
+
reason: String(reason || 'resident-schema-change'),
|
|
3150
|
+
normalizedReason: 'resident-schema-change',
|
|
3151
|
+
mode: 'resident-schema-noop',
|
|
3152
|
+
lodBand,
|
|
3153
|
+
schemaSignature: nextSignature
|
|
3154
|
+
});
|
|
3155
|
+
return true;
|
|
3156
|
+
}
|
|
3157
|
+
|
|
3158
|
+
requestResidentSchemaSync(reason = 'resident-schema-change') {
|
|
3159
|
+
const requestReason = String(reason || 'resident-schema-change');
|
|
3160
|
+
if (this._tryApplyResidentSchemaSyncNoop(requestReason)) {
|
|
3161
|
+
return true;
|
|
3162
|
+
}
|
|
3163
|
+
|
|
3164
|
+
this._setInstancesDirty('resident-schema-change');
|
|
3165
|
+
this._markLodResyncNeeded(false);
|
|
3166
|
+
if (this._module) {
|
|
3167
|
+
this._module._forceUpdateFrames = Math.max(Number(this._module._forceUpdateFrames || 0), 2);
|
|
3168
|
+
}
|
|
3169
|
+
emitMindCanvasTrace('lod.patch.request', this._module, {
|
|
3170
|
+
reason: requestReason,
|
|
3171
|
+
normalizedReason: 'resident-schema-change',
|
|
3172
|
+
mode: 'resident-schema-sync',
|
|
3173
|
+
lodBand: this._currentLodBand || null
|
|
3174
|
+
});
|
|
3175
|
+
return true;
|
|
3176
|
+
}
|
|
3177
|
+
|
|
3104
3178
|
_hasPendingLineDetailRestore(lodBand = this._currentLodBand) {
|
|
3105
3179
|
return ENABLE_INSTANCED_TEXT_LINES === true &&
|
|
3106
3180
|
this._lineDetailsPatchPending === true &&
|
|
@@ -9339,6 +9413,7 @@
|
|
|
9339
9413
|
this._residentBuilt = false;
|
|
9340
9414
|
this._residentFullBuildCount = 0;
|
|
9341
9415
|
this._lastResidentFullBuildReason = '';
|
|
9416
|
+
this._lastAppliedResidentSchemaSignature = '';
|
|
9342
9417
|
this._lastBlockedResidentRebuildReason = '';
|
|
9343
9418
|
this._lastBlockedResidentRebuildAt = 0;
|
|
9344
9419
|
this._nearPriorityBuffer = [];
|
|
@@ -9632,6 +9707,10 @@
|
|
|
9632
9707
|
|
|
9633
9708
|
requestResidentPatch(reason = 'resident-patch', nodeIds = null) {
|
|
9634
9709
|
const normalizedReason = String(reason || 'resident-patch');
|
|
9710
|
+
if (normalizedReason === 'resident-schema-change') {
|
|
9711
|
+
return this.requestResidentSchemaSync(normalizedReason);
|
|
9712
|
+
}
|
|
9713
|
+
|
|
9635
9714
|
if ((normalizedReason === 'add-node' || normalizedReason === 'remove-node' || normalizedReason === 'update-node') &&
|
|
9636
9715
|
this._tryApplyResidentStructureDelta(normalizedReason, nodeIds)) {
|
|
9637
9716
|
return true;
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
|
|
33
33
|
function CSS3DRenderer(){
|
|
34
34
|
var _width, _height; var _widthHalf, _heightHalf; var cache = { camera:{ fov:0, style:'', mode:'matrix3d' }, objects: new WeakMap() };
|
|
35
|
-
var domElement = document.createElement('div'); domElement.style.overflow = 'hidden'; domElement.style.contain = '
|
|
36
|
-
var cameraElement = document.createElement('div'); cameraElement.style.webkitTransformStyle = cameraElement.style.transformStyle = 'preserve-3d'; cameraElement.style.pointerEvents = 'none'; cameraElement.style.webkitTransformOrigin = cameraElement.style.transformOrigin = '0 0'; cameraElement.style.contain = 'layout style
|
|
35
|
+
var domElement = document.createElement('div'); domElement.style.overflow = 'hidden'; domElement.style.contain = 'layout style'; domElement.style.willChange = 'transform'; domElement.style.webkitTransition = domElement.style.transition = 'none'; domElement.style.webkitBackfaceVisibility = domElement.style.backfaceVisibility = 'hidden'; this.domElement = domElement;
|
|
36
|
+
var cameraElement = document.createElement('div'); cameraElement.style.webkitTransformStyle = cameraElement.style.transformStyle = 'preserve-3d'; cameraElement.style.pointerEvents = 'none'; cameraElement.style.webkitTransformOrigin = cameraElement.style.transformOrigin = '0 0'; cameraElement.style.contain = 'layout style'; cameraElement.style.willChange = 'transform'; cameraElement.style.webkitTransition = cameraElement.style.transition = 'none'; cameraElement.style.webkitBackfaceVisibility = cameraElement.style.backfaceVisibility = 'hidden'; domElement.appendChild(cameraElement);
|
|
37
37
|
|
|
38
38
|
this.getSize = function(){ return { width:_width, height:_height }; };
|
|
39
39
|
this.getCameraElement = function(){ return cameraElement; };
|
|
@@ -60,7 +60,10 @@
|
|
|
60
60
|
if (Math.abs(Number(rotation.x || 0)) > 1e-5 || Math.abs(Number(rotation.y || 0)) > 1e-5 || Math.abs(Number(rotation.z || 0)) > 1e-5) return false;
|
|
61
61
|
var scale = (projectionScale * _heightHalf) / cameraZ;
|
|
62
62
|
var translateX = _widthHalf - cameraX * scale;
|
|
63
|
-
|
|
63
|
+
// Match the settled matrix3d renderer's inverted CSS3D Y basis. Without
|
|
64
|
+
// the viewport-height projection correction, flat pan frames render one
|
|
65
|
+
// scaled viewport lower and jump when motion settles.
|
|
66
|
+
var translateY = _heightHalf + cameraY * scale - (_height * scale);
|
|
64
67
|
var translateBucket = Math.max(0.001, Number(options && options.translateBucketPx || 0.25));
|
|
65
68
|
var scaleBucket = Math.max(0.000001, Number(options && options.scaleBucket || 0.0005));
|
|
66
69
|
var tx = Math.round(translateX / translateBucket) * translateBucket;
|
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-ua-resident-schema-noop-v755" />
|
|
11
|
+
<link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260620-ua-resident-schema-noop-v755" />
|
|
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-ua-resident-schema-noop-v755';
|
|
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": "YH25K8sb",
|
|
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-nLoLyFnrQWw0WNrmyJYptH4WuiklwW9teJaA5OTkMHQ=",
|
|
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-M7N27m0+FOdOLRnYz1TG80HZArq4myZjBcTXBQ8awV0=",
|
|
118
118
|
"url": "_content/MindExecution.Shared/js/mind-map-lod-renderer.js"
|
|
119
119
|
},
|
|
120
120
|
{
|
|
@@ -182,7 +182,7 @@
|
|
|
182
182
|
"url": "_content/MindExecution.Shared/js/plan-master.js"
|
|
183
183
|
},
|
|
184
184
|
{
|
|
185
|
-
"hash": "sha256-
|
|
185
|
+
"hash": "sha256-QCdyQOre0GrA61w+YanZp5DbOJr/dlg7rCLE9f/hAqM=",
|
|
186
186
|
"url": "_content/MindExecution.Shared/js/renderers/CSS3DRenderer.js"
|
|
187
187
|
},
|
|
188
188
|
{
|
|
@@ -834,7 +834,7 @@
|
|
|
834
834
|
"url": "image-manifest.json"
|
|
835
835
|
},
|
|
836
836
|
{
|
|
837
|
-
"hash": "sha256-
|
|
837
|
+
"hash": "sha256-fMClm7fwJVb8a6qwDJy0W2Yz2LFw6C1nkl0dZWgNEoA=",
|
|
838
838
|
"url": "index.html"
|
|
839
839
|
},
|
|
840
840
|
{
|