@mindexec/cli 0.2.467 → 0.2.469
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 +7 -7
- 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/wwwroot/_content/MindExecution.Shared/js/mind-map-core.js +39 -11
- package/wwwroot/_content/MindExecution.Shared/js/mind-map-css3d-manager.js +40 -2
- package/wwwroot/_content/MindExecution.Shared/js/mind-map-image-policy.js +207 -0
- package/wwwroot/_content/MindExecution.Shared/js/mind-map-interactions.js +3 -3
- package/wwwroot/_content/MindExecution.Shared/js/mind-map-pipeline.js +55 -7
- package/wwwroot/_framework/{MindExecution.Core.7oa1zr128r.dll → MindExecution.Core.rmpf5us73b.dll} +0 -0
- package/wwwroot/_framework/{MindExecution.Kernel.dqr12udjsr.dll → MindExecution.Kernel.jebho1txjn.dll} +0 -0
- package/wwwroot/_framework/{MindExecution.Plugins.Admin.6bt51zpdq7.dll → MindExecution.Plugins.Admin.vb2b525l5w.dll} +0 -0
- package/wwwroot/_framework/{MindExecution.Plugins.Business.e92nh6aw24.dll → MindExecution.Plugins.Business.g9svpf2ngw.dll} +0 -0
- package/wwwroot/_framework/{MindExecution.Plugins.Concept.z5rfp7c5gn.dll → MindExecution.Plugins.Concept.3g19y748j3.dll} +0 -0
- package/wwwroot/_framework/{MindExecution.Plugins.Directory.6qmfycdkxt.dll → MindExecution.Plugins.Directory.cb2k9u5952.dll} +0 -0
- package/wwwroot/_framework/{MindExecution.Plugins.PlanMaster.lbbov61zg3.dll → MindExecution.Plugins.PlanMaster.vsojs80h20.dll} +0 -0
- package/wwwroot/_framework/{MindExecution.Plugins.YouTube.7vjisvqu3j.dll → MindExecution.Plugins.YouTube.luk1dwf932.dll} +0 -0
- package/wwwroot/_framework/{MindExecution.Shared.ydgyfah35e.dll → MindExecution.Shared.cjavadsxis.dll} +0 -0
- package/wwwroot/_framework/{MindExecution.Web.b68gpm21e3.dll → MindExecution.Web.ratalb86xy.dll} +0 -0
- package/wwwroot/_framework/blazor.boot.json +21 -21
- package/wwwroot/index.html +2 -1
- package/wwwroot/service-worker-assets.js +31 -27
- package/wwwroot/service-worker.js +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mindexec/cli",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.469",
|
|
4
4
|
"description": "MindExec local runtime and bridge CLI",
|
|
5
5
|
"main": "server.js",
|
|
6
6
|
"type": "module",
|
|
@@ -36,12 +36,12 @@
|
|
|
36
36
|
"test:desktop:update": "node --test electron/update-manager-smoke.mjs electron/recurring-update-owner-smoke.mjs scripts/desktop-update-worker-smoke.mjs scripts/desktop-update-publisher-smoke.mjs",
|
|
37
37
|
"test:desktop": "node electron/source-smoke.mjs && node scripts/desktop-workspace-state-smoke.mjs && npm run test:desktop:update",
|
|
38
38
|
"test:desktop:win": "node electron/windows-package-smoke.mjs",
|
|
39
|
-
"test:syntax": "node --check server.js && node --check remote-hub.js && node --check lzo1x.js && node --check mode4-atlas.js && node --check mode4-atlas-worker.js && node --check codex-runtime.js && node --check codex-model-catalog.js && node --check launch-bridge.cjs && node --check port-guard.cjs && node --check desktop-workspace-state.cjs && node --check electron/main.cjs && node --check electron/preload.cjs && node --check electron/update-manager.cjs && node --check electron/update-feed-resolver.cjs && node --check electron/recurring-update-owner.cjs && node --check electron/source-smoke.mjs && node --check electron/windows-package-smoke.mjs && node --check electron/update-manager-smoke.mjs && node --check electron/recurring-update-owner-smoke.mjs && node --check scripts/desktop-workspace-state-smoke.mjs && node --check scripts/desktop-update-worker-smoke.mjs && node --check scripts/desktop-update-publisher-smoke.mjs && node --check scripts/board-render-ownership-smoke.mjs && node --check ../workers/mindexec-desktop-updates/src/index.mjs && node --check scripts/setup-tree-sitter-grammars.mjs && node --check scripts/npm-fresh-install-smoke.mjs && node --check scripts/auth-session-smoke.mjs && node --check scripts/codex-model-catalog-smoke.mjs && node --check scripts/codex-sdk-runtime-smoke.mjs && node --check scripts/codex-sdk-image-runtime-smoke.mjs && node --check scripts/codex-sdk-image-live-smoke.mjs && node --check scripts/codex-runtime-home-smoke.mjs && node --check scripts/remote-hub-smoke.mjs && node --check scripts/remote-hub-scale-smoke.mjs && node --check scripts/remote-fleet-render-smoke.mjs && node --check scripts/remote-http-smoke.mjs && node --check scripts/remote-frame-ws-smoke.mjs && node --check scripts/remote-input-ws-smoke.mjs && node --check scripts/remote-agent-ws-smoke.mjs && node --check scripts/remote-agent-managed-smoke.mjs && node --check scripts/remote-registry-follower-smoke.mjs && node --check scripts/remote-agent-package-smoke.mjs && node --check scripts/remote-fast-live-rate-smoke.mjs && node --check scripts/remote-fast-mdm-browser-smoke.mjs",
|
|
40
|
-
"test:canvas:board-owner": "node scripts/board-render-ownership-smoke.mjs",
|
|
41
|
-
"test:codex-sdk": "node scripts/codex-sdk-runtime-smoke.mjs",
|
|
42
|
-
"test:codex-sdk:image": "node scripts/codex-sdk-image-runtime-smoke.mjs",
|
|
43
|
-
"test:codex-sdk:image:live": "node scripts/codex-sdk-image-live-smoke.mjs --live",
|
|
44
|
-
"test:codex-sdk:home": "node scripts/codex-runtime-home-smoke.mjs",
|
|
39
|
+
"test:syntax": "node --check server.js && node --check remote-hub.js && node --check lzo1x.js && node --check mode4-atlas.js && node --check mode4-atlas-worker.js && node --check codex-runtime.js && node --check codex-model-catalog.js && node --check launch-bridge.cjs && node --check port-guard.cjs && node --check desktop-workspace-state.cjs && node --check electron/main.cjs && node --check electron/preload.cjs && node --check electron/update-manager.cjs && node --check electron/update-feed-resolver.cjs && node --check electron/recurring-update-owner.cjs && node --check electron/source-smoke.mjs && node --check electron/windows-package-smoke.mjs && node --check electron/update-manager-smoke.mjs && node --check electron/recurring-update-owner-smoke.mjs && node --check scripts/desktop-workspace-state-smoke.mjs && node --check scripts/desktop-update-worker-smoke.mjs && node --check scripts/desktop-update-publisher-smoke.mjs && node --check scripts/board-render-ownership-smoke.mjs && node --check ../workers/mindexec-desktop-updates/src/index.mjs && node --check scripts/setup-tree-sitter-grammars.mjs && node --check scripts/npm-fresh-install-smoke.mjs && node --check scripts/auth-session-smoke.mjs && node --check scripts/codex-model-catalog-smoke.mjs && node --check scripts/codex-sdk-runtime-smoke.mjs && node --check scripts/codex-sdk-image-runtime-smoke.mjs && node --check scripts/codex-sdk-image-live-smoke.mjs && node --check scripts/codex-runtime-home-smoke.mjs && node --check scripts/remote-hub-smoke.mjs && node --check scripts/remote-hub-scale-smoke.mjs && node --check scripts/remote-fleet-render-smoke.mjs && node --check scripts/remote-http-smoke.mjs && node --check scripts/remote-frame-ws-smoke.mjs && node --check scripts/remote-input-ws-smoke.mjs && node --check scripts/remote-agent-ws-smoke.mjs && node --check scripts/remote-agent-managed-smoke.mjs && node --check scripts/remote-registry-follower-smoke.mjs && node --check scripts/remote-agent-package-smoke.mjs && node --check scripts/remote-fast-live-rate-smoke.mjs && node --check scripts/remote-fast-mdm-browser-smoke.mjs",
|
|
40
|
+
"test:canvas:board-owner": "node scripts/board-render-ownership-smoke.mjs",
|
|
41
|
+
"test:codex-sdk": "node scripts/codex-sdk-runtime-smoke.mjs",
|
|
42
|
+
"test:codex-sdk:image": "node scripts/codex-sdk-image-runtime-smoke.mjs",
|
|
43
|
+
"test:codex-sdk:image:live": "node scripts/codex-sdk-image-live-smoke.mjs --live",
|
|
44
|
+
"test:codex-sdk:home": "node scripts/codex-runtime-home-smoke.mjs",
|
|
45
45
|
"test:codex-sdk:live": "node scripts/codex-sdk-runtime-smoke.mjs --live",
|
|
46
46
|
"test:codex-sdk:live-tools": "node scripts/codex-sdk-runtime-smoke.mjs --live-tools",
|
|
47
47
|
"test:codex-model-catalog": "node scripts/codex-model-catalog-smoke.mjs",
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -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 = '20260819-grid-zoom-density-sync-v868';
|
|
9
9
|
const CanvasPhase = Object.freeze({
|
|
10
10
|
Booting: 'booting',
|
|
11
11
|
BoardFileLoading: 'board-file-loading',
|
|
@@ -112,6 +112,8 @@
|
|
|
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_MINOR_DETAIL_FADE_START_PX = 1.25;
|
|
116
|
+
const LOCAL_SNAP_GRID_MINOR_DETAIL_FADE_END_PX = 2.25;
|
|
115
117
|
const LOCAL_SNAP_GRID_DEFAULT_STEP_PX = 10;
|
|
116
118
|
const LOCAL_SNAP_GRID_DEFAULT_MAJOR_STEP_PX = 100;
|
|
117
119
|
const LOCAL_SNAP_GRID_DEFAULT_OPACITY = 0.58;
|
|
@@ -3693,6 +3695,18 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
3693
3695
|
};
|
|
3694
3696
|
}
|
|
3695
3697
|
|
|
3698
|
+
_resolveLocalSnapGridMinorDetailAlpha(smallStepPx) {
|
|
3699
|
+
const projectedStep = Math.max(0, Number(smallStepPx) || 0);
|
|
3700
|
+
const fadeRange = Math.max(
|
|
3701
|
+
Number.EPSILON,
|
|
3702
|
+
LOCAL_SNAP_GRID_MINOR_DETAIL_FADE_END_PX - LOCAL_SNAP_GRID_MINOR_DETAIL_FADE_START_PX
|
|
3703
|
+
);
|
|
3704
|
+
return Math.max(0, Math.min(
|
|
3705
|
+
1,
|
|
3706
|
+
(projectedStep - LOCAL_SNAP_GRID_MINOR_DETAIL_FADE_START_PX) / fadeRange
|
|
3707
|
+
));
|
|
3708
|
+
}
|
|
3709
|
+
|
|
3696
3710
|
_getLocalSnapGridStyleKind() {
|
|
3697
3711
|
const themeName = String(this.currentThemeName || '').trim();
|
|
3698
3712
|
return themeName === 'SpatialGrid2D' ? 'dot' : 'line';
|
|
@@ -3717,6 +3731,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
3717
3731
|
)
|
|
3718
3732
|
);
|
|
3719
3733
|
const tileSize = Math.max(1, majorStep);
|
|
3734
|
+
const minorDetailAlpha = this._resolveLocalSnapGridMinorDetailAlpha(smallStep);
|
|
3720
3735
|
const viewportDpr = Math.max(1, Math.min(3, Number(this._lastViewportDpr || window.devicePixelRatio || 1)));
|
|
3721
3736
|
const bitmapSize = Math.max(1, Math.ceil(tileSize * viewportDpr));
|
|
3722
3737
|
if (canvas.width !== bitmapSize) {
|
|
@@ -3730,8 +3745,8 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
3730
3745
|
ctx.clearRect(0, 0, tileSize, tileSize);
|
|
3731
3746
|
|
|
3732
3747
|
if (styleKind === 'dot') {
|
|
3733
|
-
if (
|
|
3734
|
-
ctx.fillStyle =
|
|
3748
|
+
if (minorDetailAlpha > 0.001) {
|
|
3749
|
+
ctx.fillStyle = `rgba(58, 69, 88, ${(0.68 * minorDetailAlpha).toFixed(3)})`;
|
|
3735
3750
|
const dotRadius = 1.2;
|
|
3736
3751
|
for (let y = 0; y < tileSize; y += smallStep) {
|
|
3737
3752
|
for (let x = 0; x < tileSize; x += smallStep) {
|
|
@@ -3764,7 +3779,13 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
3764
3779
|
ctx.stroke();
|
|
3765
3780
|
};
|
|
3766
3781
|
|
|
3767
|
-
|
|
3782
|
+
if (minorDetailAlpha > 0.001) {
|
|
3783
|
+
drawLines(
|
|
3784
|
+
smallStep,
|
|
3785
|
+
`rgba(51, 65, 85, ${(0.24 * minorDetailAlpha).toFixed(3)})`,
|
|
3786
|
+
1
|
|
3787
|
+
);
|
|
3788
|
+
}
|
|
3768
3789
|
drawLines(majorStep, 'rgba(15, 23, 42, 0.42)', 1);
|
|
3769
3790
|
}
|
|
3770
3791
|
return tileSize;
|
|
@@ -3807,7 +3828,8 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
3807
3828
|
].join('|');
|
|
3808
3829
|
const smallStepValue = safeSmallStep.toFixed(3);
|
|
3809
3830
|
const majorStepValue = safeMajorStep.toFixed(3);
|
|
3810
|
-
const
|
|
3831
|
+
const minorDetailAlpha = this._resolveLocalSnapGridMinorDetailAlpha(safeSmallStep);
|
|
3832
|
+
const showMinorDots = minorDetailAlpha > 0.001;
|
|
3811
3833
|
const backgroundSizeValue = safeStyleKind === 'dot'
|
|
3812
3834
|
? (showMinorDots
|
|
3813
3835
|
? `${majorStepValue}px ${majorStepValue}px, ${smallStepValue}px ${smallStepValue}px`
|
|
@@ -3829,7 +3851,8 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
3829
3851
|
this._lastLocalSnapGridOpacity = opacityValue;
|
|
3830
3852
|
if (safeStyleKind === 'dot') {
|
|
3831
3853
|
const majorDot = 'radial-gradient(circle at 0 0, rgba(15, 23, 42, 0.82) 0 1.9px, transparent 2px)';
|
|
3832
|
-
const
|
|
3854
|
+
const minorDotAlphaValue = (0.68 * minorDetailAlpha).toFixed(3);
|
|
3855
|
+
const minorDot = `radial-gradient(circle at 0 0, rgba(58, 69, 88, ${minorDotAlphaValue}) 0 1.2px, transparent 1.3px)`;
|
|
3833
3856
|
const backgroundImage = showMinorDots ? `${majorDot}, ${minorDot}` : majorDot;
|
|
3834
3857
|
this._lastLocalSnapGridKey = localGridKey;
|
|
3835
3858
|
this._lastLocalSnapGridPatternPeriodPx = safeMajorStep;
|
|
@@ -3882,6 +3905,8 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
3882
3905
|
const safeOpacity = Math.max(0, Math.min(0.68, Number(opacity) || 0));
|
|
3883
3906
|
const smallStepValue = safeSmallStep.toFixed(3);
|
|
3884
3907
|
const majorStepValue = safeMajorStep.toFixed(3);
|
|
3908
|
+
const minorDetailAlpha = this._resolveLocalSnapGridMinorDetailAlpha(safeSmallStep);
|
|
3909
|
+
const minorLineAlphaValue = (0.24 * minorDetailAlpha).toFixed(3);
|
|
3885
3910
|
const backgroundSizeValue = [
|
|
3886
3911
|
`${smallStepValue}px ${smallStepValue}px`,
|
|
3887
3912
|
`${smallStepValue}px ${smallStepValue}px`,
|
|
@@ -3889,8 +3914,8 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
3889
3914
|
`${majorStepValue}px ${majorStepValue}px`
|
|
3890
3915
|
].join(', ');
|
|
3891
3916
|
const backgroundImage = [
|
|
3892
|
-
|
|
3893
|
-
|
|
3917
|
+
`linear-gradient(to right, rgba(51, 65, 85, ${minorLineAlphaValue}) 0 1px, transparent 1px)`,
|
|
3918
|
+
`linear-gradient(to bottom, rgba(51, 65, 85, ${minorLineAlphaValue}) 0 1px, transparent 1px)`,
|
|
3894
3919
|
'linear-gradient(to right, rgba(15, 23, 42, 0.42) 0 1px, transparent 1px)',
|
|
3895
3920
|
'linear-gradient(to bottom, rgba(15, 23, 42, 0.42) 0 1px, transparent 1px)'
|
|
3896
3921
|
].join(', ');
|
|
@@ -4076,12 +4101,15 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
4076
4101
|
return false;
|
|
4077
4102
|
}
|
|
4078
4103
|
|
|
4104
|
+
const shouldRefreshDeferredZoomProjection =
|
|
4105
|
+
this.isZooming === true ||
|
|
4106
|
+
this._localSnapGridStyleDeferredForZoom === true;
|
|
4079
4107
|
if (!this._localSnapGridLayer?.isConnected || !this._lastLocalSnapGridKey) {
|
|
4080
4108
|
const layer = this._ensureLocalSnapGridLayer();
|
|
4081
4109
|
if (!layer) {
|
|
4082
4110
|
return false;
|
|
4083
4111
|
}
|
|
4084
|
-
if (
|
|
4112
|
+
if (shouldRefreshDeferredZoomProjection === true) {
|
|
4085
4113
|
this._ensureLocalSnapGridBaseStyle(layer);
|
|
4086
4114
|
} else {
|
|
4087
4115
|
return this._syncLocalSnapGridLayer(visible);
|
|
@@ -4104,14 +4132,14 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
4104
4132
|
return false;
|
|
4105
4133
|
}
|
|
4106
4134
|
const styleKind = this._getLocalSnapGridStyleKind();
|
|
4107
|
-
if (
|
|
4135
|
+
if (shouldRefreshDeferredZoomProjection === true && styleKind === 'dot') {
|
|
4108
4136
|
const vfov = (Number(this.camera?.fov || 45) * Math.PI) / 180;
|
|
4109
4137
|
const pxPerWorld = height / Math.max(1, 2 * Math.tan(vfov / 2) * cameraZ);
|
|
4110
4138
|
const projection = this._resolveLocalSnapGridWorldStep(pxPerWorld);
|
|
4111
4139
|
this._applyLocalSnapGridStyle(
|
|
4112
4140
|
layer, styleKind, projection.smallStepPx, projection.majorStepPx, opacity);
|
|
4113
4141
|
this._localSnapGridStyleDeferredForZoom = false;
|
|
4114
|
-
} else if (
|
|
4142
|
+
} else if (shouldRefreshDeferredZoomProjection === true) {
|
|
4115
4143
|
const vfov = (Number(this.camera?.fov || 45) * Math.PI) / 180;
|
|
4116
4144
|
const pxPerWorld = height / Math.max(1, 2 * Math.tan(vfov / 2) * cameraZ);
|
|
4117
4145
|
const projection = this._resolveLocalSnapGridWorldStep(pxPerWorld);
|
|
@@ -1720,6 +1720,17 @@
|
|
|
1720
1720
|
_cssImagePreviewHoldUntil = getCssImagePromotionNow() + getPostLoadCssImagePreviewHoldMs(activeModule);
|
|
1721
1721
|
clearCssImagePromotionQueue();
|
|
1722
1722
|
_cssImagePromotionProcessing = false;
|
|
1723
|
+
activeModule?.nodeObjectsById?.forEach?.((entry, nodeId) => {
|
|
1724
|
+
if (window.MindMapImagePolicy?.isGeneratedImageNodeModel?.(entry?.model) === true) {
|
|
1725
|
+
enqueueCssImagePromotion(nodeId);
|
|
1726
|
+
}
|
|
1727
|
+
});
|
|
1728
|
+
if (_cssImagePromotionQueue.length > 0) {
|
|
1729
|
+
scheduleCssImagePromotionPump(
|
|
1730
|
+
activeModule,
|
|
1731
|
+
Math.max(16, Math.ceil(_cssImagePreviewHoldUntil - getCssImagePromotionNow()))
|
|
1732
|
+
);
|
|
1733
|
+
}
|
|
1723
1734
|
}
|
|
1724
1735
|
|
|
1725
1736
|
function getCssMediaMetadata(nodeModel) {
|
|
@@ -1783,6 +1794,13 @@
|
|
|
1783
1794
|
return responseUrl || originalUrl;
|
|
1784
1795
|
}
|
|
1785
1796
|
|
|
1797
|
+
const generatedOriginalUrl = normalizeCssMediaUrl(
|
|
1798
|
+
window.MindMapImagePolicy?.getGeneratedImageOriginalReference?.(nodeModel, assetUrls) || ''
|
|
1799
|
+
);
|
|
1800
|
+
if (generatedOriginalUrl) {
|
|
1801
|
+
return generatedOriginalUrl;
|
|
1802
|
+
}
|
|
1803
|
+
|
|
1786
1804
|
return previewUrl || responseUrl || originalUrl;
|
|
1787
1805
|
}
|
|
1788
1806
|
|
|
@@ -4182,12 +4200,19 @@
|
|
|
4182
4200
|
if (!mediaEl || contentTypeLower !== 'image') return;
|
|
4183
4201
|
if (options.bypassPreviewHold !== true && shouldPreferCssImagePreviewSource(nodeModel)) return;
|
|
4184
4202
|
const forceAnimatedGifOriginal = isAnimatedGifCssImageNode(nodeModel);
|
|
4185
|
-
if (options.forceOriginal !== true && !forceAnimatedGifOriginal && !shouldPromoteCssImageOriginal(nodeModel)) return;
|
|
4186
4203
|
|
|
4187
4204
|
const assetUrls = window.MindMapNodes?.getNodeImageAssetUrls?.(nodeModel) || null;
|
|
4205
|
+
const generatedOriginalReference = normalizeCssMediaUrl(
|
|
4206
|
+
window.MindMapImagePolicy?.getGeneratedImageOriginalReference?.(nodeModel, assetUrls) || ''
|
|
4207
|
+
);
|
|
4208
|
+
if (options.forceOriginal !== true
|
|
4209
|
+
&& !forceAnimatedGifOriginal
|
|
4210
|
+
&& !generatedOriginalReference
|
|
4211
|
+
&& !shouldPromoteCssImageOriginal(nodeModel)) return;
|
|
4188
4212
|
const metadata = getCssMediaMetadata(nodeModel);
|
|
4189
4213
|
const originalUrl = normalizeCssMediaUrl(
|
|
4190
|
-
|
|
4214
|
+
generatedOriginalReference
|
|
4215
|
+
|| assetUrls?.fullResUrl
|
|
4191
4216
|
|| assetUrls?.originalUrl
|
|
4192
4217
|
|| metadata?.OriginalUrl
|
|
4193
4218
|
|| metadata?.originalUrl
|
|
@@ -4206,6 +4231,11 @@
|
|
|
4206
4231
|
isThumbnailCssMediaUrl(currentSource)
|
|
4207
4232
|
) {
|
|
4208
4233
|
mediaEl.dataset.assetRefreshAttempted = '';
|
|
4234
|
+
if (generatedOriginalReference) {
|
|
4235
|
+
console.info('[MindMapCss3DManager] Promoting generated image preview to original', {
|
|
4236
|
+
nodeId: String(nodeModel?.id ?? nodeModel?.Id ?? '')
|
|
4237
|
+
});
|
|
4238
|
+
}
|
|
4209
4239
|
void setCssImageElementSource(mediaEl, nodeModel, originalUrl);
|
|
4210
4240
|
}
|
|
4211
4241
|
return;
|
|
@@ -4223,6 +4253,11 @@
|
|
|
4223
4253
|
if (mediaEl.dataset.originalResolveAttempted === '1') return;
|
|
4224
4254
|
|
|
4225
4255
|
mediaEl.dataset.originalResolveAttempted = '1';
|
|
4256
|
+
if (generatedOriginalReference) {
|
|
4257
|
+
console.info('[MindMapCss3DManager] Resolving generated image original after preview', {
|
|
4258
|
+
nodeId: String(nodeModel?.id ?? nodeModel?.Id ?? '')
|
|
4259
|
+
});
|
|
4260
|
+
}
|
|
4226
4261
|
void tryRefreshCssMediaSource(mediaEl, nodeModel, contentTypeLower);
|
|
4227
4262
|
}
|
|
4228
4263
|
|
|
@@ -4362,6 +4397,9 @@
|
|
|
4362
4397
|
isCssImagePreviewHoldActive() ||
|
|
4363
4398
|
isCssImagePromotionInteractionActive(activeModule);
|
|
4364
4399
|
if (shouldQueuePromotion) {
|
|
4400
|
+
if (window.MindMapImagePolicy?.isGeneratedImageNodeModel?.(entry.model) === true) {
|
|
4401
|
+
enqueueCssImagePromotion(nodeId);
|
|
4402
|
+
}
|
|
4365
4403
|
return;
|
|
4366
4404
|
}
|
|
4367
4405
|
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
(function () {
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
const BUILD_ID = '20260819-image-original-resize-v1';
|
|
5
|
+
|
|
6
|
+
function normalizeContentType(nodeModel) {
|
|
7
|
+
return String(nodeModel?.contentType ?? nodeModel?.ContentType ?? '').trim().toLowerCase();
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
function getMetadata(nodeModel) {
|
|
11
|
+
return nodeModel?.metadata ?? nodeModel?.Metadata ?? {};
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function getMetadataValue(metadata, ...keys) {
|
|
15
|
+
if (!metadata || typeof metadata !== 'object') return '';
|
|
16
|
+
|
|
17
|
+
for (const key of keys) {
|
|
18
|
+
const value = metadata[key];
|
|
19
|
+
if (value !== undefined && value !== null && String(value).trim()) {
|
|
20
|
+
return String(value).trim();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const wanted = new Set(keys.map(key => String(key).toLowerCase()));
|
|
25
|
+
for (const [key, value] of Object.entries(metadata)) {
|
|
26
|
+
if (wanted.has(String(key).toLowerCase())
|
|
27
|
+
&& value !== undefined
|
|
28
|
+
&& value !== null
|
|
29
|
+
&& String(value).trim()) {
|
|
30
|
+
return String(value).trim();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return '';
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function toPositiveNumber(value) {
|
|
38
|
+
const numeric = Number(value);
|
|
39
|
+
return Number.isFinite(numeric) && numeric > 0 ? numeric : 0;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function ratioFromPair(width, height) {
|
|
43
|
+
const numericWidth = toPositiveNumber(width);
|
|
44
|
+
const numericHeight = toPositiveNumber(height);
|
|
45
|
+
if (!(numericWidth > 0 && numericHeight > 0)) return 0;
|
|
46
|
+
|
|
47
|
+
const ratio = numericWidth / numericHeight;
|
|
48
|
+
return Number.isFinite(ratio) && ratio >= 0.05 && ratio <= 20 ? ratio : 0;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function isGeneratedImageNodeModel(nodeModel) {
|
|
52
|
+
if (!nodeModel || normalizeContentType(nodeModel) !== 'image') return false;
|
|
53
|
+
|
|
54
|
+
const metadata = getMetadata(nodeModel);
|
|
55
|
+
const operation = getMetadataValue(
|
|
56
|
+
metadata,
|
|
57
|
+
'RequestedMediaOperation',
|
|
58
|
+
'requestedMediaOperation'
|
|
59
|
+
).toLowerCase();
|
|
60
|
+
|
|
61
|
+
return !!getMetadataValue(metadata, 'ImageGenerationProvider', 'imageGenerationProvider')
|
|
62
|
+
|| !!getMetadataValue(metadata, 'GeneratedImageSourceWidth', 'generatedImageSourceWidth')
|
|
63
|
+
|| !!getMetadataValue(metadata, 'GeneratedImageSourceHeight', 'generatedImageSourceHeight')
|
|
64
|
+
|| !!getMetadataValue(metadata, 'CodexImageQuality', 'codexImageQuality')
|
|
65
|
+
|| !!getMetadataValue(metadata, 'ImageRouterRevisedPrompt', 'imageRouterRevisedPrompt')
|
|
66
|
+
|| operation === 'text2image'
|
|
67
|
+
|| operation === 'image2image'
|
|
68
|
+
|| operation === 'inpaint';
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
function getGeneratedImageOriginalReference(nodeModel, assetUrls = null) {
|
|
72
|
+
if (!isGeneratedImageNodeModel(nodeModel)) return '';
|
|
73
|
+
|
|
74
|
+
const metadata = getMetadata(nodeModel);
|
|
75
|
+
const candidates = [
|
|
76
|
+
assetUrls?.fullResUrl,
|
|
77
|
+
assetUrls?.originalUrl,
|
|
78
|
+
assetUrls?.originalPath,
|
|
79
|
+
getMetadataValue(metadata, 'OriginalUrl', 'originalUrl'),
|
|
80
|
+
getMetadataValue(metadata, 'OriginalPath', 'originalPath')
|
|
81
|
+
];
|
|
82
|
+
|
|
83
|
+
for (const candidate of candidates) {
|
|
84
|
+
const normalized = String(candidate || '').trim();
|
|
85
|
+
if (normalized) return normalized;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
return '';
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
function getOriginalAspectRatio(nodeEntry, fallbackWidth = 0, fallbackHeight = 0) {
|
|
92
|
+
const nodeModel = nodeEntry?.model ?? nodeEntry;
|
|
93
|
+
if (!nodeModel || normalizeContentType(nodeModel) !== 'image') return 0;
|
|
94
|
+
|
|
95
|
+
const metadata = getMetadata(nodeModel);
|
|
96
|
+
const metadataPairs = [
|
|
97
|
+
[
|
|
98
|
+
getMetadataValue(metadata, 'GeneratedImageSourceWidth', 'generatedImageSourceWidth'),
|
|
99
|
+
getMetadataValue(metadata, 'GeneratedImageSourceHeight', 'generatedImageSourceHeight')
|
|
100
|
+
],
|
|
101
|
+
[
|
|
102
|
+
getMetadataValue(metadata, 'ImageIntrinsicWidth', 'imageIntrinsicWidth'),
|
|
103
|
+
getMetadataValue(metadata, 'ImageIntrinsicHeight', 'imageIntrinsicHeight')
|
|
104
|
+
]
|
|
105
|
+
];
|
|
106
|
+
|
|
107
|
+
for (const [width, height] of metadataPairs) {
|
|
108
|
+
const ratio = ratioFromPair(width, height);
|
|
109
|
+
if (ratio > 0) return ratio;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
const imageElement = nodeEntry?.cssObject?.element?.querySelector?.('img') || null;
|
|
113
|
+
const naturalRatio = ratioFromPair(
|
|
114
|
+
imageElement?.naturalWidth || imageElement?.width,
|
|
115
|
+
imageElement?.naturalHeight || imageElement?.height
|
|
116
|
+
);
|
|
117
|
+
if (naturalRatio > 0) return naturalRatio;
|
|
118
|
+
|
|
119
|
+
const generatedDisplayRatio = ratioFromPair(
|
|
120
|
+
getMetadataValue(metadata, 'GeneratedImageDisplayWidth', 'generatedImageDisplayWidth'),
|
|
121
|
+
getMetadataValue(metadata, 'GeneratedImageDisplayHeight', 'generatedImageDisplayHeight')
|
|
122
|
+
);
|
|
123
|
+
if (generatedDisplayRatio > 0) return generatedDisplayRatio;
|
|
124
|
+
|
|
125
|
+
return ratioFromPair(
|
|
126
|
+
fallbackWidth || nodeModel.width || nodeModel.Width,
|
|
127
|
+
fallbackHeight || nodeModel.height || nodeModel.Height
|
|
128
|
+
);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
function constrainBottomRightDimensions(
|
|
132
|
+
proposedWidth,
|
|
133
|
+
proposedHeight,
|
|
134
|
+
startWidth,
|
|
135
|
+
startHeight,
|
|
136
|
+
aspectRatio,
|
|
137
|
+
limits = {}) {
|
|
138
|
+
const ratio = toPositiveNumber(aspectRatio);
|
|
139
|
+
if (!(ratio > 0)) {
|
|
140
|
+
return {
|
|
141
|
+
width: Number(proposedWidth),
|
|
142
|
+
height: Number(proposedHeight),
|
|
143
|
+
aspectLocked: false
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
const minWidth = Math.max(1, toPositiveNumber(limits.minWidth) || 1);
|
|
148
|
+
const minHeight = Math.max(1, toPositiveNumber(limits.minHeight) || 1);
|
|
149
|
+
const maxWidth = Math.max(minWidth, toPositiveNumber(limits.maxWidth) || Number.MAX_SAFE_INTEGER);
|
|
150
|
+
const maxHeight = Math.max(minHeight, toPositiveNumber(limits.maxHeight) || Number.MAX_SAFE_INTEGER);
|
|
151
|
+
const width = Number(proposedWidth);
|
|
152
|
+
const height = Number(proposedHeight);
|
|
153
|
+
const initialWidth = Number(startWidth);
|
|
154
|
+
const initialHeight = Number(startHeight);
|
|
155
|
+
const widthMotion = Math.abs(width - initialWidth);
|
|
156
|
+
const heightMotionAsWidth = Math.abs(height - initialHeight) * ratio;
|
|
157
|
+
let targetHeight = widthMotion >= heightMotionAsWidth ? width / ratio : height;
|
|
158
|
+
|
|
159
|
+
const minimumLockedHeight = Math.max(minHeight, minWidth / ratio);
|
|
160
|
+
const maximumLockedHeight = Math.min(maxHeight, maxWidth / ratio);
|
|
161
|
+
targetHeight = Math.min(
|
|
162
|
+
Math.max(minimumLockedHeight, targetHeight),
|
|
163
|
+
Math.max(minimumLockedHeight, maximumLockedHeight)
|
|
164
|
+
);
|
|
165
|
+
|
|
166
|
+
return {
|
|
167
|
+
width: targetHeight * ratio,
|
|
168
|
+
height: targetHeight,
|
|
169
|
+
aspectLocked: true
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
function snapAspectLockedDimensions(width, height, aspectRatio, gridSize, limits = {}) {
|
|
174
|
+
const ratio = toPositiveNumber(aspectRatio);
|
|
175
|
+
const grid = toPositiveNumber(gridSize);
|
|
176
|
+
if (!(ratio > 0 && grid > 0)) {
|
|
177
|
+
return constrainBottomRightDimensions(width, height, width, height, ratio, limits);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
const snappedWidth = Math.max(grid, Math.round(Number(width) / grid) * grid);
|
|
181
|
+
const snappedHeight = Math.max(grid, Math.round(Number(height) / grid) * grid);
|
|
182
|
+
const proposedWidth = ratio >= 1 ? snappedWidth : snappedHeight * ratio;
|
|
183
|
+
const proposedHeight = ratio >= 1 ? snappedWidth / ratio : snappedHeight;
|
|
184
|
+
return constrainBottomRightDimensions(
|
|
185
|
+
proposedWidth,
|
|
186
|
+
proposedHeight,
|
|
187
|
+
proposedWidth,
|
|
188
|
+
proposedHeight,
|
|
189
|
+
ratio,
|
|
190
|
+
limits
|
|
191
|
+
);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
window.MindMapImagePolicy = {
|
|
195
|
+
build: BUILD_ID,
|
|
196
|
+
isGeneratedImageNodeModel,
|
|
197
|
+
getGeneratedImageOriginalReference,
|
|
198
|
+
getOriginalAspectRatio,
|
|
199
|
+
constrainBottomRightDimensions,
|
|
200
|
+
snapAspectLockedDimensions
|
|
201
|
+
};
|
|
202
|
+
|
|
203
|
+
window.MindCanvasBuildInfo?.registerPart?.('imagePolicy', BUILD_ID, {
|
|
204
|
+
generatedOriginalAfterLoad: true,
|
|
205
|
+
bottomRightAspectLock: true
|
|
206
|
+
});
|
|
207
|
+
})();
|
|
@@ -6477,9 +6477,9 @@ window.MindMapInteractions = (function () {
|
|
|
6477
6477
|
scheduleMotionWillChangeEnable(module);
|
|
6478
6478
|
}
|
|
6479
6479
|
}
|
|
6480
|
-
// Keep wheel zoom in the cheap
|
|
6481
|
-
// pointer has not moved. Exact
|
|
6482
|
-
//
|
|
6480
|
+
// Keep wheel zoom in the cheap projection-only local grid branch when
|
|
6481
|
+
// the pointer has not moved. Exact CSS periods remain current through
|
|
6482
|
+
// the no-input gap; only the crisp line raster waits for idle settle.
|
|
6483
6483
|
if (module._isLocalSnapGridThemeEnabled?.() === true ||
|
|
6484
6484
|
module._localSnapGridVisible === true ||
|
|
6485
6485
|
module._localSnapGridLayer?.isConnected === true) {
|
|
@@ -17,6 +17,8 @@
|
|
|
17
17
|
const ENABLE_WEBGL_GLOW = false;
|
|
18
18
|
const DEFAULT_MIN_NODE_WIDTH = 200;
|
|
19
19
|
const DEFAULT_MIN_NODE_HEIGHT = 100;
|
|
20
|
+
const MAX_NODE_WIDTH = 2000;
|
|
21
|
+
const MAX_NODE_HEIGHT = 4000;
|
|
20
22
|
const CSV_TABLE_CONTENT_TYPE = 'csv-table';
|
|
21
23
|
const CSV_TABLE_MIN_WIDTH = 320;
|
|
22
24
|
const CSV_TABLE_MIN_HEIGHT = 180;
|
|
@@ -1102,6 +1104,13 @@
|
|
|
1102
1104
|
w: nodeEntry.model.width || 400,
|
|
1103
1105
|
h: nodeEntry.model.height || 200
|
|
1104
1106
|
};
|
|
1107
|
+
module.resizeAspectRatio = corner === 'BR' && getNodeContentType(nodeEntry.model) === 'image'
|
|
1108
|
+
? Number(window.MindMapImagePolicy?.getOriginalAspectRatio?.(
|
|
1109
|
+
nodeEntry,
|
|
1110
|
+
module.resizeStartDimensions.w,
|
|
1111
|
+
module.resizeStartDimensions.h
|
|
1112
|
+
) || 0)
|
|
1113
|
+
: 0;
|
|
1105
1114
|
// Store initial position from the active render object (CSS/GL) to avoid
|
|
1106
1115
|
// image-node jumps when CSS and GL are slightly out of sync.
|
|
1107
1116
|
const activePos = module.resizeNodeObject?.position
|
|
@@ -1147,10 +1156,6 @@
|
|
|
1147
1156
|
|
|
1148
1157
|
function doResizing(module, currentX, currentY) {
|
|
1149
1158
|
if (!module.isResizing || !module.resizeNodeObject) return;
|
|
1150
|
-
// ▼▼▼ [Changed] Cap max node size: X=2000, Y=4000 ▼▼▼
|
|
1151
|
-
const MAX_NODE_WIDTH = 2000;
|
|
1152
|
-
const MAX_NODE_HEIGHT = 4000;
|
|
1153
|
-
// ▲▲▲ [Changed] ▲▲▲
|
|
1154
1159
|
|
|
1155
1160
|
const vfov = (module.camera.fov * Math.PI) / 180;
|
|
1156
1161
|
const viewHeight = 2 * Math.tan(vfov / 2) * module.camera.position.z;
|
|
@@ -1240,6 +1245,27 @@
|
|
|
1240
1245
|
break;
|
|
1241
1246
|
}
|
|
1242
1247
|
|
|
1248
|
+
const imageAspectRatio = corner === 'BR' && getNodeContentType(nodeEntry.model) === 'image'
|
|
1249
|
+
? Number(module.resizeAspectRatio || 0)
|
|
1250
|
+
: 0;
|
|
1251
|
+
if (imageAspectRatio > 0 && window.MindMapImagePolicy?.constrainBottomRightDimensions) {
|
|
1252
|
+
const lockedSize = window.MindMapImagePolicy.constrainBottomRightDimensions(
|
|
1253
|
+
finalWidth,
|
|
1254
|
+
finalHeight,
|
|
1255
|
+
startW,
|
|
1256
|
+
startH,
|
|
1257
|
+
imageAspectRatio,
|
|
1258
|
+
{
|
|
1259
|
+
minWidth: DEFAULT_MIN_NODE_WIDTH,
|
|
1260
|
+
minHeight: DEFAULT_MIN_NODE_HEIGHT,
|
|
1261
|
+
maxWidth: MAX_NODE_WIDTH,
|
|
1262
|
+
maxHeight: MAX_NODE_HEIGHT
|
|
1263
|
+
}
|
|
1264
|
+
);
|
|
1265
|
+
finalWidth = lockedSize.width;
|
|
1266
|
+
finalHeight = lockedSize.height;
|
|
1267
|
+
}
|
|
1268
|
+
|
|
1243
1269
|
// Clamp size
|
|
1244
1270
|
const minClampedSize = clampRemoteFleetResizeDimensions(nodeEntry.model, finalWidth, finalHeight);
|
|
1245
1271
|
let clampedWidth = Math.min(MAX_NODE_WIDTH, minClampedSize.width);
|
|
@@ -1844,13 +1870,34 @@
|
|
|
1844
1870
|
const currentPosY = nodeEntry.glObject?.position?.y ?? nodeEntry.cssObject?.position?.y ?? 0;
|
|
1845
1871
|
let finalPosX = currentPosX;
|
|
1846
1872
|
let finalPosY = currentPosY;
|
|
1873
|
+
const imageAspectRatio = module.resizeCorner === 'BR'
|
|
1874
|
+
&& getNodeContentType(nodeEntry.model) === 'image'
|
|
1875
|
+
? Number(module.resizeAspectRatio || 0)
|
|
1876
|
+
: 0;
|
|
1847
1877
|
|
|
1848
1878
|
// Respect global snap toggle. Resize itself stays free-form while dragging;
|
|
1849
1879
|
// snapping is applied only at the end when enabled.
|
|
1850
1880
|
if (module.gridSnapEnabled !== false) {
|
|
1851
1881
|
const GRID_SIZE = module.GRID_SIZE || 10;
|
|
1852
|
-
|
|
1853
|
-
|
|
1882
|
+
if (imageAspectRatio > 0 && window.MindMapImagePolicy?.snapAspectLockedDimensions) {
|
|
1883
|
+
const snappedSize = window.MindMapImagePolicy.snapAspectLockedDimensions(
|
|
1884
|
+
nodeEntry.model.width,
|
|
1885
|
+
nodeEntry.model.height,
|
|
1886
|
+
imageAspectRatio,
|
|
1887
|
+
GRID_SIZE,
|
|
1888
|
+
{
|
|
1889
|
+
minWidth: DEFAULT_MIN_NODE_WIDTH,
|
|
1890
|
+
minHeight: DEFAULT_MIN_NODE_HEIGHT,
|
|
1891
|
+
maxWidth: MAX_NODE_WIDTH,
|
|
1892
|
+
maxHeight: MAX_NODE_HEIGHT
|
|
1893
|
+
}
|
|
1894
|
+
);
|
|
1895
|
+
nodeEntry.model.width = snappedSize.width;
|
|
1896
|
+
nodeEntry.model.height = snappedSize.height;
|
|
1897
|
+
} else {
|
|
1898
|
+
nodeEntry.model.width = Math.round(nodeEntry.model.width / GRID_SIZE) * GRID_SIZE;
|
|
1899
|
+
nodeEntry.model.height = Math.round(nodeEntry.model.height / GRID_SIZE) * GRID_SIZE;
|
|
1900
|
+
}
|
|
1854
1901
|
finalPosX = Math.round(currentPosX / GRID_SIZE) * GRID_SIZE;
|
|
1855
1902
|
finalPosY = Math.round(currentPosY / GRID_SIZE) * GRID_SIZE;
|
|
1856
1903
|
}
|
|
@@ -2206,6 +2253,8 @@
|
|
|
2206
2253
|
module.isResizing = false;
|
|
2207
2254
|
module.resizeNodeObject = null;
|
|
2208
2255
|
module.resizingNodeId = null; // ▼▼▼ [Changed] clear resizingNodeId ▼▼▼
|
|
2256
|
+
module.resizeAspectRatio = 0;
|
|
2257
|
+
module.resizeCorner = null;
|
|
2209
2258
|
window.MindMapInteractions?.setBrowserSelectionLock?.(false, 'resize');
|
|
2210
2259
|
document.body.classList.remove('is-resizing');
|
|
2211
2260
|
|
|
@@ -2239,4 +2288,3 @@
|
|
|
2239
2288
|
|
|
2240
2289
|
console.log('? mind-map-pipeline.js loaded');
|
|
2241
2290
|
})();
|
|
2242
|
-
|
package/wwwroot/_framework/{MindExecution.Core.7oa1zr128r.dll → MindExecution.Core.rmpf5us73b.dll}
RENAMED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/wwwroot/_framework/{MindExecution.Web.b68gpm21e3.dll → MindExecution.Web.ratalb86xy.dll}
RENAMED
|
Binary file
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"mainAssemblyName": "MindExecution.Web",
|
|
3
3
|
"resources": {
|
|
4
|
-
"hash": "sha256-
|
|
4
|
+
"hash": "sha256-fgUfmB92eXnfCyKAVfkOCtGsUJUH3nDK+lE9oPLU4Wc=",
|
|
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.rmpf5us73b.dll": "MindExecution.Core.dll",
|
|
126
|
+
"MindExecution.Kernel.jebho1txjn.dll": "MindExecution.Kernel.dll",
|
|
127
|
+
"MindExecution.Plugins.Admin.vb2b525l5w.dll": "MindExecution.Plugins.Admin.dll",
|
|
128
|
+
"MindExecution.Plugins.Business.g9svpf2ngw.dll": "MindExecution.Plugins.Business.dll",
|
|
129
|
+
"MindExecution.Plugins.Concept.3g19y748j3.dll": "MindExecution.Plugins.Concept.dll",
|
|
130
|
+
"MindExecution.Plugins.Directory.cb2k9u5952.dll": "MindExecution.Plugins.Directory.dll",
|
|
131
|
+
"MindExecution.Plugins.PlanMaster.vsojs80h20.dll": "MindExecution.Plugins.PlanMaster.dll",
|
|
132
|
+
"MindExecution.Plugins.YouTube.luk1dwf932.dll": "MindExecution.Plugins.YouTube.dll",
|
|
133
|
+
"MindExecution.Shared.cjavadsxis.dll": "MindExecution.Shared.dll",
|
|
134
|
+
"MindExecution.Web.ratalb86xy.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.rmpf5us73b.dll": "sha256-gwxzUOyvnr1Q2UXzdu1H4SUeq3bbm3lXYe7/bd9860Y=",
|
|
280
|
+
"MindExecution.Kernel.jebho1txjn.dll": "sha256-+x+obc3kMnclHhP6m/z4jzqd+zXDZ+jhgLEVKKDs67Q=",
|
|
281
|
+
"MindExecution.Plugins.Business.g9svpf2ngw.dll": "sha256-1NUsUHFCUNBTMBFXIMbt6MAMqxzkl0AqrI4GPfqeer0=",
|
|
282
|
+
"MindExecution.Plugins.Concept.3g19y748j3.dll": "sha256-k42ltXSBo5RwkBrzyOgAHPemVl8Xw91c+gYrBRPrJyc=",
|
|
283
|
+
"MindExecution.Plugins.PlanMaster.vsojs80h20.dll": "sha256-TwC1ItzVv+J+5C905NOpLwCpJWohnmSIDhjbolLlHZc=",
|
|
284
|
+
"MindExecution.Shared.cjavadsxis.dll": "sha256-6BpxPPUmZVP/7Z2pCoBmAWA4azB1q6IXSnLs8X5+gsQ=",
|
|
285
|
+
"MindExecution.Web.ratalb86xy.dll": "sha256-0/ONjTN+Xx81nLs1yo2GRhtcTFFY1Ulm/keJQNfdDVU="
|
|
286
286
|
},
|
|
287
287
|
"lazyAssembly": {
|
|
288
|
-
"MindExecution.Plugins.Admin.
|
|
289
|
-
"MindExecution.Plugins.Directory.
|
|
290
|
-
"MindExecution.Plugins.YouTube.
|
|
288
|
+
"MindExecution.Plugins.Admin.vb2b525l5w.dll": "sha256-dSJHWimUTP/gn9qMwXWaZ7XXAkZFhezPGKIr7lags0o=",
|
|
289
|
+
"MindExecution.Plugins.Directory.cb2k9u5952.dll": "sha256-uLmsvR6Sg/EDXME2PWFTWw9l0b427MyIK0YydWybGDc=",
|
|
290
|
+
"MindExecution.Plugins.YouTube.luk1dwf932.dll": "sha256-zfyvtryHEQ8fLlaRPto9s9Y2vozH1qjOXhFy4CqFOx4="
|
|
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 = '20260819-
|
|
617
|
+
const scriptVersion = '20260819-image-original-resize-v977';
|
|
618
618
|
const scriptUrl = (script) => `${base}${script}?v=${scriptVersion}`;
|
|
619
619
|
console.log(`[Script Loader] Shared JS version: ${scriptVersion}`);
|
|
620
620
|
const criticalScripts = [
|
|
@@ -631,6 +631,7 @@
|
|
|
631
631
|
'mind-map-video-playback-controls.js',
|
|
632
632
|
'mind-map-remote-codecs.js',
|
|
633
633
|
'mind-map-css3d-hotpath.js',
|
|
634
|
+
'mind-map-image-policy.js',
|
|
634
635
|
'mind-map-css3d-manager.js',
|
|
635
636
|
'mind-map-object-manager.js',
|
|
636
637
|
'mind-map-pipeline.js',
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
self.assetsManifest = {
|
|
2
|
-
"version": "
|
|
2
|
+
"version": "/TO/XqZ0",
|
|
3
3
|
"assets": [
|
|
4
4
|
{
|
|
5
5
|
"hash": "sha256-+CSYMcqLNTsq3VnH11jgYyOCCdxvHzL74CBmo4sCmMU=",
|
|
@@ -86,7 +86,7 @@ self.assetsManifest = {
|
|
|
86
86
|
"url": "_content/MindExecution.Shared/js/mind-map-board-render-ownership.js"
|
|
87
87
|
},
|
|
88
88
|
{
|
|
89
|
-
"hash": "sha256
|
|
89
|
+
"hash": "sha256-HgjmwgtzGozTVfDzhgj9Nr2sjxwY+kL6DzQjGEIOZ8k=",
|
|
90
90
|
"url": "_content/MindExecution.Shared/js/mind-map-core.js"
|
|
91
91
|
},
|
|
92
92
|
{
|
|
@@ -98,7 +98,7 @@ self.assetsManifest = {
|
|
|
98
98
|
"url": "_content/MindExecution.Shared/js/mind-map-css3d-hotpath.js"
|
|
99
99
|
},
|
|
100
100
|
{
|
|
101
|
-
"hash": "sha256-
|
|
101
|
+
"hash": "sha256-pnzJc5Y0FgyQ8muctsOpK3jh7jpDz/NlicK8UOTimpI=",
|
|
102
102
|
"url": "_content/MindExecution.Shared/js/mind-map-css3d-manager.js"
|
|
103
103
|
},
|
|
104
104
|
{
|
|
@@ -118,7 +118,11 @@ self.assetsManifest = {
|
|
|
118
118
|
"url": "_content/MindExecution.Shared/js/mind-map-glow-shader.js"
|
|
119
119
|
},
|
|
120
120
|
{
|
|
121
|
-
"hash": "sha256-
|
|
121
|
+
"hash": "sha256-C8A7FBiE5Tab+Qxg8RUiuZatttPo4xCMgRzIzbpLzak=",
|
|
122
|
+
"url": "_content/MindExecution.Shared/js/mind-map-image-policy.js"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"hash": "sha256-5sVcWSPLCHmnvAYLsqBwno201net5gfRYOqtQLUXQZE=",
|
|
122
126
|
"url": "_content/MindExecution.Shared/js/mind-map-interactions.js"
|
|
123
127
|
},
|
|
124
128
|
{
|
|
@@ -166,7 +170,7 @@ self.assetsManifest = {
|
|
|
166
170
|
"url": "_content/MindExecution.Shared/js/mind-map-object-manager.js.backup"
|
|
167
171
|
},
|
|
168
172
|
{
|
|
169
|
-
"hash": "sha256-
|
|
173
|
+
"hash": "sha256-pHqW8QvxjoBSjP4026YppVd9hs3QlUePBbb9UCjFDZs=",
|
|
170
174
|
"url": "_content/MindExecution.Shared/js/mind-map-pipeline.js"
|
|
171
175
|
},
|
|
172
176
|
{
|
|
@@ -438,44 +442,44 @@ self.assetsManifest = {
|
|
|
438
442
|
"url": "_framework/MimeMapping.og9ys58ylm.dll"
|
|
439
443
|
},
|
|
440
444
|
{
|
|
441
|
-
"hash": "sha256-
|
|
442
|
-
"url": "_framework/MindExecution.Core.
|
|
445
|
+
"hash": "sha256-gwxzUOyvnr1Q2UXzdu1H4SUeq3bbm3lXYe7/bd9860Y=",
|
|
446
|
+
"url": "_framework/MindExecution.Core.rmpf5us73b.dll"
|
|
443
447
|
},
|
|
444
448
|
{
|
|
445
|
-
"hash": "sha256
|
|
446
|
-
"url": "_framework/MindExecution.Kernel.
|
|
449
|
+
"hash": "sha256-+x+obc3kMnclHhP6m/z4jzqd+zXDZ+jhgLEVKKDs67Q=",
|
|
450
|
+
"url": "_framework/MindExecution.Kernel.jebho1txjn.dll"
|
|
447
451
|
},
|
|
448
452
|
{
|
|
449
|
-
"hash": "sha256-
|
|
450
|
-
"url": "_framework/MindExecution.Plugins.Admin.
|
|
453
|
+
"hash": "sha256-dSJHWimUTP/gn9qMwXWaZ7XXAkZFhezPGKIr7lags0o=",
|
|
454
|
+
"url": "_framework/MindExecution.Plugins.Admin.vb2b525l5w.dll"
|
|
451
455
|
},
|
|
452
456
|
{
|
|
453
|
-
"hash": "sha256-
|
|
454
|
-
"url": "_framework/MindExecution.Plugins.Business.
|
|
457
|
+
"hash": "sha256-1NUsUHFCUNBTMBFXIMbt6MAMqxzkl0AqrI4GPfqeer0=",
|
|
458
|
+
"url": "_framework/MindExecution.Plugins.Business.g9svpf2ngw.dll"
|
|
455
459
|
},
|
|
456
460
|
{
|
|
457
|
-
"hash": "sha256-
|
|
458
|
-
"url": "_framework/MindExecution.Plugins.Concept.
|
|
461
|
+
"hash": "sha256-k42ltXSBo5RwkBrzyOgAHPemVl8Xw91c+gYrBRPrJyc=",
|
|
462
|
+
"url": "_framework/MindExecution.Plugins.Concept.3g19y748j3.dll"
|
|
459
463
|
},
|
|
460
464
|
{
|
|
461
|
-
"hash": "sha256-
|
|
462
|
-
"url": "_framework/MindExecution.Plugins.Directory.
|
|
465
|
+
"hash": "sha256-uLmsvR6Sg/EDXME2PWFTWw9l0b427MyIK0YydWybGDc=",
|
|
466
|
+
"url": "_framework/MindExecution.Plugins.Directory.cb2k9u5952.dll"
|
|
463
467
|
},
|
|
464
468
|
{
|
|
465
|
-
"hash": "sha256-
|
|
466
|
-
"url": "_framework/MindExecution.Plugins.PlanMaster.
|
|
469
|
+
"hash": "sha256-TwC1ItzVv+J+5C905NOpLwCpJWohnmSIDhjbolLlHZc=",
|
|
470
|
+
"url": "_framework/MindExecution.Plugins.PlanMaster.vsojs80h20.dll"
|
|
467
471
|
},
|
|
468
472
|
{
|
|
469
|
-
"hash": "sha256-
|
|
470
|
-
"url": "_framework/MindExecution.Plugins.YouTube.
|
|
473
|
+
"hash": "sha256-zfyvtryHEQ8fLlaRPto9s9Y2vozH1qjOXhFy4CqFOx4=",
|
|
474
|
+
"url": "_framework/MindExecution.Plugins.YouTube.luk1dwf932.dll"
|
|
471
475
|
},
|
|
472
476
|
{
|
|
473
|
-
"hash": "sha256-
|
|
474
|
-
"url": "_framework/MindExecution.Shared.
|
|
477
|
+
"hash": "sha256-6BpxPPUmZVP/7Z2pCoBmAWA4azB1q6IXSnLs8X5+gsQ=",
|
|
478
|
+
"url": "_framework/MindExecution.Shared.cjavadsxis.dll"
|
|
475
479
|
},
|
|
476
480
|
{
|
|
477
|
-
"hash": "sha256-
|
|
478
|
-
"url": "_framework/MindExecution.Web.
|
|
481
|
+
"hash": "sha256-0/ONjTN+Xx81nLs1yo2GRhtcTFFY1Ulm/keJQNfdDVU=",
|
|
482
|
+
"url": "_framework/MindExecution.Web.ratalb86xy.dll"
|
|
479
483
|
},
|
|
480
484
|
{
|
|
481
485
|
"hash": "sha256-IsZJ91/OW+fHzNqIgEc7Y072ns8z9dGritiSyvR9Wgc=",
|
|
@@ -794,7 +798,7 @@ self.assetsManifest = {
|
|
|
794
798
|
"url": "_framework/Websocket.Client.vapounvmnl.dll"
|
|
795
799
|
},
|
|
796
800
|
{
|
|
797
|
-
"hash": "sha256-
|
|
801
|
+
"hash": "sha256-OEzJUvajm6kUJUiSCb/eJl8DxcM5DS8gddgkufF6Y8A=",
|
|
798
802
|
"url": "_framework/blazor.boot.json"
|
|
799
803
|
},
|
|
800
804
|
{
|
|
@@ -870,7 +874,7 @@ self.assetsManifest = {
|
|
|
870
874
|
"url": "icon-512.png"
|
|
871
875
|
},
|
|
872
876
|
{
|
|
873
|
-
"hash": "sha256-
|
|
877
|
+
"hash": "sha256-42TjUxNh5O46JfoJIZXaZGb6w4b1+sYj0i+HCK5v3Zc=",
|
|
874
878
|
"url": "index.html"
|
|
875
879
|
},
|
|
876
880
|
{
|