@mindexec/cli 0.2.242 → 0.2.244
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 +59 -4
- package/wwwroot/_content/MindExecution.Shared/js/mind-map-css3d-manager.js +6 -0
- package/wwwroot/_content/MindExecution.Shared/js/mind-map-interactions.js +105 -50
- package/wwwroot/index.html +3 -3
- package/wwwroot/service-worker-assets.js +5 -5
- 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-edge-draft-hotpath-v691';
|
|
9
9
|
const CanvasPhase = Object.freeze({
|
|
10
10
|
Booting: 'booting',
|
|
11
11
|
BoardFileLoading: 'board-file-loading',
|
|
@@ -524,12 +524,18 @@
|
|
|
524
524
|
return false;
|
|
525
525
|
}
|
|
526
526
|
|
|
527
|
+
const hasDraftHint = module?._businessAutomationConnectionDraftActive === true;
|
|
528
|
+
if (hasActiveEdges !== true && hasDraftHint !== true) {
|
|
529
|
+
return false;
|
|
530
|
+
}
|
|
531
|
+
|
|
527
532
|
if (!window.MindMapCss3DManager) {
|
|
528
533
|
return false;
|
|
529
534
|
}
|
|
530
535
|
|
|
531
536
|
const hasConnectionDraft =
|
|
532
537
|
options.allowDraftRender === true &&
|
|
538
|
+
hasDraftHint === true &&
|
|
533
539
|
window.MindMapCss3DManager.hasBusinessAutomationConnectionDraft?.() === true;
|
|
534
540
|
if (hasActiveEdges !== true && hasConnectionDraft !== true) {
|
|
535
541
|
return false;
|
|
@@ -1635,7 +1641,7 @@
|
|
|
1635
1641
|
}
|
|
1636
1642
|
|
|
1637
1643
|
module._syncMotionGridLayerForCameraNavigation?.(usedWebglCanvasCameraTransform);
|
|
1638
|
-
module.
|
|
1644
|
+
module._syncLocalSnapGridPositionOnly?.(true);
|
|
1639
1645
|
module.cssRenderer.renderCamera(module.camera);
|
|
1640
1646
|
|
|
1641
1647
|
syncBusinessAutomationEdgesForCameraNavigation(module);
|
|
@@ -1855,7 +1861,7 @@
|
|
|
1855
1861
|
}
|
|
1856
1862
|
|
|
1857
1863
|
module._syncMotionGridLayerForCameraNavigation?.(usedWebglCanvasCameraTransform);
|
|
1858
|
-
module.
|
|
1864
|
+
module._syncLocalSnapGridPositionOnly?.(true);
|
|
1859
1865
|
if (canRenderCss3dCamera === true) {
|
|
1860
1866
|
module.cssRenderer.renderCamera(module.camera);
|
|
1861
1867
|
}
|
|
@@ -4082,6 +4088,52 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
4082
4088
|
return true;
|
|
4083
4089
|
}
|
|
4084
4090
|
|
|
4091
|
+
_syncLocalSnapGridPositionOnly(visible = true) {
|
|
4092
|
+
if (visible !== true || !this._isLocalSnapGridThemeEnabled()) {
|
|
4093
|
+
this._setLocalSnapGridVisible(false);
|
|
4094
|
+
return false;
|
|
4095
|
+
}
|
|
4096
|
+
|
|
4097
|
+
if (!this.container) {
|
|
4098
|
+
this._setLocalSnapGridVisible(false);
|
|
4099
|
+
return false;
|
|
4100
|
+
}
|
|
4101
|
+
|
|
4102
|
+
if (!this._localSnapGridLayer?.isConnected || !this._lastLocalSnapGridKey) {
|
|
4103
|
+
return this._syncLocalSnapGridLayer(visible);
|
|
4104
|
+
}
|
|
4105
|
+
|
|
4106
|
+
const layer = this._localSnapGridLayer;
|
|
4107
|
+
const viewportMetrics = getCachedViewportMetrics(this);
|
|
4108
|
+
const width = Math.max(1, Number(viewportMetrics.width || 0));
|
|
4109
|
+
const height = Math.max(1, Number(viewportMetrics.height || 0));
|
|
4110
|
+
const left = Number(viewportMetrics.left || 0);
|
|
4111
|
+
const top = Number(viewportMetrics.top || 0);
|
|
4112
|
+
const hasPointer =
|
|
4113
|
+
Number.isFinite(Number(this._lastSnapGridClientX)) &&
|
|
4114
|
+
Number.isFinite(Number(this._lastSnapGridClientY));
|
|
4115
|
+
const centerX = hasPointer
|
|
4116
|
+
? Math.max(0, Math.min(width, Number(this._lastSnapGridClientX) - left))
|
|
4117
|
+
: width / 2;
|
|
4118
|
+
const centerY = hasPointer
|
|
4119
|
+
? Math.max(0, Math.min(height, Number(this._lastSnapGridClientY) - top))
|
|
4120
|
+
: height / 2;
|
|
4121
|
+
const layerLeft = centerX - LOCAL_SNAP_GRID_RADIUS_PX;
|
|
4122
|
+
const layerTop = centerY - LOCAL_SNAP_GRID_RADIUS_PX;
|
|
4123
|
+
const transformKey = `${Math.round(layerLeft * 2)}|${Math.round(layerTop * 2)}`;
|
|
4124
|
+
|
|
4125
|
+
if (transformKey !== this._lastLocalSnapGridTransformKey) {
|
|
4126
|
+
this._lastLocalSnapGridTransformKey = transformKey;
|
|
4127
|
+
layer.style.transform = `translate3d(${layerLeft.toFixed(2)}px, ${layerTop.toFixed(2)}px, 0)`;
|
|
4128
|
+
}
|
|
4129
|
+
|
|
4130
|
+
if (this.isZooming === true) {
|
|
4131
|
+
this._localSnapGridStyleDeferredForZoom = true;
|
|
4132
|
+
}
|
|
4133
|
+
this._setLocalSnapGridVisible(true, this._lastLocalSnapGridOpacity || null);
|
|
4134
|
+
return true;
|
|
4135
|
+
}
|
|
4136
|
+
|
|
4085
4137
|
_ensureMotionGridLayer() {
|
|
4086
4138
|
if (!this.container) {
|
|
4087
4139
|
return null;
|
|
@@ -6538,6 +6590,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
6538
6590
|
}
|
|
6539
6591
|
}
|
|
6540
6592
|
this._syncMotionGridLayerForCameraNavigation(usedWebglCanvasCameraTransformImmediate);
|
|
6593
|
+
this._syncLocalSnapGridPositionOnly(true);
|
|
6541
6594
|
|
|
6542
6595
|
this.cssRenderer.renderCamera(this.camera);
|
|
6543
6596
|
const shouldSyncPassiveOverlayTransformDuringMotion =
|
|
@@ -6704,6 +6757,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
6704
6757
|
}
|
|
6705
6758
|
}
|
|
6706
6759
|
this._syncMotionGridLayerForCameraNavigation(usedWebglCanvasCameraTransformStationary);
|
|
6760
|
+
this._syncLocalSnapGridPositionOnly(true);
|
|
6707
6761
|
if (this.cssRenderer && typeof this.cssRenderer.renderCamera === 'function') {
|
|
6708
6762
|
this.cssRenderer.renderCamera(this.camera);
|
|
6709
6763
|
}
|
|
@@ -6885,6 +6939,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
6885
6939
|
}
|
|
6886
6940
|
}
|
|
6887
6941
|
|
|
6942
|
+
this._syncLocalSnapGridPositionOnly(true);
|
|
6888
6943
|
if (shouldRenderCss3dInLodForUaResidentCameraOnly === true) {
|
|
6889
6944
|
this.cssRenderer.renderCamera(this.camera);
|
|
6890
6945
|
}
|
|
@@ -8046,7 +8101,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
|
|
|
8046
8101
|
this._businessAutomationEdgeLayer?.isConnected
|
|
8047
8102
|
);
|
|
8048
8103
|
const hasBusinessAutomationConnectionDraft =
|
|
8049
|
-
|
|
8104
|
+
this._businessAutomationConnectionDraftActive === true;
|
|
8050
8105
|
const shouldTransformBusinessAutomationEdgesForCameraMotion =
|
|
8051
8106
|
hasBusinessAutomationEdgeLayer &&
|
|
8052
8107
|
hasBusinessAutomationConnectionDraft !== true &&
|
|
@@ -8975,6 +8975,9 @@
|
|
|
8975
8975
|
function clearBusinessAutomationConnectionDraft() {
|
|
8976
8976
|
const previous = _businessAutomationConnectionDraft;
|
|
8977
8977
|
_businessAutomationConnectionDraft = null;
|
|
8978
|
+
if (_module) {
|
|
8979
|
+
_module._businessAutomationConnectionDraftActive = false;
|
|
8980
|
+
}
|
|
8978
8981
|
if (previous?.sourceNodeId && previous?.sourcePinId) {
|
|
8979
8982
|
const sourcePin = previous.sourcePinElement?.isConnected
|
|
8980
8983
|
? previous.sourcePinElement
|
|
@@ -8997,6 +9000,9 @@
|
|
|
8997
9000
|
function setBusinessAutomationConnectionDraft(draft) {
|
|
8998
9001
|
clearBusinessAutomationConnectionDraft();
|
|
8999
9002
|
_businessAutomationConnectionDraft = draft;
|
|
9003
|
+
if (_module) {
|
|
9004
|
+
_module._businessAutomationConnectionDraftActive = true;
|
|
9005
|
+
}
|
|
9000
9006
|
const sourcePin = findBusinessAutomationPinElement(_module, draft.sourceNodeId, draft.sourcePinId, 'output');
|
|
9001
9007
|
if (sourcePin) {
|
|
9002
9008
|
sourcePin.classList.add('is-connecting-source');
|
|
@@ -6098,25 +6098,45 @@ window.MindMapInteractions = (function () {
|
|
|
6098
6098
|
return Math.max(-WHEEL_ZOOM_MAX_STEP, Math.min(step, WHEEL_ZOOM_MAX_STEP));
|
|
6099
6099
|
}
|
|
6100
6100
|
|
|
6101
|
+
const PLATFORM_LABEL = String(
|
|
6102
|
+
globalThis.navigator?.userAgentData?.platform
|
|
6103
|
+
|| globalThis.navigator?.platform
|
|
6104
|
+
|| ''
|
|
6105
|
+
);
|
|
6106
|
+
const IS_MAC_LIKE_PLATFORM = /mac|iphone|ipad|ipod/i.test(PLATFORM_LABEL);
|
|
6107
|
+
|
|
6101
6108
|
function getPlatformLabel() {
|
|
6102
6109
|
return String(
|
|
6103
|
-
|
|
6104
|
-
|| globalThis.navigator?.platform
|
|
6105
|
-
|| ''
|
|
6110
|
+
PLATFORM_LABEL
|
|
6106
6111
|
);
|
|
6107
6112
|
}
|
|
6108
6113
|
|
|
6109
6114
|
function isMacLikePlatform() {
|
|
6110
|
-
return
|
|
6115
|
+
return IS_MAC_LIKE_PLATFORM;
|
|
6111
6116
|
}
|
|
6112
6117
|
|
|
6113
|
-
function
|
|
6114
|
-
if (!e
|
|
6115
|
-
return
|
|
6118
|
+
function getWheelEventAnalysis(module, e) {
|
|
6119
|
+
if (!e) {
|
|
6120
|
+
return {
|
|
6121
|
+
deltaX: 0,
|
|
6122
|
+
deltaY: 0,
|
|
6123
|
+
isTrackpadLike: false,
|
|
6124
|
+
isTrackpadPinch: false,
|
|
6125
|
+
isSyntheticTrackpadPinch: false,
|
|
6126
|
+
isWheelActionModifierActive: false,
|
|
6127
|
+
shouldHandleTrackpadPanSeparately: false
|
|
6128
|
+
};
|
|
6129
|
+
}
|
|
6130
|
+
|
|
6131
|
+
const cached = e.__mindMapWheelAnalysis;
|
|
6132
|
+
if (cached && cached.module === module) {
|
|
6133
|
+
return cached;
|
|
6116
6134
|
}
|
|
6117
6135
|
|
|
6118
|
-
const
|
|
6119
|
-
const
|
|
6136
|
+
const deltaX = normalizeWheelDeltaX(e);
|
|
6137
|
+
const deltaY = normalizeWheelDeltaY(e);
|
|
6138
|
+
const absDeltaX = Math.abs(deltaX);
|
|
6139
|
+
const absDeltaY = Math.abs(deltaY);
|
|
6120
6140
|
const hasFractionalDelta = !Number.isInteger(absDeltaX) || !Number.isInteger(absDeltaY);
|
|
6121
6141
|
const hasHorizontalDelta = absDeltaX > 0.01;
|
|
6122
6142
|
const isSmallStep = absDeltaY > 0 && absDeltaY <= TRACKPAD_PIXEL_DELTA_MAX;
|
|
@@ -6125,16 +6145,57 @@ window.MindMapInteractions = (function () {
|
|
|
6125
6145
|
Number.isInteger(absDeltaY) &&
|
|
6126
6146
|
webkitWheelDeltaY >= 120 &&
|
|
6127
6147
|
webkitWheelDeltaY % 120 === 0;
|
|
6148
|
+
const isTrackpadLike = !!(
|
|
6149
|
+
e.deltaMode === 0 &&
|
|
6150
|
+
looksLikeStepWheel !== true &&
|
|
6151
|
+
(hasFractionalDelta || hasHorizontalDelta || (IS_MAC_LIKE_PLATFORM && isSmallStep))
|
|
6152
|
+
);
|
|
6153
|
+
const isTrackpadPinch = e.ctrlKey === true && isTrackpadLike;
|
|
6154
|
+
const isWheelActionModifier = IS_MAC_LIKE_PLATFORM
|
|
6155
|
+
? e.metaKey === true || e.ctrlKey === true
|
|
6156
|
+
: e.ctrlKey === true;
|
|
6157
|
+
const isSyntheticTrackpadPinch = isTrackpadPinch && !isPhysicalWheelActionModifierActive(module);
|
|
6158
|
+
const shouldHandleTrackpadPanSeparately = !IS_MAC_LIKE_PLATFORM &&
|
|
6159
|
+
!isTrackpadPinch &&
|
|
6160
|
+
!isWheelActionModifier &&
|
|
6161
|
+
isTrackpadLike &&
|
|
6162
|
+
absDeltaX > 0.75;
|
|
6128
6163
|
|
|
6129
|
-
|
|
6164
|
+
const analysis = {
|
|
6165
|
+
module,
|
|
6166
|
+
deltaX,
|
|
6167
|
+
deltaY,
|
|
6168
|
+
absDeltaX,
|
|
6169
|
+
absDeltaY,
|
|
6170
|
+
isTrackpadLike,
|
|
6171
|
+
isTrackpadPinch,
|
|
6172
|
+
isSyntheticTrackpadPinch,
|
|
6173
|
+
isWheelActionModifierActive: isWheelActionModifier,
|
|
6174
|
+
shouldHandleTrackpadPanSeparately
|
|
6175
|
+
};
|
|
6176
|
+
|
|
6177
|
+
try {
|
|
6178
|
+
Object.defineProperty(e, '__mindMapWheelAnalysis', {
|
|
6179
|
+
configurable: true,
|
|
6180
|
+
value: analysis
|
|
6181
|
+
});
|
|
6182
|
+
} catch {
|
|
6183
|
+
e.__mindMapWheelAnalysis = analysis;
|
|
6184
|
+
}
|
|
6185
|
+
|
|
6186
|
+
return analysis;
|
|
6187
|
+
}
|
|
6188
|
+
|
|
6189
|
+
function isTrackpadLikeWheelEvent(e) {
|
|
6190
|
+
if (!e || e.deltaMode !== 0) {
|
|
6130
6191
|
return false;
|
|
6131
6192
|
}
|
|
6132
6193
|
|
|
6133
|
-
return
|
|
6194
|
+
return getWheelEventAnalysis(null, e).isTrackpadLike === true;
|
|
6134
6195
|
}
|
|
6135
6196
|
|
|
6136
6197
|
function isTrackpadPinchGesture(e) {
|
|
6137
|
-
return e
|
|
6198
|
+
return getWheelEventAnalysis(null, e).isTrackpadPinch === true;
|
|
6138
6199
|
}
|
|
6139
6200
|
|
|
6140
6201
|
function isPhysicalWheelActionModifierActive(module) {
|
|
@@ -6142,7 +6203,7 @@ window.MindMapInteractions = (function () {
|
|
|
6142
6203
|
}
|
|
6143
6204
|
|
|
6144
6205
|
function isSyntheticTrackpadPinchGesture(module, e) {
|
|
6145
|
-
return
|
|
6206
|
+
return getWheelEventAnalysis(module, e).isSyntheticTrackpadPinch === true;
|
|
6146
6207
|
}
|
|
6147
6208
|
|
|
6148
6209
|
function isWheelActionModifierActive(e) {
|
|
@@ -6150,26 +6211,11 @@ window.MindMapInteractions = (function () {
|
|
|
6150
6211
|
return false;
|
|
6151
6212
|
}
|
|
6152
6213
|
|
|
6153
|
-
return
|
|
6154
|
-
? e.metaKey === true || e.ctrlKey === true
|
|
6155
|
-
: e.ctrlKey === true;
|
|
6214
|
+
return getWheelEventAnalysis(null, e).isWheelActionModifierActive === true;
|
|
6156
6215
|
}
|
|
6157
6216
|
|
|
6158
|
-
function shouldHandleTrackpadPanSeparately(e) {
|
|
6159
|
-
|
|
6160
|
-
return false;
|
|
6161
|
-
}
|
|
6162
|
-
|
|
6163
|
-
const absDeltaX = Math.abs(normalizeWheelDeltaX(e));
|
|
6164
|
-
|
|
6165
|
-
// On some Windows laptops, external/high-resolution mouse wheels can emit
|
|
6166
|
-
// pixel-mode fractional deltas and get misclassified as trackpad-like.
|
|
6167
|
-
// Reserve the direct-pan bypass for clear two-axis gestures instead so
|
|
6168
|
-
// regular vertical wheel input continues to respect the wheel-mode toggle.
|
|
6169
|
-
return !isTrackpadPinchGesture(e) &&
|
|
6170
|
-
!isWheelActionModifierActive(e) &&
|
|
6171
|
-
isTrackpadLikeWheelEvent(e) &&
|
|
6172
|
-
absDeltaX > 0.75;
|
|
6217
|
+
function shouldHandleTrackpadPanSeparately(e, analysis = null) {
|
|
6218
|
+
return (analysis || getWheelEventAnalysis(null, e)).shouldHandleTrackpadPanSeparately === true;
|
|
6173
6219
|
}
|
|
6174
6220
|
|
|
6175
6221
|
function isWheelZoomModifierActive(e) {
|
|
@@ -6239,19 +6285,20 @@ window.MindMapInteractions = (function () {
|
|
|
6239
6285
|
}
|
|
6240
6286
|
}
|
|
6241
6287
|
|
|
6242
|
-
function routeTrackpadWheelToPan(module, e) {
|
|
6288
|
+
function routeTrackpadWheelToPan(module, e, analysis = null) {
|
|
6243
6289
|
if (!module || !e) {
|
|
6244
6290
|
return;
|
|
6245
6291
|
}
|
|
6246
6292
|
|
|
6293
|
+
const wheelAnalysis = analysis || getWheelEventAnalysis(module, e);
|
|
6247
6294
|
e.preventDefault();
|
|
6248
6295
|
e.stopPropagation();
|
|
6249
|
-
applyTrackpadPanDelta(module,
|
|
6296
|
+
applyTrackpadPanDelta(module, wheelAnalysis.deltaX, wheelAnalysis.deltaY);
|
|
6250
6297
|
}
|
|
6251
6298
|
|
|
6252
|
-
function bufferWheelEvent(module, e) {
|
|
6299
|
+
function bufferWheelEvent(module, e, analysis = null) {
|
|
6253
6300
|
const wheelBuffer = getWheelBuffer(module);
|
|
6254
|
-
const deltaY =
|
|
6301
|
+
const deltaY = Number((analysis || getWheelEventAnalysis(module, e)).deltaY || 0);
|
|
6255
6302
|
if (deltaY === 0) {
|
|
6256
6303
|
return;
|
|
6257
6304
|
}
|
|
@@ -6264,9 +6311,9 @@ window.MindMapInteractions = (function () {
|
|
|
6264
6311
|
performCameraZoomBuffered(module, deltaY, e.clientX, e.clientY);
|
|
6265
6312
|
}
|
|
6266
6313
|
|
|
6267
|
-
function bufferSteppedWheelZoomEvent(module, e) {
|
|
6314
|
+
function bufferSteppedWheelZoomEvent(module, e, analysis = null) {
|
|
6268
6315
|
const wheelBuffer = getWheelBuffer(module);
|
|
6269
|
-
const normalizedDeltaY =
|
|
6316
|
+
const normalizedDeltaY = Number((analysis || getWheelEventAnalysis(module, e)).deltaY || 0);
|
|
6270
6317
|
const notchDeltaY = e?.deltaMode === 0
|
|
6271
6318
|
? normalizedDeltaY
|
|
6272
6319
|
: Math.sign(normalizedDeltaY) * WHEEL_ZOOM_NOTCH_DELTA;
|
|
@@ -6428,33 +6475,39 @@ window.MindMapInteractions = (function () {
|
|
|
6428
6475
|
return true;
|
|
6429
6476
|
}
|
|
6430
6477
|
|
|
6431
|
-
function routeWheelEventToZoom(module, e) {
|
|
6478
|
+
function routeWheelEventToZoom(module, e, analysis = null) {
|
|
6432
6479
|
if (!module || !e) {
|
|
6433
6480
|
return;
|
|
6434
6481
|
}
|
|
6435
6482
|
|
|
6436
6483
|
e.preventDefault();
|
|
6437
6484
|
e.stopPropagation();
|
|
6438
|
-
|
|
6439
|
-
|
|
6485
|
+
const wheelAnalysis = analysis || getWheelEventAnalysis(module, e);
|
|
6486
|
+
if (wheelAnalysis.isTrackpadPinch === true) {
|
|
6487
|
+
bufferWheelEvent(module, e, wheelAnalysis);
|
|
6440
6488
|
return;
|
|
6441
6489
|
}
|
|
6442
6490
|
|
|
6443
|
-
bufferSteppedWheelZoomEvent(module, e);
|
|
6491
|
+
bufferSteppedWheelZoomEvent(module, e, wheelAnalysis);
|
|
6444
6492
|
}
|
|
6445
6493
|
|
|
6446
6494
|
function isWheelZoomControlSwapEnabled(module) {
|
|
6447
6495
|
return module?.swapWheelZoomControls === true;
|
|
6448
6496
|
}
|
|
6449
6497
|
|
|
6450
|
-
function shouldZoomFromWheelEvent(module, e) {
|
|
6498
|
+
function shouldZoomFromWheelEvent(module, e, analysis = null) {
|
|
6451
6499
|
if (!e) {
|
|
6452
6500
|
return false;
|
|
6453
6501
|
}
|
|
6454
6502
|
|
|
6503
|
+
const wheelAnalysis = analysis || getWheelEventAnalysis(module, e);
|
|
6504
|
+
if (wheelAnalysis.isSyntheticTrackpadPinch === true) {
|
|
6505
|
+
return true;
|
|
6506
|
+
}
|
|
6507
|
+
|
|
6455
6508
|
return isWheelZoomControlSwapEnabled(module)
|
|
6456
|
-
?
|
|
6457
|
-
:
|
|
6509
|
+
? wheelAnalysis.isWheelActionModifierActive === true
|
|
6510
|
+
: wheelAnalysis.isWheelActionModifierActive !== true;
|
|
6458
6511
|
}
|
|
6459
6512
|
|
|
6460
6513
|
function toggleWheelZoomControls(module) {
|
|
@@ -6669,9 +6722,10 @@ window.MindMapInteractions = (function () {
|
|
|
6669
6722
|
const wheelNow = typeof performance !== 'undefined' && typeof performance.now === 'function'
|
|
6670
6723
|
? performance.now()
|
|
6671
6724
|
: Date.now();
|
|
6725
|
+
const wheelAnalysis = getWheelEventAnalysis(module, e);
|
|
6672
6726
|
const shouldRouteWheelToZoom =
|
|
6673
|
-
|
|
6674
|
-
shouldZoomFromWheelEvent(module, e);
|
|
6727
|
+
wheelAnalysis.isSyntheticTrackpadPinch === true ||
|
|
6728
|
+
shouldZoomFromWheelEvent(module, e, wheelAnalysis);
|
|
6675
6729
|
|
|
6676
6730
|
if (shouldRouteWheelToZoom) {
|
|
6677
6731
|
module._lastCanvasWheelAt = wheelNow;
|
|
@@ -6699,7 +6753,7 @@ window.MindMapInteractions = (function () {
|
|
|
6699
6753
|
return;
|
|
6700
6754
|
}
|
|
6701
6755
|
|
|
6702
|
-
routeWheelEventToZoom(module, e);
|
|
6756
|
+
routeWheelEventToZoom(module, e, wheelAnalysis);
|
|
6703
6757
|
return;
|
|
6704
6758
|
}
|
|
6705
6759
|
|
|
@@ -6739,12 +6793,12 @@ window.MindMapInteractions = (function () {
|
|
|
6739
6793
|
// selected mode so high-resolution mouse wheels do not get stuck in the
|
|
6740
6794
|
// trackpad path. On macOS, two-finger movement follows the wheel mode
|
|
6741
6795
|
// toggle while pinch still zooms.
|
|
6742
|
-
if (shouldHandleTrackpadPanSeparately(e)) {
|
|
6796
|
+
if (shouldHandleTrackpadPanSeparately(e, wheelAnalysis)) {
|
|
6743
6797
|
if (tryHandleScrollableWheelEvent(module, e, { fallbackToTrackpadPan: true })) {
|
|
6744
6798
|
return;
|
|
6745
6799
|
}
|
|
6746
6800
|
|
|
6747
|
-
routeTrackpadWheelToPan(module, e);
|
|
6801
|
+
routeTrackpadWheelToPan(module, e, wheelAnalysis);
|
|
6748
6802
|
return;
|
|
6749
6803
|
}
|
|
6750
6804
|
|
|
@@ -6782,7 +6836,8 @@ window.MindMapInteractions = (function () {
|
|
|
6782
6836
|
return false;
|
|
6783
6837
|
}
|
|
6784
6838
|
|
|
6785
|
-
|
|
6839
|
+
const wheelAnalysis = getWheelEventAnalysis(module, e);
|
|
6840
|
+
return wheelAnalysis.isSyntheticTrackpadPinch === true || shouldZoomFromWheelEvent(module, e, wheelAnalysis);
|
|
6786
6841
|
}
|
|
6787
6842
|
|
|
6788
6843
|
function getGestureClientPoint(module, e) {
|
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-edge-draft-hotpath-v691" />
|
|
11
|
+
<link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260620-edge-draft-hotpath-v691" />
|
|
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-edge-draft-hotpath-v691';
|
|
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": "fJoK+M0h",
|
|
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-4GnNtXCHOwiljYWXdYyXtaXoNTn2FPBztgn2zOiCcS4=",
|
|
82
82
|
"url": "_content/MindExecution.Shared/js/mind-map-core.js"
|
|
83
83
|
},
|
|
84
84
|
{
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
"url": "_content/MindExecution.Shared/js/mind-map-core.js.backup"
|
|
87
87
|
},
|
|
88
88
|
{
|
|
89
|
-
"hash": "sha256-
|
|
89
|
+
"hash": "sha256-3VNh7dLgyvqfHytYI283FCIN3TsUUK7Qt1YPj1HNJFY=",
|
|
90
90
|
"url": "_content/MindExecution.Shared/js/mind-map-css3d-manager.js"
|
|
91
91
|
},
|
|
92
92
|
{
|
|
@@ -106,7 +106,7 @@
|
|
|
106
106
|
"url": "_content/MindExecution.Shared/js/mind-map-glow-shader.js"
|
|
107
107
|
},
|
|
108
108
|
{
|
|
109
|
-
"hash": "sha256-
|
|
109
|
+
"hash": "sha256-GjdoWt5yAo2TwVMIWucHvHnXrpWproSpGT6fc3C/vVo=",
|
|
110
110
|
"url": "_content/MindExecution.Shared/js/mind-map-interactions.js"
|
|
111
111
|
},
|
|
112
112
|
{
|
|
@@ -834,7 +834,7 @@
|
|
|
834
834
|
"url": "image-manifest.json"
|
|
835
835
|
},
|
|
836
836
|
{
|
|
837
|
-
"hash": "sha256-
|
|
837
|
+
"hash": "sha256-t+t4ehH0KGi1ZELstZE+3pCfhOymLjyoCbi+TS6WjQA=",
|
|
838
838
|
"url": "index.html"
|
|
839
839
|
},
|
|
840
840
|
{
|