@mindexec/cli 0.2.258 → 0.2.259
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 +18 -9
- package/wwwroot/_content/MindExecution.Shared/js/renderers/CSS3DRenderer.js +10 -3
- 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-css3d-flat-wheel-v707';
|
|
9
9
|
const CanvasPhase = Object.freeze({
|
|
10
10
|
Booting: 'booting',
|
|
11
11
|
BoardFileLoading: 'board-file-loading',
|
|
@@ -1667,7 +1667,7 @@
|
|
|
1667
1667
|
});
|
|
1668
1668
|
}
|
|
1669
1669
|
|
|
1670
|
-
|
|
1670
|
+
module._cursorDomDeferredForMotion = true;
|
|
1671
1671
|
|
|
1672
1672
|
const isWebglRenderEnabled = renderDebugFlags.enableWebglRender !== false;
|
|
1673
1673
|
let usedWebglCanvasCameraTransform = false;
|
|
@@ -1893,7 +1893,7 @@
|
|
|
1893
1893
|
});
|
|
1894
1894
|
}
|
|
1895
1895
|
|
|
1896
|
-
|
|
1896
|
+
module._cursorDomDeferredForMotion = true;
|
|
1897
1897
|
|
|
1898
1898
|
let usedWebglCanvasCameraTransform = false;
|
|
1899
1899
|
if (isWebglRenderEnabled === true && module.renderer && module.scene && module.camera) {
|
|
@@ -5370,7 +5370,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
5370
5370
|
coalescedWheelEvents: Number(options?.coalescedWheelEvents || 0)
|
|
5371
5371
|
});
|
|
5372
5372
|
|
|
5373
|
-
|
|
5373
|
+
this._cursorDomDeferredForMotion = true;
|
|
5374
5374
|
|
|
5375
5375
|
let usedWebglCanvasCameraTransform = false;
|
|
5376
5376
|
if (canRenderWebgl === true) {
|
|
@@ -6483,6 +6483,10 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
6483
6483
|
this._wasResizingLastFrame = this.isResizing === true;
|
|
6484
6484
|
if (zoomEndedThisFrame || panEndedThisFrame || cameraEndedThisFrame || resizeEndedThisFrame) {
|
|
6485
6485
|
this._lastMotionEndAt = frameStart;
|
|
6486
|
+
if (this._cursorDomDeferredForMotion === true) {
|
|
6487
|
+
updateCursorDomElement(this);
|
|
6488
|
+
this._cursorDomDeferredForMotion = false;
|
|
6489
|
+
}
|
|
6486
6490
|
if (cameraEndedThisFrame) {
|
|
6487
6491
|
this._cameraNavigationOverlayInputTime = 0;
|
|
6488
6492
|
this._overlayDirty = true;
|
|
@@ -6817,7 +6821,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
6817
6821
|
});
|
|
6818
6822
|
}
|
|
6819
6823
|
|
|
6820
|
-
|
|
6824
|
+
this._cursorDomDeferredForMotion = true;
|
|
6821
6825
|
const shouldFreezeWebglCanvasForImmediateZoom =
|
|
6822
6826
|
shouldFreezeWebglSurfaceForZoom(this) === true;
|
|
6823
6827
|
const canReuseWebglCanvasForImmediateMotion = !!(
|
|
@@ -6992,7 +6996,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
6992
6996
|
this._deferPassiveOverlayRefresh = true;
|
|
6993
6997
|
}
|
|
6994
6998
|
|
|
6995
|
-
|
|
6999
|
+
this._cursorDomDeferredForMotion = true;
|
|
6996
7000
|
const shouldFreezeWebglCanvasForStationaryZoom =
|
|
6997
7001
|
shouldFreezeWebglSurfaceForZoom(this) === true;
|
|
6998
7002
|
const canReuseWebglCanvasForStationaryMotion = !!(
|
|
@@ -7182,7 +7186,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
7182
7186
|
});
|
|
7183
7187
|
}
|
|
7184
7188
|
|
|
7185
|
-
|
|
7189
|
+
this._cursorDomDeferredForMotion = true;
|
|
7186
7190
|
const shouldFreezeWebglCanvasForResidentZoom =
|
|
7187
7191
|
shouldFreezeWebglSurfaceForZoom(this) === true;
|
|
7188
7192
|
const canReuseWebglCanvasForResidentMotion = !!(
|
|
@@ -7430,7 +7434,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
7430
7434
|
let usedWebglCanvasCameraTransformEarly = false;
|
|
7431
7435
|
if (shouldSampleWebglDuringCameraMotion &&
|
|
7432
7436
|
shouldFreezeWebglCanvasForEarlyZoom !== true) {
|
|
7433
|
-
|
|
7437
|
+
this._cursorDomDeferredForMotion = true;
|
|
7434
7438
|
if (isWebglRenderEnabled && this.renderer && this.scene && this.camera) {
|
|
7435
7439
|
this._clearWebglCanvasCameraTransform();
|
|
7436
7440
|
this.renderer.render(this.scene, this.camera);
|
|
@@ -8209,7 +8213,12 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
8209
8213
|
const shouldSampleWebglDuringCameraMotion =
|
|
8210
8214
|
renderDebugFlags.sampleWebglDuringCameraMotion === true &&
|
|
8211
8215
|
(this.frameCount % CAMERA_MOTION_WEBGL_FRAME_INTERVAL) === 0;
|
|
8212
|
-
if (
|
|
8216
|
+
if (isCameraNavigationOnlyInteractiveFrame === true ||
|
|
8217
|
+
this.isPanning === true ||
|
|
8218
|
+
this.isZooming === true ||
|
|
8219
|
+
isCameraMoving === true) {
|
|
8220
|
+
this._cursorDomDeferredForMotion = true;
|
|
8221
|
+
} else if (!isPureCss3dCameraMotionFrame || shouldSampleWebglDuringCameraMotion) {
|
|
8213
8222
|
updateCursorDomElement(this);
|
|
8214
8223
|
}
|
|
8215
8224
|
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
function CSS3DRenderer(){
|
|
34
|
-
var _width, _height; var _widthHalf, _heightHalf; var cache = { camera:{ fov:0, style:'' }, objects: new WeakMap() };
|
|
34
|
+
var _width, _height; var _widthHalf, _heightHalf; var cache = { camera:{ fov:0, style:'', mode:'matrix3d' }, objects: new WeakMap() };
|
|
35
35
|
var domElement = document.createElement('div'); domElement.style.overflow = 'hidden'; this.domElement = domElement;
|
|
36
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'; domElement.appendChild(cameraElement);
|
|
37
37
|
|
|
@@ -41,7 +41,13 @@
|
|
|
41
41
|
function getCameraCSSMatrix(matrix){ var e=matrix.elements; return 'matrix3d('+epsilon(e[0])+','+epsilon(-e[1])+','+epsilon(e[2])+','+epsilon(e[3])+','+epsilon(e[4])+','+epsilon(-e[5])+','+epsilon(e[6])+','+epsilon(e[7])+','+epsilon(e[8])+','+epsilon(-e[9])+','+epsilon(e[10])+','+epsilon(e[11])+','+epsilon(e[12])+','+epsilon(-e[13])+','+epsilon(e[14])+','+epsilon(e[15])+')'; }
|
|
42
42
|
function getObjectCSSMatrix(matrix){ var e=matrix.elements; var m='matrix3d('+epsilon(e[0])+','+epsilon(e[1])+','+epsilon(e[2])+','+epsilon(e[3])+','+epsilon(-e[4])+','+epsilon(-e[5])+','+epsilon(-e[6])+','+epsilon(-e[7])+','+epsilon(e[8])+','+epsilon(e[9])+','+epsilon(e[10])+','+epsilon(e[11])+','+epsilon(e[12])+','+epsilon(e[13])+','+epsilon(e[14])+','+epsilon(e[15])+')'; return m; }
|
|
43
43
|
function renderObject(object, scene, camera, cameraCSSMatrix){ if (object.isCSS3DObject){ var style=getObjectCSSMatrix(object.matrixWorld); var display=object.visible ? '' : 'none'; var element=object.element; var cached=cache.objects.get(object); if (cached===undefined || cached.style!==style){ element.style.webkitTransform=element.style.transform=style; } if (cached===undefined || cached.display!==display){ element.style.display=display; } if (cached===undefined || cached.style!==style || cached.display!==display){ cache.objects.set(object, { style, display }); } if (element.parentNode !== cameraElement){ cameraElement.appendChild(element); } } for (var i=0,l=object.children.length;i<l;i++){ renderObject(object.children[i], scene, camera, cameraCSSMatrix); } }
|
|
44
|
-
function
|
|
44
|
+
function setCameraElementMode(mode){
|
|
45
|
+
if (cache.camera.mode === mode) return;
|
|
46
|
+
cache.camera.mode = mode;
|
|
47
|
+
var style = mode === 'flat' ? 'flat' : 'preserve-3d';
|
|
48
|
+
cameraElement.style.webkitTransformStyle = cameraElement.style.transformStyle = style;
|
|
49
|
+
}
|
|
50
|
+
function renderCameraOnly(renderer, camera){ setCameraElementMode('matrix3d'); var fov=camera.projectionMatrix.elements[5]*_heightHalf; if (cache.camera.fov!==fov){ renderer.domElement.style.webkitPerspective=renderer.domElement.style.perspective=fov+'px'; cache.camera.fov=fov; } if (camera.parent===null && camera.matrixWorldNeedsUpdate===true) camera.updateMatrixWorld(); var cameraCSSMatrix='translateZ('+fov+'px)'+getCameraCSSMatrix(camera.matrixWorldInverse); var style=cameraCSSMatrix+'translate('+_widthHalf+'px,'+_heightHalf+'px)'; if (cache.camera.style!==style){ cameraElement.style.webkitTransform=cameraElement.style.transform=style; cache.camera.style=style; } return cameraCSSMatrix; }
|
|
45
51
|
function renderFlatCameraOnly(renderer, camera, options){
|
|
46
52
|
if (!camera || !_width || !_height || !camera.isPerspectiveCamera) return false;
|
|
47
53
|
var position = camera.position || {};
|
|
@@ -63,12 +69,13 @@
|
|
|
63
69
|
var ty = Math.round(translateY / translateBucket) * translateBucket;
|
|
64
70
|
var s = Math.round(scale / scaleBucket) * scaleBucket;
|
|
65
71
|
var style = 'flat|'+Math.round(_width)+'|'+Math.round(_height)+'|'+Math.round(tx / translateBucket)+'|'+Math.round(ty / translateBucket)+'|'+Math.round(s / scaleBucket);
|
|
72
|
+
setCameraElementMode('flat');
|
|
66
73
|
if (cache.camera.fov !== 0){
|
|
67
74
|
renderer.domElement.style.webkitPerspective = renderer.domElement.style.perspective = '';
|
|
68
75
|
cache.camera.fov = 0;
|
|
69
76
|
}
|
|
70
77
|
if (cache.camera.style !== style){
|
|
71
|
-
cameraElement.style.webkitTransform = cameraElement.style.transform = '
|
|
78
|
+
cameraElement.style.webkitTransform = cameraElement.style.transform = 'matrix('+s.toFixed(6)+',0,0,'+(-s).toFixed(6)+','+tx.toFixed(3)+','+ty.toFixed(3)+')';
|
|
72
79
|
cache.camera.style = style;
|
|
73
80
|
}
|
|
74
81
|
return true;
|
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-css3d-flat-wheel-v707" />
|
|
11
|
+
<link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260620-css3d-flat-wheel-v707" />
|
|
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-css3d-flat-wheel-v707';
|
|
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": "7Mz0t211",
|
|
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-Wh72NYCd8llyQcb9S1nu14LVriY/M65RGbAJV9Ewecg=",
|
|
82
82
|
"url": "_content/MindExecution.Shared/js/mind-map-core.js"
|
|
83
83
|
},
|
|
84
84
|
{
|
|
@@ -182,7 +182,7 @@
|
|
|
182
182
|
"url": "_content/MindExecution.Shared/js/plan-master.js"
|
|
183
183
|
},
|
|
184
184
|
{
|
|
185
|
-
"hash": "sha256-
|
|
185
|
+
"hash": "sha256-2IxneOfAhc2Sq8hl7ywEBzZaaFX22FZaW89WB0rAgUk=",
|
|
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-KjaPdEv6u95UkcfvQokggiqL/Q7CuMbn9BoghYBReYQ=",
|
|
838
838
|
"url": "index.html"
|
|
839
839
|
},
|
|
840
840
|
{
|