@mindexec/cli 0.2.223 → 0.2.225
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
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 = '20260619-ua-motion-hidden-work-
|
|
8
|
+
const MINDMAP_CORE_BUILD_ID = '20260619-ua-motion-hidden-work-v672';
|
|
9
9
|
const CanvasPhase = Object.freeze({
|
|
10
10
|
Booting: 'booting',
|
|
11
11
|
BoardFileLoading: 'board-file-loading',
|
|
@@ -478,10 +478,12 @@
|
|
|
478
478
|
}
|
|
479
479
|
|
|
480
480
|
// Static backgrounds can move as a single viewport surface. Continuous
|
|
481
|
-
// themes
|
|
482
|
-
//
|
|
481
|
+
// particle themes keep real animation only when the user explicitly asks
|
|
482
|
+
// for 60fps animation; the default work mode reuses the last WebGL
|
|
483
|
+
// surface during camera motion so one animated background cannot dominate
|
|
484
|
+
// pan/zoom cost on low-power GPUs.
|
|
483
485
|
if (isContinuousBackgroundTheme(module) === true) {
|
|
484
|
-
return
|
|
486
|
+
return module?.useAnimation60Fps !== true;
|
|
485
487
|
}
|
|
486
488
|
|
|
487
489
|
return true;
|
|
@@ -536,6 +538,7 @@
|
|
|
536
538
|
}
|
|
537
539
|
|
|
538
540
|
const RENDER_DEBUG_STORAGE_KEY = 'mindmap.renderDebug.flags';
|
|
541
|
+
const RENDER_DEBUG_FLAGS_SCHEMA_VERSION = 2;
|
|
539
542
|
const DEFAULT_RENDER_DEBUG_FLAGS = Object.freeze({
|
|
540
543
|
enableCss3d: true,
|
|
541
544
|
enableCss3dTransformSync: true,
|
|
@@ -929,7 +932,16 @@
|
|
|
929
932
|
return { ...DEFAULT_RENDER_DEBUG_FLAGS };
|
|
930
933
|
}
|
|
931
934
|
|
|
932
|
-
|
|
935
|
+
const parsed = JSON.parse(raw);
|
|
936
|
+
if (!parsed ||
|
|
937
|
+
typeof parsed !== 'object' ||
|
|
938
|
+
Number(parsed.schemaVersion || 0) !== RENDER_DEBUG_FLAGS_SCHEMA_VERSION ||
|
|
939
|
+
!parsed.flags ||
|
|
940
|
+
typeof parsed.flags !== 'object') {
|
|
941
|
+
return { ...DEFAULT_RENDER_DEBUG_FLAGS };
|
|
942
|
+
}
|
|
943
|
+
|
|
944
|
+
return normalizeRenderDebugFlags(parsed.flags);
|
|
933
945
|
} catch {
|
|
934
946
|
return { ...DEFAULT_RENDER_DEBUG_FLAGS };
|
|
935
947
|
}
|
|
@@ -937,7 +949,10 @@
|
|
|
937
949
|
|
|
938
950
|
function persistRenderDebugFlags() {
|
|
939
951
|
try {
|
|
940
|
-
globalThis.localStorage?.setItem?.(RENDER_DEBUG_STORAGE_KEY, JSON.stringify(
|
|
952
|
+
globalThis.localStorage?.setItem?.(RENDER_DEBUG_STORAGE_KEY, JSON.stringify({
|
|
953
|
+
schemaVersion: RENDER_DEBUG_FLAGS_SCHEMA_VERSION,
|
|
954
|
+
flags: renderDebugFlags
|
|
955
|
+
}));
|
|
941
956
|
} catch { }
|
|
942
957
|
}
|
|
943
958
|
|
|
@@ -6382,20 +6397,28 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
6382
6397
|
const editingOverlayNodeId = useTextOverlayV2
|
|
6383
6398
|
? String(this._textOverlayV2State?.editing?.nodeId || '').trim()
|
|
6384
6399
|
: String(this._editingOverlayState?.nodeId || '').trim();
|
|
6400
|
+
const hasFocusedTextOverlay = !!selectableOverlayNodeId;
|
|
6401
|
+
const hasEditingOverlay = !!editingOverlayNodeId;
|
|
6402
|
+
const shouldTrackTextOverlayDirty =
|
|
6403
|
+
isPassiveDomOverlayRuntimeEnabled === true ||
|
|
6404
|
+
hasFocusedTextOverlay === true ||
|
|
6405
|
+
hasEditingOverlay === true;
|
|
6385
6406
|
const selectedOverlayNodeId = String(this.selectedNodeIdJs || '').trim();
|
|
6386
6407
|
const overlaySelectionKey = `${selectedOverlayNodeId}|${selectableOverlayNodeId}|${editingOverlayNodeId}|${useTextOverlayV2 ? 'v2' : 'legacy'}`;
|
|
6387
6408
|
if (overlaySelectionKey !== this._lastOverlaySelectionKey) {
|
|
6388
6409
|
this._lastOverlaySelectionKey = overlaySelectionKey;
|
|
6389
|
-
|
|
6410
|
+
if (shouldTrackTextOverlayDirty) {
|
|
6411
|
+
this._overlayDirty = true;
|
|
6412
|
+
}
|
|
6390
6413
|
}
|
|
6391
|
-
if (useTextOverlayV2 &&
|
|
6414
|
+
if (useTextOverlayV2 &&
|
|
6415
|
+
shouldTrackTextOverlayDirty &&
|
|
6416
|
+
(isNodeInteracting || hasNonCameraNavigationForcedUpdate || !!this.isWindowResizing)) {
|
|
6392
6417
|
// V2 placements depend on live host rects, so drag/resize frames
|
|
6393
6418
|
// must invalidate overlay layout even when the camera is stationary.
|
|
6394
6419
|
this._overlayDirty = true;
|
|
6395
6420
|
}
|
|
6396
6421
|
_profileSection('pipelineOverlayPlan');
|
|
6397
|
-
const hasFocusedTextOverlay = !!selectableOverlayNodeId;
|
|
6398
|
-
const hasEditingOverlay = !!editingOverlayNodeId;
|
|
6399
6422
|
const isUaStyleCameraTransformFrame =
|
|
6400
6423
|
shouldPreferCameraOnlyMotionPipeline === true &&
|
|
6401
6424
|
isCss3dEnabled === true &&
|
|
@@ -7034,7 +7057,9 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
7034
7057
|
const hasPassiveDomOverlaySurface =
|
|
7035
7058
|
shouldRenderPassiveDomTextOverlay ||
|
|
7036
7059
|
hasLiveInteractiveDomOverlay;
|
|
7037
|
-
const overlayV2State = useTextOverlayV2
|
|
7060
|
+
const overlayV2State = useTextOverlayV2 && shouldTrackTextOverlayDirty
|
|
7061
|
+
? (this._textOverlayV2State || null)
|
|
7062
|
+
: null;
|
|
7038
7063
|
const hasOverlayV2DirtyState = !!(
|
|
7039
7064
|
overlayV2State && (
|
|
7040
7065
|
overlayV2State.dirtyLayout === true ||
|
|
@@ -7045,10 +7070,12 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
7045
7070
|
);
|
|
7046
7071
|
const hasOverlayFocus = hasFocusedTextOverlay || hasEditingOverlay;
|
|
7047
7072
|
const hasMotionBlockingOverlayFocus = hasEditingOverlay;
|
|
7048
|
-
const visibleOverlayCount =
|
|
7049
|
-
|
|
7050
|
-
|
|
7051
|
-
|
|
7073
|
+
const visibleOverlayCount = isPassiveDomOverlayRuntimeEnabled
|
|
7074
|
+
? Math.max(
|
|
7075
|
+
Number(this._visibleIds?.size || 0),
|
|
7076
|
+
Number(this._prevVisibleIds?.size || 0)
|
|
7077
|
+
)
|
|
7078
|
+
: 0;
|
|
7052
7079
|
const shouldThrottlePassiveOverlayRefresh =
|
|
7053
7080
|
useTextOverlayV2 &&
|
|
7054
7081
|
shouldRenderPassiveDomTextOverlay &&
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
self.assetsManifest = {
|
|
2
|
-
"version": "
|
|
2
|
+
"version": "DOQXBbI8",
|
|
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-dAXTBBzz3gWtBqOMk0spDkHg8jlOGS+d4YmCyxO3QsI=",
|
|
82
82
|
"url": "_content/MindExecution.Shared/js/mind-map-core.js"
|
|
83
83
|
},
|
|
84
84
|
{
|