@mindexec/cli 0.2.464 → 0.2.466
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/README.md +1 -0
- package/codex-runtime.js +521 -15
- package/package.json +35 -33
- package/remote-fast/osx-arm64/mindexec-remote-fast.dll +0 -0
- package/remote-fast/osx-x64/mindexec-remote-fast.dll +0 -0
- package/remote-fast/win-x64/mindexec-remote-fast.dll +0 -0
- package/scripts/board-render-ownership-smoke.mjs +85 -0
- package/scripts/codex-sdk-image-runtime-smoke.mjs +121 -0
- package/server.js +17 -0
- package/wwwroot/_content/MindExecution.Shared/js/mind-map-board-render-ownership.js +81 -0
- package/wwwroot/_content/MindExecution.Shared/js/mind-map-core.js +110 -46
- package/wwwroot/_content/MindExecution.Shared/js/mind-map-render-plan.js +24 -1
- package/wwwroot/_framework/MindExecution.Core.psrddqi3mi.dll +0 -0
- package/wwwroot/_framework/{MindExecution.Kernel.s20qz1vf5c.dll → MindExecution.Kernel.emus4f6jja.dll} +0 -0
- package/wwwroot/_framework/{MindExecution.Plugins.Admin.th7yn9x0f6.dll → MindExecution.Plugins.Admin.q3gz9b4wp8.dll} +0 -0
- package/wwwroot/_framework/{MindExecution.Plugins.Business.5oxedy1s9k.dll → MindExecution.Plugins.Business.dr4m9mbnc5.dll} +0 -0
- package/wwwroot/_framework/{MindExecution.Plugins.Concept.3687y3dptp.dll → MindExecution.Plugins.Concept.xzrzi61p7e.dll} +0 -0
- package/wwwroot/_framework/{MindExecution.Plugins.Directory.9nttshvjo8.dll → MindExecution.Plugins.Directory.hcbtf3n8w7.dll} +0 -0
- package/wwwroot/_framework/{MindExecution.Plugins.PlanMaster.poo6g7knqo.dll → MindExecution.Plugins.PlanMaster.1w09epz56f.dll} +0 -0
- package/wwwroot/_framework/{MindExecution.Plugins.YouTube.fyved6pyst.dll → MindExecution.Plugins.YouTube.7vjbulgfo8.dll} +0 -0
- package/wwwroot/_framework/{MindExecution.Shared.pldp11njra.dll → MindExecution.Shared.zj2n1axexl.dll} +0 -0
- package/wwwroot/_framework/MindExecution.Web.z1np8j1qu6.dll +0 -0
- package/wwwroot/_framework/blazor.boot.json +21 -21
- package/wwwroot/index.html +2 -1
- package/wwwroot/service-worker-assets.js +29 -25
- package/wwwroot/service-worker.js +1 -1
- package/wwwroot/_framework/MindExecution.Core.8qo2jd7tuo.dll +0 -0
- package/wwwroot/_framework/MindExecution.Web.vldms1qzyf.dll +0 -0
|
@@ -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 = '
|
|
8
|
+
const MINDMAP_CORE_BUILD_ID = '20260817-grid-distance-fade-v867';
|
|
9
9
|
const CanvasPhase = Object.freeze({
|
|
10
10
|
Booting: 'booting',
|
|
11
11
|
BoardFileLoading: 'board-file-loading',
|
|
@@ -112,7 +112,6 @@
|
|
|
112
112
|
const LOCAL_SNAP_GRID_SOLID_RADIUS_PX = LOCAL_SNAP_GRID_RADIUS_PX - LOCAL_SNAP_GRID_FADE_PX;
|
|
113
113
|
const LOCAL_SNAP_GRID_RASTER_MIN_STEP_PX = 0.5;
|
|
114
114
|
const LOCAL_SNAP_GRID_RASTER_MAX_PERIOD_PX = 2048;
|
|
115
|
-
const LOCAL_SNAP_GRID_OPACITY_BUCKET = 0.04;
|
|
116
115
|
const LOCAL_SNAP_GRID_DEFAULT_STEP_PX = 10;
|
|
117
116
|
const LOCAL_SNAP_GRID_DEFAULT_MAJOR_STEP_PX = 100;
|
|
118
117
|
const LOCAL_SNAP_GRID_DEFAULT_OPACITY = 0.58;
|
|
@@ -2838,7 +2837,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
2838
2837
|
/**
|
|
2839
2838
|
* Detach the current board's scene objects (without destroying them) and store in cache.
|
|
2840
2839
|
*/
|
|
2841
|
-
function _detachCurrentBoard(boardId) {
|
|
2840
|
+
function _detachCurrentBoard(boardId, nextBoardId = null) {
|
|
2842
2841
|
if (!moduleInstance || !boardId) return;
|
|
2843
2842
|
const t0 = performance.now();
|
|
2844
2843
|
|
|
@@ -2893,6 +2892,16 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
2893
2892
|
window.MindMapCss3DManager.clearTextOverlays(moduleInstance);
|
|
2894
2893
|
}
|
|
2895
2894
|
|
|
2895
|
+
window.MindMapBoardRenderOwnership?.retireResidentBoard?.(
|
|
2896
|
+
moduleInstance.lodRenderer,
|
|
2897
|
+
moduleInstance,
|
|
2898
|
+
{
|
|
2899
|
+
fromBoardId: boardId,
|
|
2900
|
+
toBoardId: nextBoardId,
|
|
2901
|
+
reason: 'board-cache-detach'
|
|
2902
|
+
}
|
|
2903
|
+
);
|
|
2904
|
+
|
|
2896
2905
|
_touchBoardCache(boardId, snapshot);
|
|
2897
2906
|
_enforceBoardCacheLimit();
|
|
2898
2907
|
|
|
@@ -2912,15 +2921,6 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
2912
2921
|
totalTextureMemoryBytes: 0
|
|
2913
2922
|
});
|
|
2914
2923
|
|
|
2915
|
-
// Reset LOD renderer state
|
|
2916
|
-
if (moduleInstance.lodRenderer) {
|
|
2917
|
-
moduleInstance.lodRenderer._instancesDirty = true;
|
|
2918
|
-
moduleInstance.lodRenderer._isNodeArrayDirty = true;
|
|
2919
|
-
moduleInstance.lodRenderer._nodeIdToIndex.clear();
|
|
2920
|
-
moduleInstance.lodRenderer.lineDataCache = new Map();
|
|
2921
|
-
moduleInstance.lodRenderer._cachedNodeArray = [];
|
|
2922
|
-
}
|
|
2923
|
-
|
|
2924
2924
|
console.log(`[BoardCache] ??Detached board ${boardId} (${snapshot.nodeObjectsById.size} nodes) in ${(performance.now() - t0).toFixed(1)}ms`);
|
|
2925
2925
|
}
|
|
2926
2926
|
|
|
@@ -2940,16 +2940,17 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
2940
2940
|
snapshot.nodeObjectsById.forEach((entry, nodeId) => {
|
|
2941
2941
|
try {
|
|
2942
2942
|
if (entry.glObject && moduleInstance.scene) {
|
|
2943
|
+
entry.glObject.visible = false;
|
|
2943
2944
|
moduleInstance.scene.add(entry.glObject);
|
|
2944
2945
|
}
|
|
2945
2946
|
if (entry.cssObject) {
|
|
2946
2947
|
const cssScene = moduleInstance.cssScene || moduleInstance.scene;
|
|
2947
2948
|
if (cssScene) cssScene.add(entry.cssObject);
|
|
2948
|
-
|
|
2949
|
+
entry.cssObject.visible = false;
|
|
2950
|
+
// Keep the cached surface neutral until the target board's
|
|
2951
|
+
// camera band becomes the active renderer owner.
|
|
2949
2952
|
if (entry.cssObject.element) {
|
|
2950
|
-
entry.cssObject.element.style.display
|
|
2951
|
-
entry.cssObject.element.style.visibility = '';
|
|
2952
|
-
entry.cssObject.element.style.opacity = '';
|
|
2953
|
+
entry.cssObject.element.style.setProperty('display', 'none', 'important');
|
|
2953
2954
|
}
|
|
2954
2955
|
}
|
|
2955
2956
|
} catch (e) {
|
|
@@ -2975,10 +2976,14 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
2975
2976
|
});
|
|
2976
2977
|
|
|
2977
2978
|
// Restore LOD renderer
|
|
2978
|
-
|
|
2979
|
-
moduleInstance.lodRenderer
|
|
2980
|
-
moduleInstance
|
|
2981
|
-
|
|
2979
|
+
window.MindMapBoardRenderOwnership?.prepareCachedBoard?.(
|
|
2980
|
+
moduleInstance.lodRenderer,
|
|
2981
|
+
moduleInstance,
|
|
2982
|
+
{
|
|
2983
|
+
boardId,
|
|
2984
|
+
lineDataCache: snapshot.lodLineDataCache
|
|
2985
|
+
}
|
|
2986
|
+
);
|
|
2982
2987
|
moduleInstance.logicWorkerBridge?.resetBoard?.(boardId, 'cache-attach');
|
|
2983
2988
|
moduleInstance.logicWorkerBridge?.rebuildNodeTables?.(moduleInstance, {
|
|
2984
2989
|
boardId,
|
|
@@ -3789,7 +3794,10 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
3789
3794
|
Number(majorStepPx) || LOCAL_SNAP_GRID_DEFAULT_MAJOR_STEP_PX
|
|
3790
3795
|
)
|
|
3791
3796
|
);
|
|
3792
|
-
const
|
|
3797
|
+
const parsedOpacity = Number(opacity);
|
|
3798
|
+
const safeOpacity = Number.isFinite(parsedOpacity)
|
|
3799
|
+
? Math.max(0, Math.min(0.68, parsedOpacity))
|
|
3800
|
+
: LOCAL_SNAP_GRID_DEFAULT_OPACITY;
|
|
3793
3801
|
const localGridKey = [
|
|
3794
3802
|
keyPrefix,
|
|
3795
3803
|
safeStyleKind,
|
|
@@ -3857,6 +3865,53 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
3857
3865
|
return true;
|
|
3858
3866
|
}
|
|
3859
3867
|
|
|
3868
|
+
_applyLocalSnapGridMotionStyle(layer, smallStepPx, majorStepPx, opacity) {
|
|
3869
|
+
if (!layer) return false;
|
|
3870
|
+
|
|
3871
|
+
const safeSmallStep = Math.max(
|
|
3872
|
+
LOCAL_SNAP_GRID_RASTER_MIN_STEP_PX,
|
|
3873
|
+
Number(smallStepPx) || LOCAL_SNAP_GRID_DEFAULT_STEP_PX
|
|
3874
|
+
);
|
|
3875
|
+
const safeMajorStep = Math.max(
|
|
3876
|
+
safeSmallStep,
|
|
3877
|
+
Math.min(
|
|
3878
|
+
LOCAL_SNAP_GRID_RASTER_MAX_PERIOD_PX,
|
|
3879
|
+
Number(majorStepPx) || LOCAL_SNAP_GRID_DEFAULT_MAJOR_STEP_PX
|
|
3880
|
+
)
|
|
3881
|
+
);
|
|
3882
|
+
const safeOpacity = Math.max(0, Math.min(0.68, Number(opacity) || 0));
|
|
3883
|
+
const smallStepValue = safeSmallStep.toFixed(3);
|
|
3884
|
+
const majorStepValue = safeMajorStep.toFixed(3);
|
|
3885
|
+
const backgroundSizeValue = [
|
|
3886
|
+
`${smallStepValue}px ${smallStepValue}px`,
|
|
3887
|
+
`${smallStepValue}px ${smallStepValue}px`,
|
|
3888
|
+
`${majorStepValue}px ${majorStepValue}px`,
|
|
3889
|
+
`${majorStepValue}px ${majorStepValue}px`
|
|
3890
|
+
].join(', ');
|
|
3891
|
+
const backgroundImage = [
|
|
3892
|
+
'linear-gradient(to right, rgba(51, 65, 85, 0.24) 0 1px, transparent 1px)',
|
|
3893
|
+
'linear-gradient(to bottom, rgba(51, 65, 85, 0.24) 0 1px, transparent 1px)',
|
|
3894
|
+
'linear-gradient(to right, rgba(15, 23, 42, 0.42) 0 1px, transparent 1px)',
|
|
3895
|
+
'linear-gradient(to bottom, rgba(15, 23, 42, 0.42) 0 1px, transparent 1px)'
|
|
3896
|
+
].join(', ');
|
|
3897
|
+
const motionKey = `motion-line|${smallStepValue}|${majorStepValue}|${safeOpacity.toFixed(3)}`;
|
|
3898
|
+
|
|
3899
|
+
if (motionKey === this._lastLocalSnapGridKey) return false;
|
|
3900
|
+
|
|
3901
|
+
this._lastLocalSnapGridKey = motionKey;
|
|
3902
|
+
this._lastLocalSnapGridPatternPeriodPx = safeMajorStep;
|
|
3903
|
+
this._localSnapGridRasterPeriodPx = safeMajorStep;
|
|
3904
|
+
this._lastLocalSnapGridBackgroundSizeKey = backgroundSizeValue;
|
|
3905
|
+
this._lastLocalSnapGridOpacity = safeOpacity.toFixed(3);
|
|
3906
|
+
this._lastLocalSnapGridTransformKey = '';
|
|
3907
|
+
if (layer.style.backgroundImage !== backgroundImage) layer.style.backgroundImage = backgroundImage;
|
|
3908
|
+
if (layer.style.backgroundSize !== backgroundSizeValue) layer.style.backgroundSize = backgroundSizeValue;
|
|
3909
|
+
if (layer.style.opacity !== this._lastLocalSnapGridOpacity) {
|
|
3910
|
+
layer.style.opacity = this._lastLocalSnapGridOpacity;
|
|
3911
|
+
}
|
|
3912
|
+
return true;
|
|
3913
|
+
}
|
|
3914
|
+
|
|
3860
3915
|
_ensureLocalSnapGridBaseStyle(layer = null) {
|
|
3861
3916
|
const targetLayer = layer || this._ensureLocalSnapGridLayer();
|
|
3862
3917
|
if (!targetLayer) {
|
|
@@ -3890,6 +3945,9 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
3890
3945
|
const opacityValue = targetOpacity == null
|
|
3891
3946
|
? this._lastLocalSnapGridOpacity
|
|
3892
3947
|
: String(targetOpacity);
|
|
3948
|
+
if (opacityValue) {
|
|
3949
|
+
this._lastLocalSnapGridOpacity = opacityValue;
|
|
3950
|
+
}
|
|
3893
3951
|
if (this._localSnapGridVisible !== true) {
|
|
3894
3952
|
this._localSnapGridVisible = true;
|
|
3895
3953
|
if (layer.style.display !== 'block') {
|
|
@@ -3957,19 +4015,17 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
3957
4015
|
const left = Number(viewportMetrics.left || 0);
|
|
3958
4016
|
const top = Number(viewportMetrics.top || 0);
|
|
3959
4017
|
const pointerRevision = Math.max(0, Number(this._localSnapGridPointerRevision || 0));
|
|
4018
|
+
const camera = this.camera;
|
|
4019
|
+
const cameraZ = Math.max(1, Number(camera.position?.z || 1));
|
|
4020
|
+
const opacity = Math.max(0, Math.min(0.68, Number(
|
|
4021
|
+
window.MindMapRenderPlan?.getLocalSnapGridDistanceOpacity?.(cameraZ)
|
|
4022
|
+
) || 0));
|
|
3960
4023
|
|
|
3961
|
-
if (
|
|
3962
|
-
|
|
3963
|
-
|
|
3964
|
-
this._syncLocalSnapGridSpotlightPosition(width, height, left, top);
|
|
3965
|
-
this._lastLocalSnapGridPositionRevision = pointerRevision;
|
|
3966
|
-
this._localSnapGridStyleDeferredForZoom = true;
|
|
3967
|
-
this._setLocalSnapGridVisible(true, this._lastLocalSnapGridOpacity || null);
|
|
3968
|
-
return true;
|
|
4024
|
+
if (opacity <= 0.001) {
|
|
4025
|
+
this._setLocalSnapGridVisible(false);
|
|
4026
|
+
return false;
|
|
3969
4027
|
}
|
|
3970
4028
|
|
|
3971
|
-
const camera = this.camera;
|
|
3972
|
-
const cameraZ = Math.max(1, Number(camera.position?.z || 1));
|
|
3973
4029
|
const vfov = (Number(camera.fov || 45) * Math.PI) / 180;
|
|
3974
4030
|
const viewHeight = 2 * Math.tan(vfov / 2) * cameraZ;
|
|
3975
4031
|
const pxPerWorld = height / Math.max(1, viewHeight);
|
|
@@ -3979,11 +4035,6 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
3979
4035
|
this._lastLocalSnapGridWorldStep = gridProjection.worldStep;
|
|
3980
4036
|
this._lastLocalSnapGridWorldPeriod = gridProjection.worldStep * 10;
|
|
3981
4037
|
const styleKind = this._getLocalSnapGridStyleKind();
|
|
3982
|
-
const rawOpacity = Math.max(0.38, Math.min(0.64, cameraZ <= 1800 ? 0.60 : 0.60 - ((cameraZ - 1800) / 36000)));
|
|
3983
|
-
const opacity = Math.max(
|
|
3984
|
-
0.38,
|
|
3985
|
-
Math.min(0.64, Math.round(rawOpacity / LOCAL_SNAP_GRID_OPACITY_BUCKET) * LOCAL_SNAP_GRID_OPACITY_BUCKET)
|
|
3986
|
-
);
|
|
3987
4038
|
const shouldDeferLocalGridStyleForZoom =
|
|
3988
4039
|
this.isZooming === true &&
|
|
3989
4040
|
styleKind !== 'dot' &&
|
|
@@ -3999,6 +4050,12 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
3999
4050
|
opacity
|
|
4000
4051
|
);
|
|
4001
4052
|
} else if (shouldDeferLocalGridStyleForZoom === true) {
|
|
4053
|
+
this._applyLocalSnapGridMotionStyle(
|
|
4054
|
+
layer,
|
|
4055
|
+
smallStepPx,
|
|
4056
|
+
majorStepPx,
|
|
4057
|
+
opacity
|
|
4058
|
+
);
|
|
4002
4059
|
this._localSnapGridStyleDeferredForZoom = true;
|
|
4003
4060
|
}
|
|
4004
4061
|
|
|
@@ -4038,27 +4095,34 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
4038
4095
|
const height = Math.max(1, Number(viewportMetrics.height || 0));
|
|
4039
4096
|
const left = Number(viewportMetrics.left || 0);
|
|
4040
4097
|
const top = Number(viewportMetrics.top || 0);
|
|
4098
|
+
const cameraZ = Math.max(1, Number(this.camera?.position?.z || 1));
|
|
4099
|
+
const opacity = Math.max(0, Math.min(0.68, Number(
|
|
4100
|
+
window.MindMapRenderPlan?.getLocalSnapGridDistanceOpacity?.(cameraZ)
|
|
4101
|
+
) || 0));
|
|
4102
|
+
if (opacity <= 0.001) {
|
|
4103
|
+
this._setLocalSnapGridVisible(false);
|
|
4104
|
+
return false;
|
|
4105
|
+
}
|
|
4041
4106
|
const styleKind = this._getLocalSnapGridStyleKind();
|
|
4042
4107
|
if (this.isZooming === true && styleKind === 'dot') {
|
|
4043
|
-
const cameraZ = Math.max(1, Number(this.camera?.position?.z || 1));
|
|
4044
4108
|
const vfov = (Number(this.camera?.fov || 45) * Math.PI) / 180;
|
|
4045
4109
|
const pxPerWorld = height / Math.max(1, 2 * Math.tan(vfov / 2) * cameraZ);
|
|
4046
4110
|
const projection = this._resolveLocalSnapGridWorldStep(pxPerWorld);
|
|
4047
|
-
const rawOpacity = Math.max(0.38, Math.min(0.64,
|
|
4048
|
-
cameraZ <= 1800 ? 0.60 : 0.60 - ((cameraZ - 1800) / 36000)));
|
|
4049
|
-
const opacity = Math.max(0.38, Math.min(0.64,
|
|
4050
|
-
Math.round(rawOpacity / LOCAL_SNAP_GRID_OPACITY_BUCKET) * LOCAL_SNAP_GRID_OPACITY_BUCKET));
|
|
4051
4111
|
this._applyLocalSnapGridStyle(
|
|
4052
4112
|
layer, styleKind, projection.smallStepPx, projection.majorStepPx, opacity);
|
|
4053
4113
|
this._localSnapGridStyleDeferredForZoom = false;
|
|
4114
|
+
} else if (this.isZooming === true) {
|
|
4115
|
+
const vfov = (Number(this.camera?.fov || 45) * Math.PI) / 180;
|
|
4116
|
+
const pxPerWorld = height / Math.max(1, 2 * Math.tan(vfov / 2) * cameraZ);
|
|
4117
|
+
const projection = this._resolveLocalSnapGridWorldStep(pxPerWorld);
|
|
4118
|
+
this._applyLocalSnapGridMotionStyle(
|
|
4119
|
+
layer, projection.smallStepPx, projection.majorStepPx, opacity);
|
|
4120
|
+
this._localSnapGridStyleDeferredForZoom = true;
|
|
4054
4121
|
}
|
|
4055
4122
|
this._syncLocalSnapGridSpotlightPosition(width, height, left, top);
|
|
4056
4123
|
this._lastLocalSnapGridPositionRevision = pointerRevision;
|
|
4057
4124
|
|
|
4058
|
-
|
|
4059
|
-
this._localSnapGridStyleDeferredForZoom = true;
|
|
4060
|
-
}
|
|
4061
|
-
this._setLocalSnapGridVisible(true, this._lastLocalSnapGridOpacity || null);
|
|
4125
|
+
this._setLocalSnapGridVisible(true, opacity.toFixed(3));
|
|
4062
4126
|
return true;
|
|
4063
4127
|
}
|
|
4064
4128
|
|
|
@@ -9894,7 +9958,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
9894
9958
|
|
|
9895
9959
|
// Detach current board (save to JS cache)
|
|
9896
9960
|
if (boardToDetach) {
|
|
9897
|
-
_detachCurrentBoard(boardToDetach);
|
|
9961
|
+
_detachCurrentBoard(boardToDetach, targetBoardId);
|
|
9898
9962
|
}
|
|
9899
9963
|
moduleInstance.setCanvasPhase?.(CanvasPhase.BoardSwitching, 'swapBoard', {
|
|
9900
9964
|
fromBoardId: boardToDetach || null,
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
(function () {
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
const BUILD_ID = '
|
|
4
|
+
const BUILD_ID = '20260817-grid-distance-fade-v45';
|
|
5
5
|
const FRAME_SAMPLE_LIMIT = 240;
|
|
6
6
|
const INITIAL_LINE_TEXTURE_ROWS = 1024;
|
|
7
7
|
const GPU_WARM_RETRY_DELAY_MS = 120;
|
|
8
8
|
const IMAGE_ATLAS_TILE_SIZE = 128;
|
|
9
9
|
const IMAGE_ATLAS_UPLOAD_SETTLE_MS = 1000;
|
|
10
10
|
const IMAGE_ATLAS_UPLOAD_MAX_WAIT_MS = 3500;
|
|
11
|
+
const LOCAL_SNAP_GRID_FADE_START_Z = 9000;
|
|
12
|
+
const LOCAL_SNAP_GRID_FADE_END_Z = 30000;
|
|
11
13
|
const frameSampleStates = new WeakMap();
|
|
12
14
|
const residentLinePrewarmStates = new WeakMap();
|
|
13
15
|
const residentTransitionStates = new WeakMap();
|
|
@@ -71,6 +73,26 @@
|
|
|
71
73
|
);
|
|
72
74
|
}
|
|
73
75
|
|
|
76
|
+
function getLocalSnapGridDistanceOpacity(cameraZ) {
|
|
77
|
+
const parsedCameraZ = Math.abs(Number(cameraZ));
|
|
78
|
+
const safeCameraZ = Number.isFinite(parsedCameraZ) ? Math.max(1, parsedCameraZ) : 1;
|
|
79
|
+
const baseOpacity = Math.max(
|
|
80
|
+
0.38,
|
|
81
|
+
Math.min(0.64, safeCameraZ <= 1800 ? 0.60 : 0.60 - ((safeCameraZ - 1800) / 36000))
|
|
82
|
+
);
|
|
83
|
+
if (safeCameraZ <= LOCAL_SNAP_GRID_FADE_START_Z) {
|
|
84
|
+
return baseOpacity;
|
|
85
|
+
}
|
|
86
|
+
if (safeCameraZ >= LOCAL_SNAP_GRID_FADE_END_Z) {
|
|
87
|
+
return 0;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
const fadeProgress = (safeCameraZ - LOCAL_SNAP_GRID_FADE_START_Z) /
|
|
91
|
+
(LOCAL_SNAP_GRID_FADE_END_Z - LOCAL_SNAP_GRID_FADE_START_Z);
|
|
92
|
+
const smoothProgress = fadeProgress * fadeProgress * (3 - (2 * fadeProgress));
|
|
93
|
+
return baseOpacity * (1 - smoothProgress);
|
|
94
|
+
}
|
|
95
|
+
|
|
74
96
|
function shouldUseInteractiveRendererDpr(module, frameState = null) {
|
|
75
97
|
const wheelOnlyCameraNavigation = isWheelOnlyCameraNavigation(module);
|
|
76
98
|
return !!(
|
|
@@ -1890,6 +1912,7 @@
|
|
|
1890
1912
|
window.MindMapRenderPlan = Object.freeze({
|
|
1891
1913
|
configureImageAtlasTexture,
|
|
1892
1914
|
getImageAtlasOutputColorChunk,
|
|
1915
|
+
getLocalSnapGridDistanceOpacity,
|
|
1893
1916
|
shouldUseInteractiveRendererDpr,
|
|
1894
1917
|
isRendererDprInteractionActive,
|
|
1895
1918
|
getCameraOnlyWebglBlockerMask,
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"mainAssemblyName": "MindExecution.Web",
|
|
3
3
|
"resources": {
|
|
4
|
-
"hash": "sha256-
|
|
4
|
+
"hash": "sha256-ZCsr6yMshf12g8H1C7Es4Bcxp7qN8HF/8VqttnLuOao=",
|
|
5
5
|
"fingerprinting": {
|
|
6
6
|
"Google.Protobuf.9h59ukbel7.dll": "Google.Protobuf.dll",
|
|
7
7
|
"Markdig.d1j7v41cl1.dll": "Markdig.dll",
|
|
@@ -122,16 +122,16 @@
|
|
|
122
122
|
"System.brmz7yk5qh.dll": "System.dll",
|
|
123
123
|
"netstandard.b50t77veor.dll": "netstandard.dll",
|
|
124
124
|
"System.Private.CoreLib.g6ztz7cmo2.dll": "System.Private.CoreLib.dll",
|
|
125
|
-
"MindExecution.Core.
|
|
126
|
-
"MindExecution.Kernel.
|
|
127
|
-
"MindExecution.Plugins.Admin.
|
|
128
|
-
"MindExecution.Plugins.Business.
|
|
129
|
-
"MindExecution.Plugins.Concept.
|
|
130
|
-
"MindExecution.Plugins.Directory.
|
|
131
|
-
"MindExecution.Plugins.PlanMaster.
|
|
132
|
-
"MindExecution.Plugins.YouTube.
|
|
133
|
-
"MindExecution.Shared.
|
|
134
|
-
"MindExecution.Web.
|
|
125
|
+
"MindExecution.Core.psrddqi3mi.dll": "MindExecution.Core.dll",
|
|
126
|
+
"MindExecution.Kernel.emus4f6jja.dll": "MindExecution.Kernel.dll",
|
|
127
|
+
"MindExecution.Plugins.Admin.q3gz9b4wp8.dll": "MindExecution.Plugins.Admin.dll",
|
|
128
|
+
"MindExecution.Plugins.Business.dr4m9mbnc5.dll": "MindExecution.Plugins.Business.dll",
|
|
129
|
+
"MindExecution.Plugins.Concept.xzrzi61p7e.dll": "MindExecution.Plugins.Concept.dll",
|
|
130
|
+
"MindExecution.Plugins.Directory.hcbtf3n8w7.dll": "MindExecution.Plugins.Directory.dll",
|
|
131
|
+
"MindExecution.Plugins.PlanMaster.1w09epz56f.dll": "MindExecution.Plugins.PlanMaster.dll",
|
|
132
|
+
"MindExecution.Plugins.YouTube.7vjbulgfo8.dll": "MindExecution.Plugins.YouTube.dll",
|
|
133
|
+
"MindExecution.Shared.zj2n1axexl.dll": "MindExecution.Shared.dll",
|
|
134
|
+
"MindExecution.Web.z1np8j1qu6.dll": "MindExecution.Web.dll",
|
|
135
135
|
"dotnet.native.566r55w3xu.js": "dotnet.native.js",
|
|
136
136
|
"dotnet.native.x6q5aixc38.wasm": "dotnet.native.wasm",
|
|
137
137
|
"dotnet.js": "dotnet.js",
|
|
@@ -276,18 +276,18 @@
|
|
|
276
276
|
"System.Xml.XDocument.sn51jas17n.dll": "sha256-GNI2kFgFmPTwzuzwUn8gxK+AzGLUWRJFdg9JzIbrybQ=",
|
|
277
277
|
"System.brmz7yk5qh.dll": "sha256-CfM2miyj1KHApFmqMdLYWio3S/jrdON2pW9Xr2nTwlo=",
|
|
278
278
|
"netstandard.b50t77veor.dll": "sha256-//jQGOXjb8ET8WtXgOJrAxLx6E7zDJ5RjRRutwkvmxo=",
|
|
279
|
-
"MindExecution.Core.
|
|
280
|
-
"MindExecution.Kernel.
|
|
281
|
-
"MindExecution.Plugins.Business.
|
|
282
|
-
"MindExecution.Plugins.Concept.
|
|
283
|
-
"MindExecution.Plugins.PlanMaster.
|
|
284
|
-
"MindExecution.Shared.
|
|
285
|
-
"MindExecution.Web.
|
|
279
|
+
"MindExecution.Core.psrddqi3mi.dll": "sha256-B33cTW2KC7j+nxxSkwA1KD3qCGmLk7qH0DvEMA+qPCk=",
|
|
280
|
+
"MindExecution.Kernel.emus4f6jja.dll": "sha256-+jWRYJUSZg/+/yuEpHFeoW05bwhQq+1uJ519QRLal6o=",
|
|
281
|
+
"MindExecution.Plugins.Business.dr4m9mbnc5.dll": "sha256-mfINIgO0Jb1B9JNJVuBjGebWdT05+X1WusarZ0UhC2E=",
|
|
282
|
+
"MindExecution.Plugins.Concept.xzrzi61p7e.dll": "sha256-gw0HIuC4xerbOv3GbS/66kRPU98Hzo5oWVC7BCFig3A=",
|
|
283
|
+
"MindExecution.Plugins.PlanMaster.1w09epz56f.dll": "sha256-wa5PyOU/QkpFcW0/wiNbtYjtEIOtkqfuqaQsVeAMXBk=",
|
|
284
|
+
"MindExecution.Shared.zj2n1axexl.dll": "sha256-UfqtUG6XriHJTwSc8E0LUD65HYeTJxSedYz4UZl8dg8=",
|
|
285
|
+
"MindExecution.Web.z1np8j1qu6.dll": "sha256-9wQB1wuAG+0sMQV1UZOybyqGSWmQyBMyMxJrHwpQFp4="
|
|
286
286
|
},
|
|
287
287
|
"lazyAssembly": {
|
|
288
|
-
"MindExecution.Plugins.Admin.
|
|
289
|
-
"MindExecution.Plugins.Directory.
|
|
290
|
-
"MindExecution.Plugins.YouTube.
|
|
288
|
+
"MindExecution.Plugins.Admin.q3gz9b4wp8.dll": "sha256-us79gHGdEtfuUIlKqMmJZFbHE9sB+OBzsGgiaOIJCGk=",
|
|
289
|
+
"MindExecution.Plugins.Directory.hcbtf3n8w7.dll": "sha256-T1ay20LkWJDPggiQ1ws5h0f6e34xLCmQV3qXVsMZIHc=",
|
|
290
|
+
"MindExecution.Plugins.YouTube.7vjbulgfo8.dll": "sha256-rbRIYqL6wVvLLLHmkDp3ct+dVjUGw7mW8bn3c30SvuA="
|
|
291
291
|
}
|
|
292
292
|
},
|
|
293
293
|
"cacheBootResources": true,
|
package/wwwroot/index.html
CHANGED
|
@@ -614,7 +614,7 @@
|
|
|
614
614
|
}
|
|
615
615
|
|
|
616
616
|
const base = '_content/MindExecution.Shared/js/';
|
|
617
|
-
const scriptVersion = '
|
|
617
|
+
const scriptVersion = '20260819-board-owner-grid-v975';
|
|
618
618
|
const scriptUrl = (script) => `${base}${script}?v=${scriptVersion}`;
|
|
619
619
|
console.log(`[Script Loader] Shared JS version: ${scriptVersion}`);
|
|
620
620
|
const criticalScripts = [
|
|
@@ -640,6 +640,7 @@
|
|
|
640
640
|
'mind-map-multi-select.js',
|
|
641
641
|
'mind-map-interactions.js',
|
|
642
642
|
'mind-map-dnd.js',
|
|
643
|
+
'mind-map-board-render-ownership.js',
|
|
643
644
|
'mind-map-render-plan.js',
|
|
644
645
|
'mind-map-normal-boundary-optimizer.js',
|
|
645
646
|
'mind-map-lod-video-placeholder.js',
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
self.assetsManifest = {
|
|
2
|
-
"version": "
|
|
2
|
+
"version": "plldCWxD",
|
|
3
3
|
"assets": [
|
|
4
4
|
{
|
|
5
5
|
"hash": "sha256-+CSYMcqLNTsq3VnH11jgYyOCCdxvHzL74CBmo4sCmMU=",
|
|
@@ -82,7 +82,11 @@ self.assetsManifest = {
|
|
|
82
82
|
"url": "_content/MindExecution.Shared/js/mind-map-animated-image-preview.js"
|
|
83
83
|
},
|
|
84
84
|
{
|
|
85
|
-
"hash": "sha256-
|
|
85
|
+
"hash": "sha256-W/h4gC38IZn54pM6q++JJFSbDBLokscPLSNvh3xMFpw=",
|
|
86
|
+
"url": "_content/MindExecution.Shared/js/mind-map-board-render-ownership.js"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"hash": "sha256-+YNEfvac1szWmQjPUmzKmTUVCS5qHcXNn6k2W2mlFQ8=",
|
|
86
90
|
"url": "_content/MindExecution.Shared/js/mind-map-core.js"
|
|
87
91
|
},
|
|
88
92
|
{
|
|
@@ -170,7 +174,7 @@ self.assetsManifest = {
|
|
|
170
174
|
"url": "_content/MindExecution.Shared/js/mind-map-remote-codecs.js"
|
|
171
175
|
},
|
|
172
176
|
{
|
|
173
|
-
"hash": "sha256-
|
|
177
|
+
"hash": "sha256-PihHBHk/uBhyozFJeiUdN/9yWB4aXkeUnoHg1Fjuiik=",
|
|
174
178
|
"url": "_content/MindExecution.Shared/js/mind-map-render-plan.js"
|
|
175
179
|
},
|
|
176
180
|
{
|
|
@@ -434,44 +438,44 @@ self.assetsManifest = {
|
|
|
434
438
|
"url": "_framework/MimeMapping.og9ys58ylm.dll"
|
|
435
439
|
},
|
|
436
440
|
{
|
|
437
|
-
"hash": "sha256-
|
|
438
|
-
"url": "_framework/MindExecution.Core.
|
|
441
|
+
"hash": "sha256-B33cTW2KC7j+nxxSkwA1KD3qCGmLk7qH0DvEMA+qPCk=",
|
|
442
|
+
"url": "_framework/MindExecution.Core.psrddqi3mi.dll"
|
|
439
443
|
},
|
|
440
444
|
{
|
|
441
|
-
"hash": "sha256
|
|
442
|
-
"url": "_framework/MindExecution.Kernel.
|
|
445
|
+
"hash": "sha256-+jWRYJUSZg/+/yuEpHFeoW05bwhQq+1uJ519QRLal6o=",
|
|
446
|
+
"url": "_framework/MindExecution.Kernel.emus4f6jja.dll"
|
|
443
447
|
},
|
|
444
448
|
{
|
|
445
|
-
"hash": "sha256-
|
|
446
|
-
"url": "_framework/MindExecution.Plugins.Admin.
|
|
449
|
+
"hash": "sha256-us79gHGdEtfuUIlKqMmJZFbHE9sB+OBzsGgiaOIJCGk=",
|
|
450
|
+
"url": "_framework/MindExecution.Plugins.Admin.q3gz9b4wp8.dll"
|
|
447
451
|
},
|
|
448
452
|
{
|
|
449
|
-
"hash": "sha256-
|
|
450
|
-
"url": "_framework/MindExecution.Plugins.Business.
|
|
453
|
+
"hash": "sha256-mfINIgO0Jb1B9JNJVuBjGebWdT05+X1WusarZ0UhC2E=",
|
|
454
|
+
"url": "_framework/MindExecution.Plugins.Business.dr4m9mbnc5.dll"
|
|
451
455
|
},
|
|
452
456
|
{
|
|
453
|
-
"hash": "sha256-
|
|
454
|
-
"url": "_framework/MindExecution.Plugins.Concept.
|
|
457
|
+
"hash": "sha256-gw0HIuC4xerbOv3GbS/66kRPU98Hzo5oWVC7BCFig3A=",
|
|
458
|
+
"url": "_framework/MindExecution.Plugins.Concept.xzrzi61p7e.dll"
|
|
455
459
|
},
|
|
456
460
|
{
|
|
457
|
-
"hash": "sha256-
|
|
458
|
-
"url": "_framework/MindExecution.Plugins.Directory.
|
|
461
|
+
"hash": "sha256-T1ay20LkWJDPggiQ1ws5h0f6e34xLCmQV3qXVsMZIHc=",
|
|
462
|
+
"url": "_framework/MindExecution.Plugins.Directory.hcbtf3n8w7.dll"
|
|
459
463
|
},
|
|
460
464
|
{
|
|
461
|
-
"hash": "sha256-
|
|
462
|
-
"url": "_framework/MindExecution.Plugins.PlanMaster.
|
|
465
|
+
"hash": "sha256-wa5PyOU/QkpFcW0/wiNbtYjtEIOtkqfuqaQsVeAMXBk=",
|
|
466
|
+
"url": "_framework/MindExecution.Plugins.PlanMaster.1w09epz56f.dll"
|
|
463
467
|
},
|
|
464
468
|
{
|
|
465
|
-
"hash": "sha256-
|
|
466
|
-
"url": "_framework/MindExecution.Plugins.YouTube.
|
|
469
|
+
"hash": "sha256-rbRIYqL6wVvLLLHmkDp3ct+dVjUGw7mW8bn3c30SvuA=",
|
|
470
|
+
"url": "_framework/MindExecution.Plugins.YouTube.7vjbulgfo8.dll"
|
|
467
471
|
},
|
|
468
472
|
{
|
|
469
|
-
"hash": "sha256-
|
|
470
|
-
"url": "_framework/MindExecution.Shared.
|
|
473
|
+
"hash": "sha256-UfqtUG6XriHJTwSc8E0LUD65HYeTJxSedYz4UZl8dg8=",
|
|
474
|
+
"url": "_framework/MindExecution.Shared.zj2n1axexl.dll"
|
|
471
475
|
},
|
|
472
476
|
{
|
|
473
|
-
"hash": "sha256-
|
|
474
|
-
"url": "_framework/MindExecution.Web.
|
|
477
|
+
"hash": "sha256-9wQB1wuAG+0sMQV1UZOybyqGSWmQyBMyMxJrHwpQFp4=",
|
|
478
|
+
"url": "_framework/MindExecution.Web.z1np8j1qu6.dll"
|
|
475
479
|
},
|
|
476
480
|
{
|
|
477
481
|
"hash": "sha256-IsZJ91/OW+fHzNqIgEc7Y072ns8z9dGritiSyvR9Wgc=",
|
|
@@ -790,7 +794,7 @@ self.assetsManifest = {
|
|
|
790
794
|
"url": "_framework/Websocket.Client.vapounvmnl.dll"
|
|
791
795
|
},
|
|
792
796
|
{
|
|
793
|
-
"hash": "sha256-
|
|
797
|
+
"hash": "sha256-yveVWUW29Nw/d1qRdB9Q6r3BjTMpqnEkjEhqwMxzaI4=",
|
|
794
798
|
"url": "_framework/blazor.boot.json"
|
|
795
799
|
},
|
|
796
800
|
{
|
|
@@ -866,7 +870,7 @@ self.assetsManifest = {
|
|
|
866
870
|
"url": "icon-512.png"
|
|
867
871
|
},
|
|
868
872
|
{
|
|
869
|
-
"hash": "sha256-
|
|
873
|
+
"hash": "sha256-9dWOZC5NL0BDx5c/eCMKiBn/zJYlPtkAemjcgPyZeK8=",
|
|
870
874
|
"url": "index.html"
|
|
871
875
|
},
|
|
872
876
|
{
|
|
Binary file
|
|
Binary file
|