@mindexec/cli 0.2.223 → 0.2.226
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-v673';
|
|
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
|
|
|
@@ -1165,9 +1180,13 @@
|
|
|
1165
1180
|
}
|
|
1166
1181
|
|
|
1167
1182
|
function tryRunUltraEarlyCameraOnlyFrame(module, loop, frameStart, isCameraMoving, shouldCaptureFramePerf, frameProfTimes, profileSection) {
|
|
1183
|
+
const isCameraNavigationActive =
|
|
1184
|
+
isCameraMoving === true ||
|
|
1185
|
+
module?.isPanning === true ||
|
|
1186
|
+
module?.isZooming === true;
|
|
1168
1187
|
if (!module ||
|
|
1169
1188
|
CAMERA_MOTION_VISUAL_ONLY_FAST_PATH_ENABLED !== true ||
|
|
1170
|
-
|
|
1189
|
+
isCameraNavigationActive !== true ||
|
|
1171
1190
|
module.isLoading === true ||
|
|
1172
1191
|
module.isSelecting === true ||
|
|
1173
1192
|
module.isDraggingNode === true ||
|
|
@@ -1336,7 +1355,8 @@
|
|
|
1336
1355
|
cameraZ: Number((module.camera?.position?.z || 0).toFixed(2)),
|
|
1337
1356
|
isZooming: module.isZooming === true,
|
|
1338
1357
|
isPanning: module.isPanning === true,
|
|
1339
|
-
isCameraMoving: true,
|
|
1358
|
+
isCameraMoving: isCameraMoving === true,
|
|
1359
|
+
isCameraNavigationActive: true,
|
|
1340
1360
|
isInLodMode: false,
|
|
1341
1361
|
lodBand: module.lodRenderer?._currentLodBand || null,
|
|
1342
1362
|
visibleNodes: Number(module._visibleIds?.size || module._prevVisibleIds?.size || 0),
|
|
@@ -1380,9 +1400,13 @@
|
|
|
1380
1400
|
}
|
|
1381
1401
|
|
|
1382
1402
|
function tryRunUltraEarlyResidentCameraOnlyFrame(module, loop, frameStart, isCameraMoving, shouldCaptureFramePerf, frameProfTimes, profileSection) {
|
|
1403
|
+
const isCameraNavigationActive =
|
|
1404
|
+
isCameraMoving === true ||
|
|
1405
|
+
module?.isPanning === true ||
|
|
1406
|
+
module?.isZooming === true;
|
|
1383
1407
|
if (!module ||
|
|
1384
1408
|
CAMERA_MOTION_VISUAL_ONLY_FAST_PATH_ENABLED !== true ||
|
|
1385
|
-
|
|
1409
|
+
isCameraNavigationActive !== true ||
|
|
1386
1410
|
module.isLoading === true ||
|
|
1387
1411
|
module.isSelecting === true ||
|
|
1388
1412
|
module.isDraggingNode === true ||
|
|
@@ -1557,7 +1581,8 @@
|
|
|
1557
1581
|
cameraZ: Number((module.camera?.position?.z || 0).toFixed(2)),
|
|
1558
1582
|
isZooming: module.isZooming === true,
|
|
1559
1583
|
isPanning: module.isPanning === true,
|
|
1560
|
-
isCameraMoving: true,
|
|
1584
|
+
isCameraMoving: isCameraMoving === true,
|
|
1585
|
+
isCameraNavigationActive: true,
|
|
1561
1586
|
isInLodMode: true,
|
|
1562
1587
|
lodBand: module.lodRenderer?._currentLodBand || null,
|
|
1563
1588
|
visibleNodes: Number(module._visibleIds?.size || module._prevVisibleIds?.size || 0),
|
|
@@ -6382,20 +6407,28 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
6382
6407
|
const editingOverlayNodeId = useTextOverlayV2
|
|
6383
6408
|
? String(this._textOverlayV2State?.editing?.nodeId || '').trim()
|
|
6384
6409
|
: String(this._editingOverlayState?.nodeId || '').trim();
|
|
6410
|
+
const hasFocusedTextOverlay = !!selectableOverlayNodeId;
|
|
6411
|
+
const hasEditingOverlay = !!editingOverlayNodeId;
|
|
6412
|
+
const shouldTrackTextOverlayDirty =
|
|
6413
|
+
isPassiveDomOverlayRuntimeEnabled === true ||
|
|
6414
|
+
hasFocusedTextOverlay === true ||
|
|
6415
|
+
hasEditingOverlay === true;
|
|
6385
6416
|
const selectedOverlayNodeId = String(this.selectedNodeIdJs || '').trim();
|
|
6386
6417
|
const overlaySelectionKey = `${selectedOverlayNodeId}|${selectableOverlayNodeId}|${editingOverlayNodeId}|${useTextOverlayV2 ? 'v2' : 'legacy'}`;
|
|
6387
6418
|
if (overlaySelectionKey !== this._lastOverlaySelectionKey) {
|
|
6388
6419
|
this._lastOverlaySelectionKey = overlaySelectionKey;
|
|
6389
|
-
|
|
6420
|
+
if (shouldTrackTextOverlayDirty) {
|
|
6421
|
+
this._overlayDirty = true;
|
|
6422
|
+
}
|
|
6390
6423
|
}
|
|
6391
|
-
if (useTextOverlayV2 &&
|
|
6424
|
+
if (useTextOverlayV2 &&
|
|
6425
|
+
shouldTrackTextOverlayDirty &&
|
|
6426
|
+
(isNodeInteracting || hasNonCameraNavigationForcedUpdate || !!this.isWindowResizing)) {
|
|
6392
6427
|
// V2 placements depend on live host rects, so drag/resize frames
|
|
6393
6428
|
// must invalidate overlay layout even when the camera is stationary.
|
|
6394
6429
|
this._overlayDirty = true;
|
|
6395
6430
|
}
|
|
6396
6431
|
_profileSection('pipelineOverlayPlan');
|
|
6397
|
-
const hasFocusedTextOverlay = !!selectableOverlayNodeId;
|
|
6398
|
-
const hasEditingOverlay = !!editingOverlayNodeId;
|
|
6399
6432
|
const isUaStyleCameraTransformFrame =
|
|
6400
6433
|
shouldPreferCameraOnlyMotionPipeline === true &&
|
|
6401
6434
|
isCss3dEnabled === true &&
|
|
@@ -7034,7 +7067,9 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
7034
7067
|
const hasPassiveDomOverlaySurface =
|
|
7035
7068
|
shouldRenderPassiveDomTextOverlay ||
|
|
7036
7069
|
hasLiveInteractiveDomOverlay;
|
|
7037
|
-
const overlayV2State = useTextOverlayV2
|
|
7070
|
+
const overlayV2State = useTextOverlayV2 && shouldTrackTextOverlayDirty
|
|
7071
|
+
? (this._textOverlayV2State || null)
|
|
7072
|
+
: null;
|
|
7038
7073
|
const hasOverlayV2DirtyState = !!(
|
|
7039
7074
|
overlayV2State && (
|
|
7040
7075
|
overlayV2State.dirtyLayout === true ||
|
|
@@ -7045,10 +7080,12 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
7045
7080
|
);
|
|
7046
7081
|
const hasOverlayFocus = hasFocusedTextOverlay || hasEditingOverlay;
|
|
7047
7082
|
const hasMotionBlockingOverlayFocus = hasEditingOverlay;
|
|
7048
|
-
const visibleOverlayCount =
|
|
7049
|
-
|
|
7050
|
-
|
|
7051
|
-
|
|
7083
|
+
const visibleOverlayCount = isPassiveDomOverlayRuntimeEnabled
|
|
7084
|
+
? Math.max(
|
|
7085
|
+
Number(this._visibleIds?.size || 0),
|
|
7086
|
+
Number(this._prevVisibleIds?.size || 0)
|
|
7087
|
+
)
|
|
7088
|
+
: 0;
|
|
7052
7089
|
const shouldThrottlePassiveOverlayRefresh =
|
|
7053
7090
|
useTextOverlayV2 &&
|
|
7054
7091
|
shouldRenderPassiveDomTextOverlay &&
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
self.assetsManifest = {
|
|
2
|
-
"version": "
|
|
2
|
+
"version": "36RGH7+F",
|
|
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-FULOYbTxfjP57GtR0ZO6hxJUtWpBojHiKmUJQWOQ6Hw=",
|
|
82
82
|
"url": "_content/MindExecution.Shared/js/mind-map-core.js"
|
|
83
83
|
},
|
|
84
84
|
{
|