@shapediver/viewer.features.drawing-tools 3.12.16 → 3.12.19

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.
Files changed (53) hide show
  1. package/package.json +10 -10
  2. package/dist/business/implementation/managers/interaction/InteractionManagerAdapter.d.ts +0 -36
  3. package/dist/business/implementation/managers/interaction/InteractionManagerAdapter.d.ts.map +0 -1
  4. package/dist/business/implementation/managers/interaction/InteractionManagerAdapter.js +0 -77
  5. package/dist/business/implementation/managers/interaction/InteractionManagerAdapter.js.map +0 -1
  6. package/dist/business/implementation/managers/interaction/InteractionManagerRefactored.d.ts +0 -82
  7. package/dist/business/implementation/managers/interaction/InteractionManagerRefactored.d.ts.map +0 -1
  8. package/dist/business/implementation/managers/interaction/InteractionManagerRefactored.js +0 -406
  9. package/dist/business/implementation/managers/interaction/InteractionManagerRefactored.js.map +0 -1
  10. package/dist/business/implementation/managers/interaction/actions/InteractionActions.d.ts +0 -107
  11. package/dist/business/implementation/managers/interaction/actions/InteractionActions.d.ts.map +0 -1
  12. package/dist/business/implementation/managers/interaction/actions/InteractionActions.js +0 -191
  13. package/dist/business/implementation/managers/interaction/actions/InteractionActions.js.map +0 -1
  14. package/dist/business/implementation/managers/interaction/config/InteractionConfig.d.ts +0 -134
  15. package/dist/business/implementation/managers/interaction/config/InteractionConfig.d.ts.map +0 -1
  16. package/dist/business/implementation/managers/interaction/config/InteractionConfig.js +0 -218
  17. package/dist/business/implementation/managers/interaction/config/InteractionConfig.js.map +0 -1
  18. package/dist/business/implementation/managers/interaction/gestures/GestureRecognition.d.ts +0 -118
  19. package/dist/business/implementation/managers/interaction/gestures/GestureRecognition.d.ts.map +0 -1
  20. package/dist/business/implementation/managers/interaction/gestures/GestureRecognition.js +0 -352
  21. package/dist/business/implementation/managers/interaction/gestures/GestureRecognition.js.map +0 -1
  22. package/dist/business/implementation/managers/interaction/index.d.ts +0 -13
  23. package/dist/business/implementation/managers/interaction/index.d.ts.map +0 -1
  24. package/dist/business/implementation/managers/interaction/index.js +0 -49
  25. package/dist/business/implementation/managers/interaction/index.js.map +0 -1
  26. package/dist/business/implementation/managers/interaction/interfaces/IInteractionManagerForStrategy.d.ts +0 -24
  27. package/dist/business/implementation/managers/interaction/interfaces/IInteractionManagerForStrategy.d.ts.map +0 -1
  28. package/dist/business/implementation/managers/interaction/interfaces/IInteractionManagerForStrategy.js +0 -3
  29. package/dist/business/implementation/managers/interaction/interfaces/IInteractionManagerForStrategy.js.map +0 -1
  30. package/dist/business/implementation/managers/interaction/mobile-detection-example.d.ts +0 -24
  31. package/dist/business/implementation/managers/interaction/mobile-detection-example.d.ts.map +0 -1
  32. package/dist/business/implementation/managers/interaction/mobile-detection-example.js +0 -112
  33. package/dist/business/implementation/managers/interaction/mobile-detection-example.js.map +0 -1
  34. package/dist/business/implementation/managers/interaction/strategies/DesktopInteractionStrategy.d.ts +0 -37
  35. package/dist/business/implementation/managers/interaction/strategies/DesktopInteractionStrategy.d.ts.map +0 -1
  36. package/dist/business/implementation/managers/interaction/strategies/DesktopInteractionStrategy.js +0 -301
  37. package/dist/business/implementation/managers/interaction/strategies/DesktopInteractionStrategy.js.map +0 -1
  38. package/dist/business/implementation/managers/interaction/strategies/IInteractionStrategy.d.ts +0 -52
  39. package/dist/business/implementation/managers/interaction/strategies/IInteractionStrategy.d.ts.map +0 -1
  40. package/dist/business/implementation/managers/interaction/strategies/IInteractionStrategy.js +0 -21
  41. package/dist/business/implementation/managers/interaction/strategies/IInteractionStrategy.js.map +0 -1
  42. package/dist/business/implementation/managers/interaction/strategies/MobileInteractionStrategy.d.ts +0 -80
  43. package/dist/business/implementation/managers/interaction/strategies/MobileInteractionStrategy.d.ts.map +0 -1
  44. package/dist/business/implementation/managers/interaction/strategies/MobileInteractionStrategy.js +0 -671
  45. package/dist/business/implementation/managers/interaction/strategies/MobileInteractionStrategy.js.map +0 -1
  46. package/dist/business/implementation/managers/interaction/test-mobile-detection.d.ts +0 -24
  47. package/dist/business/implementation/managers/interaction/test-mobile-detection.d.ts.map +0 -1
  48. package/dist/business/implementation/managers/interaction/test-mobile-detection.js +0 -136
  49. package/dist/business/implementation/managers/interaction/test-mobile-detection.js.map +0 -1
  50. package/dist/business/implementation/managers/interaction/test-refactored.d.ts +0 -9
  51. package/dist/business/implementation/managers/interaction/test-refactored.d.ts.map +0 -1
  52. package/dist/business/implementation/managers/interaction/test-refactored.js +0 -57
  53. package/dist/business/implementation/managers/interaction/test-refactored.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"GestureRecognition.d.ts","sourceRoot":"","sources":["../../../../../../src/business/implementation/managers/interaction/gestures/GestureRecognition.ts"],"names":[],"mappings":"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"}
@@ -1,352 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GestureManager = exports.DragGestureRecognizer = exports.LongPressGestureRecognizer = exports.TapGestureRecognizer = exports.GestureState = exports.GestureType = void 0;
4
- /**
5
- * Types of gestures that can be recognized
6
- */
7
- var GestureType;
8
- (function (GestureType) {
9
- GestureType["TAP"] = "tap";
10
- GestureType["DOUBLE_TAP"] = "double_tap";
11
- GestureType["LONG_PRESS"] = "long_press";
12
- GestureType["DRAG"] = "drag";
13
- GestureType["SWIPE"] = "swipe";
14
- GestureType["PINCH"] = "pinch";
15
- GestureType["ROTATE"] = "rotate";
16
- })(GestureType = exports.GestureType || (exports.GestureType = {}));
17
- /**
18
- * State of gesture recognition
19
- */
20
- var GestureState;
21
- (function (GestureState) {
22
- GestureState["IDLE"] = "idle";
23
- GestureState["POSSIBLE"] = "possible";
24
- GestureState["BEGAN"] = "began";
25
- GestureState["CHANGED"] = "changed";
26
- GestureState["ENDED"] = "ended";
27
- GestureState["CANCELLED"] = "cancelled";
28
- GestureState["FAILED"] = "failed";
29
- })(GestureState = exports.GestureState || (exports.GestureState = {}));
30
- /**
31
- * Tap gesture recognizer
32
- */
33
- class TapGestureRecognizer {
34
- constructor() {
35
- this.state = GestureState.IDLE;
36
- this.startTime = 0;
37
- this.startPosition = { x: 0, y: 0 };
38
- this.tapCount = 0;
39
- this.lastTapTime = 0;
40
- this.MAX_TAP_DURATION = 200; // ms
41
- this.MAX_TAP_DISTANCE = 20; // pixels
42
- this.DOUBLE_TAP_INTERVAL = 300; // ms
43
- }
44
- processEvent(event) {
45
- switch (event.type) {
46
- case "pointerdown":
47
- return this.handlePointerDown(event);
48
- case "pointermove":
49
- return this.handlePointerMove(event);
50
- case "pointerup":
51
- return this.handlePointerUp(event);
52
- default:
53
- return { recognized: false };
54
- }
55
- }
56
- reset() {
57
- this.state = GestureState.IDLE;
58
- this.tapCount = 0;
59
- }
60
- getState() {
61
- return this.state;
62
- }
63
- handlePointerDown(event) {
64
- this.startTime = Date.now();
65
- this.startPosition = { x: event.clientX, y: event.clientY };
66
- this.state = GestureState.POSSIBLE;
67
- return { recognized: false };
68
- }
69
- handlePointerMove(event) {
70
- if (this.state !== GestureState.POSSIBLE) {
71
- return { recognized: false };
72
- }
73
- const distance = this.getDistance(event);
74
- if (distance > this.MAX_TAP_DISTANCE) {
75
- this.state = GestureState.FAILED;
76
- return { recognized: false };
77
- }
78
- return { recognized: false };
79
- }
80
- handlePointerUp(event) {
81
- if (this.state !== GestureState.POSSIBLE) {
82
- return { recognized: false };
83
- }
84
- const duration = Date.now() - this.startTime;
85
- const distance = this.getDistance(event);
86
- if (duration <= this.MAX_TAP_DURATION &&
87
- distance <= this.MAX_TAP_DISTANCE) {
88
- const now = Date.now();
89
- if (now - this.lastTapTime < this.DOUBLE_TAP_INTERVAL) {
90
- this.tapCount++;
91
- }
92
- else {
93
- this.tapCount = 1;
94
- }
95
- this.lastTapTime = now;
96
- this.state = GestureState.ENDED;
97
- const gestureType = this.tapCount === 1 ? GestureType.TAP : GestureType.DOUBLE_TAP;
98
- return {
99
- recognized: true,
100
- gesture: gestureType,
101
- confidence: 1.0,
102
- data: { tapCount: this.tapCount, position: this.startPosition },
103
- };
104
- }
105
- this.state = GestureState.FAILED;
106
- return { recognized: false };
107
- }
108
- getDistance(event) {
109
- const dx = event.clientX - this.startPosition.x;
110
- const dy = event.clientY - this.startPosition.y;
111
- return Math.sqrt(dx * dx + dy * dy);
112
- }
113
- }
114
- exports.TapGestureRecognizer = TapGestureRecognizer;
115
- /**
116
- * Long press gesture recognizer
117
- */
118
- class LongPressGestureRecognizer {
119
- constructor() {
120
- this.state = GestureState.IDLE;
121
- this.startTime = 0;
122
- this.startPosition = { x: 0, y: 0 };
123
- this.LONG_PRESS_DURATION = 500; // ms
124
- this.MAX_MOVEMENT_DISTANCE = 20; // pixels
125
- }
126
- processEvent(event) {
127
- switch (event.type) {
128
- case "pointerdown":
129
- return this.handlePointerDown(event);
130
- case "pointermove":
131
- return this.handlePointerMove(event);
132
- case "pointerup":
133
- case "pointercancel":
134
- return this.handlePointerEnd(event);
135
- default:
136
- return { recognized: false };
137
- }
138
- }
139
- reset() {
140
- this.state = GestureState.IDLE;
141
- this.clearTimer();
142
- }
143
- getState() {
144
- return this.state;
145
- }
146
- handlePointerDown(event) {
147
- this.startTime = Date.now();
148
- this.startPosition = { x: event.clientX, y: event.clientY };
149
- this.state = GestureState.POSSIBLE;
150
- this.timer = window.setTimeout(() => {
151
- if (this.state === GestureState.POSSIBLE) {
152
- this.state = GestureState.BEGAN;
153
- }
154
- }, this.LONG_PRESS_DURATION);
155
- return { recognized: false };
156
- }
157
- handlePointerMove(event) {
158
- if (this.state === GestureState.IDLE ||
159
- this.state === GestureState.FAILED) {
160
- return { recognized: false };
161
- }
162
- const distance = this.getDistance(event);
163
- if (distance > this.MAX_MOVEMENT_DISTANCE) {
164
- this.state = GestureState.FAILED;
165
- this.clearTimer();
166
- return { recognized: false };
167
- }
168
- if (this.state === GestureState.BEGAN) {
169
- this.state = GestureState.CHANGED;
170
- return {
171
- recognized: true,
172
- gesture: GestureType.LONG_PRESS,
173
- confidence: 1.0,
174
- data: {
175
- duration: Date.now() - this.startTime,
176
- position: this.startPosition,
177
- },
178
- };
179
- }
180
- return { recognized: false };
181
- }
182
- handlePointerEnd(event) {
183
- this.clearTimer();
184
- if (this.state === GestureState.BEGAN ||
185
- this.state === GestureState.CHANGED) {
186
- this.state = GestureState.ENDED;
187
- return {
188
- recognized: true,
189
- gesture: GestureType.LONG_PRESS,
190
- confidence: 1.0,
191
- data: {
192
- duration: Date.now() - this.startTime,
193
- position: this.startPosition,
194
- },
195
- };
196
- }
197
- this.state = GestureState.FAILED;
198
- return { recognized: false };
199
- }
200
- getDistance(event) {
201
- const dx = event.clientX - this.startPosition.x;
202
- const dy = event.clientY - this.startPosition.y;
203
- return Math.sqrt(dx * dx + dy * dy);
204
- }
205
- clearTimer() {
206
- if (this.timer) {
207
- clearTimeout(this.timer);
208
- this.timer = undefined;
209
- }
210
- }
211
- }
212
- exports.LongPressGestureRecognizer = LongPressGestureRecognizer;
213
- /**
214
- * Drag gesture recognizer
215
- */
216
- class DragGestureRecognizer {
217
- constructor() {
218
- this.state = GestureState.IDLE;
219
- this.startPosition = { x: 0, y: 0 };
220
- this.currentPosition = { x: 0, y: 0 };
221
- this.MIN_DRAG_DISTANCE = 10; // pixels
222
- }
223
- processEvent(event) {
224
- switch (event.type) {
225
- case "pointerdown":
226
- return this.handlePointerDown(event);
227
- case "pointermove":
228
- return this.handlePointerMove(event);
229
- case "pointerup":
230
- case "pointercancel":
231
- return this.handlePointerEnd(event);
232
- default:
233
- return { recognized: false };
234
- }
235
- }
236
- reset() {
237
- this.state = GestureState.IDLE;
238
- }
239
- getState() {
240
- return this.state;
241
- }
242
- handlePointerDown(event) {
243
- this.startPosition = { x: event.clientX, y: event.clientY };
244
- this.currentPosition = { x: event.clientX, y: event.clientY };
245
- this.state = GestureState.POSSIBLE;
246
- return { recognized: false };
247
- }
248
- handlePointerMove(event) {
249
- if (this.state === GestureState.IDLE ||
250
- this.state === GestureState.FAILED) {
251
- return { recognized: false };
252
- }
253
- this.currentPosition = { x: event.clientX, y: event.clientY };
254
- const distance = this.getTotalDistance();
255
- if (this.state === GestureState.POSSIBLE &&
256
- distance > this.MIN_DRAG_DISTANCE) {
257
- this.state = GestureState.BEGAN;
258
- return {
259
- recognized: true,
260
- gesture: GestureType.DRAG,
261
- confidence: 1.0,
262
- data: {
263
- startPosition: this.startPosition,
264
- currentPosition: this.currentPosition,
265
- distance: distance,
266
- phase: "began",
267
- },
268
- };
269
- }
270
- if (this.state === GestureState.BEGAN ||
271
- this.state === GestureState.CHANGED) {
272
- this.state = GestureState.CHANGED;
273
- return {
274
- recognized: true,
275
- gesture: GestureType.DRAG,
276
- confidence: 1.0,
277
- data: {
278
- startPosition: this.startPosition,
279
- currentPosition: this.currentPosition,
280
- distance: distance,
281
- phase: "changed",
282
- },
283
- };
284
- }
285
- return { recognized: false };
286
- }
287
- handlePointerEnd(event) {
288
- if (this.state === GestureState.BEGAN ||
289
- this.state === GestureState.CHANGED) {
290
- this.state = GestureState.ENDED;
291
- return {
292
- recognized: true,
293
- gesture: GestureType.DRAG,
294
- confidence: 1.0,
295
- data: {
296
- startPosition: this.startPosition,
297
- currentPosition: this.currentPosition,
298
- distance: this.getTotalDistance(),
299
- phase: "ended",
300
- },
301
- };
302
- }
303
- this.state = GestureState.FAILED;
304
- return { recognized: false };
305
- }
306
- getTotalDistance() {
307
- const dx = this.currentPosition.x - this.startPosition.x;
308
- const dy = this.currentPosition.y - this.startPosition.y;
309
- return Math.sqrt(dx * dx + dy * dy);
310
- }
311
- }
312
- exports.DragGestureRecognizer = DragGestureRecognizer;
313
- /**
314
- * Gesture manager that coordinates multiple recognizers
315
- */
316
- class GestureManager {
317
- constructor() {
318
- this.recognizers = [];
319
- this.activeGestures = new Set();
320
- }
321
- addRecognizer(recognizer) {
322
- this.recognizers.push(recognizer);
323
- }
324
- removeRecognizer(recognizer) {
325
- const index = this.recognizers.indexOf(recognizer);
326
- if (index > -1) {
327
- this.recognizers.splice(index, 1);
328
- }
329
- }
330
- processEvent(event) {
331
- const results = [];
332
- for (const recognizer of this.recognizers) {
333
- const result = recognizer.processEvent(event);
334
- if (result.recognized) {
335
- results.push(result);
336
- if (result.gesture) {
337
- this.activeGestures.add(result.gesture);
338
- }
339
- }
340
- }
341
- return results;
342
- }
343
- reset() {
344
- this.recognizers.forEach((recognizer) => recognizer.reset());
345
- this.activeGestures.clear();
346
- }
347
- isGestureActive(gesture) {
348
- return this.activeGestures.has(gesture);
349
- }
350
- }
351
- exports.GestureManager = GestureManager;
352
- //# sourceMappingURL=GestureRecognition.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GestureRecognition.js","sourceRoot":"","sources":["../../../../../../src/business/implementation/managers/interaction/gestures/GestureRecognition.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- export { ActionFactory, ActionResult, DeletePointsAction, FinalizeInsertionAction, IInteractionAction, InteractionContext, MoveDraggedPointsAction, SelectPointAction, StartDragAction, StartInsertionAction, UpdateHoverAction, } from "./actions/InteractionActions";
2
- export { AccessibilitySettings, GestureSettings, InteractionConfig, InteractionConfigFactory, InteractionConfigManager, MouseAction, MouseSettings, PlatformType, TouchSettings, } from "./config/InteractionConfig";
3
- export { DragGestureRecognizer, GestureManager, GestureResult, GestureState, GestureType, IGestureRecognizer, LongPressGestureRecognizer, TapGestureRecognizer, } from "./gestures/GestureRecognition";
4
- export { DeletionInteractionHandler } from "./handlers/DeletionInteractionHandler";
5
- export { InsertionInteractionHandler } from "./handlers/InsertionInteractionHandler";
6
- export { MidPointInteractionHandler } from "./handlers/MidPointInteractionHandler";
7
- export { InteractionManagerHelper } from "./helpers/InteractionManagerHelper";
8
- export { InteractionManagerAdapter } from "./InteractionManagerAdapter";
9
- export { InteractionManagerRefactored } from "./InteractionManagerRefactored";
10
- export { DesktopInteractionStrategy } from "./strategies/DesktopInteractionStrategy";
11
- export { IInteractionStrategy, InteractionAction, InteractionResult, } from "./strategies/IInteractionStrategy";
12
- export { MobileInteractionStrategy } from "./strategies/MobileInteractionStrategy";
13
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/business/implementation/managers/interaction/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,iBAAiB,GACjB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACN,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACxB,wBAAwB,EACxB,WAAW,EACX,aAAa,EACb,YAAY,EACZ,aAAa,GACb,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACN,qBAAqB,EACrB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,0BAA0B,EAC1B,oBAAoB,GACpB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAC,0BAA0B,EAAC,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAC,2BAA2B,EAAC,MAAM,wCAAwC,CAAC;AACnF,OAAO,EAAC,0BAA0B,EAAC,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAC,wBAAwB,EAAC,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAC,yBAAyB,EAAC,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAC,4BAA4B,EAAC,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAC,0BAA0B,EAAC,MAAM,yCAAyC,CAAC;AAEnF,OAAO,EACN,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,GACjB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAC,yBAAyB,EAAC,MAAM,wCAAwC,CAAC"}
@@ -1,49 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MobileInteractionStrategy = exports.InteractionAction = exports.DesktopInteractionStrategy = exports.InteractionManagerRefactored = exports.InteractionManagerAdapter = exports.InteractionManagerHelper = exports.MidPointInteractionHandler = exports.InsertionInteractionHandler = exports.DeletionInteractionHandler = exports.TapGestureRecognizer = exports.LongPressGestureRecognizer = exports.GestureType = exports.GestureState = exports.GestureManager = exports.DragGestureRecognizer = exports.PlatformType = exports.MouseAction = exports.InteractionConfigManager = exports.InteractionConfigFactory = exports.UpdateHoverAction = exports.StartInsertionAction = exports.StartDragAction = exports.SelectPointAction = exports.MoveDraggedPointsAction = exports.FinalizeInsertionAction = exports.DeletePointsAction = exports.ActionFactory = void 0;
4
- // Main interaction manager exports
5
- // Action system exports
6
- var InteractionActions_1 = require("./actions/InteractionActions");
7
- Object.defineProperty(exports, "ActionFactory", { enumerable: true, get: function () { return InteractionActions_1.ActionFactory; } });
8
- Object.defineProperty(exports, "DeletePointsAction", { enumerable: true, get: function () { return InteractionActions_1.DeletePointsAction; } });
9
- Object.defineProperty(exports, "FinalizeInsertionAction", { enumerable: true, get: function () { return InteractionActions_1.FinalizeInsertionAction; } });
10
- Object.defineProperty(exports, "MoveDraggedPointsAction", { enumerable: true, get: function () { return InteractionActions_1.MoveDraggedPointsAction; } });
11
- Object.defineProperty(exports, "SelectPointAction", { enumerable: true, get: function () { return InteractionActions_1.SelectPointAction; } });
12
- Object.defineProperty(exports, "StartDragAction", { enumerable: true, get: function () { return InteractionActions_1.StartDragAction; } });
13
- Object.defineProperty(exports, "StartInsertionAction", { enumerable: true, get: function () { return InteractionActions_1.StartInsertionAction; } });
14
- Object.defineProperty(exports, "UpdateHoverAction", { enumerable: true, get: function () { return InteractionActions_1.UpdateHoverAction; } });
15
- // Configuration exports
16
- var InteractionConfig_1 = require("./config/InteractionConfig");
17
- Object.defineProperty(exports, "InteractionConfigFactory", { enumerable: true, get: function () { return InteractionConfig_1.InteractionConfigFactory; } });
18
- Object.defineProperty(exports, "InteractionConfigManager", { enumerable: true, get: function () { return InteractionConfig_1.InteractionConfigManager; } });
19
- Object.defineProperty(exports, "MouseAction", { enumerable: true, get: function () { return InteractionConfig_1.MouseAction; } });
20
- Object.defineProperty(exports, "PlatformType", { enumerable: true, get: function () { return InteractionConfig_1.PlatformType; } });
21
- // Gesture recognition exports
22
- var GestureRecognition_1 = require("./gestures/GestureRecognition");
23
- Object.defineProperty(exports, "DragGestureRecognizer", { enumerable: true, get: function () { return GestureRecognition_1.DragGestureRecognizer; } });
24
- Object.defineProperty(exports, "GestureManager", { enumerable: true, get: function () { return GestureRecognition_1.GestureManager; } });
25
- Object.defineProperty(exports, "GestureState", { enumerable: true, get: function () { return GestureRecognition_1.GestureState; } });
26
- Object.defineProperty(exports, "GestureType", { enumerable: true, get: function () { return GestureRecognition_1.GestureType; } });
27
- Object.defineProperty(exports, "LongPressGestureRecognizer", { enumerable: true, get: function () { return GestureRecognition_1.LongPressGestureRecognizer; } });
28
- Object.defineProperty(exports, "TapGestureRecognizer", { enumerable: true, get: function () { return GestureRecognition_1.TapGestureRecognizer; } });
29
- // Re-export existing handlers for compatibility
30
- var DeletionInteractionHandler_1 = require("./handlers/DeletionInteractionHandler");
31
- Object.defineProperty(exports, "DeletionInteractionHandler", { enumerable: true, get: function () { return DeletionInteractionHandler_1.DeletionInteractionHandler; } });
32
- var InsertionInteractionHandler_1 = require("./handlers/InsertionInteractionHandler");
33
- Object.defineProperty(exports, "InsertionInteractionHandler", { enumerable: true, get: function () { return InsertionInteractionHandler_1.InsertionInteractionHandler; } });
34
- var MidPointInteractionHandler_1 = require("./handlers/MidPointInteractionHandler");
35
- Object.defineProperty(exports, "MidPointInteractionHandler", { enumerable: true, get: function () { return MidPointInteractionHandler_1.MidPointInteractionHandler; } });
36
- var InteractionManagerHelper_1 = require("./helpers/InteractionManagerHelper");
37
- Object.defineProperty(exports, "InteractionManagerHelper", { enumerable: true, get: function () { return InteractionManagerHelper_1.InteractionManagerHelper; } });
38
- var InteractionManagerAdapter_1 = require("./InteractionManagerAdapter");
39
- Object.defineProperty(exports, "InteractionManagerAdapter", { enumerable: true, get: function () { return InteractionManagerAdapter_1.InteractionManagerAdapter; } });
40
- var InteractionManagerRefactored_1 = require("./InteractionManagerRefactored");
41
- Object.defineProperty(exports, "InteractionManagerRefactored", { enumerable: true, get: function () { return InteractionManagerRefactored_1.InteractionManagerRefactored; } });
42
- var DesktopInteractionStrategy_1 = require("./strategies/DesktopInteractionStrategy");
43
- Object.defineProperty(exports, "DesktopInteractionStrategy", { enumerable: true, get: function () { return DesktopInteractionStrategy_1.DesktopInteractionStrategy; } });
44
- // Strategy pattern exports
45
- var IInteractionStrategy_1 = require("./strategies/IInteractionStrategy");
46
- Object.defineProperty(exports, "InteractionAction", { enumerable: true, get: function () { return IInteractionStrategy_1.InteractionAction; } });
47
- var MobileInteractionStrategy_1 = require("./strategies/MobileInteractionStrategy");
48
- Object.defineProperty(exports, "MobileInteractionStrategy", { enumerable: true, get: function () { return MobileInteractionStrategy_1.MobileInteractionStrategy; } });
49
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/business/implementation/managers/interaction/index.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AACnC,wBAAwB;AACxB,mEAYsC;AAXrC,mHAAA,aAAa,OAAA;AAEb,wHAAA,kBAAkB,OAAA;AAClB,6HAAA,uBAAuB,OAAA;AAGvB,6HAAA,uBAAuB,OAAA;AACvB,uHAAA,iBAAiB,OAAA;AACjB,qHAAA,eAAe,OAAA;AACf,0HAAA,oBAAoB,OAAA;AACpB,uHAAA,iBAAiB,OAAA;AAElB,wBAAwB;AACxB,gEAUoC;AANnC,6HAAA,wBAAwB,OAAA;AACxB,6HAAA,wBAAwB,OAAA;AACxB,gHAAA,WAAW,OAAA;AAEX,iHAAA,YAAY,OAAA;AAGb,8BAA8B;AAC9B,oEASuC;AARtC,2HAAA,qBAAqB,OAAA;AACrB,oHAAA,cAAc,OAAA;AAEd,kHAAA,YAAY,OAAA;AACZ,iHAAA,WAAW,OAAA;AAEX,gIAAA,0BAA0B,OAAA;AAC1B,0HAAA,oBAAoB,OAAA;AAErB,gDAAgD;AAChD,oFAAiF;AAAzE,wIAAA,0BAA0B,OAAA;AAClC,sFAAmF;AAA3E,0IAAA,2BAA2B,OAAA;AACnC,oFAAiF;AAAzE,wIAAA,0BAA0B,OAAA;AAClC,+EAA4E;AAApE,oIAAA,wBAAwB,OAAA;AAChC,yEAAsE;AAA9D,sIAAA,yBAAyB,OAAA;AACjC,+EAA4E;AAApE,4IAAA,4BAA4B,OAAA;AACpC,sFAAmF;AAA3E,wIAAA,0BAA0B,OAAA;AAClC,2BAA2B;AAC3B,0EAI2C;AAF1C,yHAAA,iBAAiB,OAAA;AAGlB,oFAAiF;AAAzE,sIAAA,yBAAyB,OAAA"}
@@ -1,24 +0,0 @@
1
- import { IRestrictionManager } from "@shapediver/viewer.rendering-engine.intersection-restriction-engine";
2
- import { vec3 } from "gl-matrix";
3
- import { DeletionInteractionHandler } from "../handlers/DeletionInteractionHandler";
4
- import { InsertionInteractionHandler } from "../handlers/InsertionInteractionHandler";
5
- import { MidPointInteractionHandler } from "../handlers/MidPointInteractionHandler";
6
- import { InteractionManagerHelper } from "../helpers/InteractionManagerHelper";
7
- /**
8
- * Interface that strategies can use to interact with the manager
9
- * without accessing private properties
10
- */
11
- export interface IInteractionManagerForStrategy {
12
- readonly deletionInteractionHandler: DeletionInteractionHandler;
13
- readonly insertionInteractionHandler: InsertionInteractionHandler;
14
- readonly midPointInteractionHandler: MidPointInteractionHandler;
15
- readonly restrictionManager: IRestrictionManager;
16
- readonly interactionManagerHelper: InteractionManagerHelper;
17
- startInsertion(): vec3 | undefined;
18
- stopInsertion(): void;
19
- deleteSelection(): void;
20
- getCameraFreezeFlag(): string;
21
- setCameraFreezeFlag(): void;
22
- setLastEvent(event: PointerEvent): void;
23
- }
24
- //# sourceMappingURL=IInteractionManagerForStrategy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IInteractionManagerForStrategy.d.ts","sourceRoot":"","sources":["../../../../../../src/business/implementation/managers/interaction/interfaces/IInteractionManagerForStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,qEAAqE,CAAC;AACxG,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAC,0BAA0B,EAAC,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAC,2BAA2B,EAAC,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAC,0BAA0B,EAAC,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAC,wBAAwB,EAAC,MAAM,qCAAqC,CAAC;AAE7E;;;GAGG;AACH,MAAM,WAAW,8BAA8B;IAC9C,QAAQ,CAAC,0BAA0B,EAAE,0BAA0B,CAAC;IAChE,QAAQ,CAAC,2BAA2B,EAAE,2BAA2B,CAAC;IAClE,QAAQ,CAAC,0BAA0B,EAAE,0BAA0B,CAAC;IAChE,QAAQ,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;IACjD,QAAQ,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;IAG5D,cAAc,IAAI,IAAI,GAAG,SAAS,CAAC;IACnC,aAAa,IAAI,IAAI,CAAC;IACtB,eAAe,IAAI,IAAI,CAAC;IACxB,mBAAmB,IAAI,MAAM,CAAC;IAC9B,mBAAmB,IAAI,IAAI,CAAC;IAC5B,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;CACxC"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=IInteractionManagerForStrategy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IInteractionManagerForStrategy.js","sourceRoot":"","sources":["../../../../../../src/business/implementation/managers/interaction/interfaces/IInteractionManagerForStrategy.ts"],"names":[],"mappings":""}
@@ -1,24 +0,0 @@
1
- /**
2
- * Example: Using Mobile Detection with Drawing Tools
3
- *
4
- * This example demonstrates how the refactored InteractionManager automatically
5
- * detects mobile platforms and provides the appropriate interaction experience.
6
- */
7
- import { InteractionManagerRefactored } from "./InteractionManagerRefactored";
8
- /**
9
- * Initialize drawing tools with automatic mobile detection
10
- */
11
- export declare function initializeDrawingToolsWithMobileSupport(drawingToolsManager: any): InteractionManagerRefactored;
12
- /**
13
- * Run tests to verify mobile detection is working
14
- */
15
- export declare function verifyMobileDetection(drawingToolsManager: any): boolean;
16
- /**
17
- * Example usage in your application
18
- */
19
- export declare function exampleUsage(): void;
20
- /**
21
- * Manual platform override (for testing purposes)
22
- */
23
- export declare function createInteractionManagerForSpecificPlatform(drawingToolsManager: any, forceMobile?: boolean): InteractionManagerRefactored;
24
- //# sourceMappingURL=mobile-detection-example.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mobile-detection-example.d.ts","sourceRoot":"","sources":["../../../../../src/business/implementation/managers/interaction/mobile-detection-example.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAC,4BAA4B,EAAC,MAAM,gCAAgC,CAAC;AAG5E;;GAEG;AACH,wBAAgB,uCAAuC,CACtD,mBAAmB,EAAE,GAAG,gCA4BxB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,mBAAmB,EAAE,GAAG,WAa7D;AAED;;GAEG;AACH,wBAAgB,YAAY,SAgB3B;AAED;;GAEG;AACH,wBAAgB,2CAA2C,CAC1D,mBAAmB,EAAE,GAAG,EACxB,WAAW,GAAE,OAAe,gCAkC5B"}
@@ -1,112 +0,0 @@
1
- "use strict";
2
- /**
3
- * Example: Using Mobile Detection with Drawing Tools
4
- *
5
- * This example demonstrates how the refactored InteractionManager automatically
6
- * detects mobile platforms and provides the appropriate interaction experience.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.createInteractionManagerForSpecificPlatform = exports.exampleUsage = exports.verifyMobileDetection = exports.initializeDrawingToolsWithMobileSupport = void 0;
10
- const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
11
- const InteractionManagerRefactored_1 = require("./InteractionManagerRefactored");
12
- const test_mobile_detection_1 = require("./test-mobile-detection");
13
- /**
14
- * Initialize drawing tools with automatic mobile detection
15
- */
16
- function initializeDrawingToolsWithMobileSupport(drawingToolsManager) {
17
- // The InteractionManagerRefactored automatically detects the platform
18
- const interactionManager = new InteractionManagerRefactored_1.InteractionManagerRefactored(drawingToolsManager);
19
- // Display platform information
20
- const systemInfo = viewer_shared_services_1.SystemInfo.instance;
21
- console.log(`🎯 Platform Detected: ${systemInfo.isMobile ? "Mobile" : "Desktop"}`);
22
- if (systemInfo.isMobile) {
23
- console.log("📱 Mobile features enabled:");
24
- console.log(" - Touch-optimized interactions");
25
- console.log(" - Gesture recognition");
26
- console.log(" - Larger touch targets");
27
- console.log(" - Haptic feedback support");
28
- }
29
- else {
30
- console.log("🖥️ Desktop features enabled:");
31
- console.log(" - Precise mouse interactions");
32
- console.log(" - Hover states");
33
- console.log(" - Right-click context menus");
34
- console.log(" - Keyboard shortcuts");
35
- }
36
- return interactionManager;
37
- }
38
- exports.initializeDrawingToolsWithMobileSupport = initializeDrawingToolsWithMobileSupport;
39
- /**
40
- * Run tests to verify mobile detection is working
41
- */
42
- function verifyMobileDetection(drawingToolsManager) {
43
- console.log("🔍 Verifying mobile detection...");
44
- const testsPassed = (0, test_mobile_detection_1.runMobileDetectionTests)(drawingToolsManager);
45
- if (testsPassed) {
46
- console.log("✅ Mobile detection is working correctly!");
47
- }
48
- else {
49
- console.log("❌ Mobile detection tests failed. Please check the implementation.");
50
- }
51
- return testsPassed;
52
- }
53
- exports.verifyMobileDetection = verifyMobileDetection;
54
- /**
55
- * Example usage in your application
56
- */
57
- function exampleUsage() {
58
- // In your application initialization:
59
- /*
60
- const drawingToolsManager = createDrawingToolsManager(); // Your existing setup
61
-
62
- // Initialize with automatic mobile detection
63
- const interactionManager = initializeDrawingToolsWithMobileSupport(drawingToolsManager);
64
-
65
- // Optionally verify the detection is working
66
- verifyMobileDetection(drawingToolsManager);
67
-
68
- // The interaction manager will now automatically provide:
69
- // - Mobile-optimized interactions on phones/tablets
70
- // - Desktop-optimized interactions on computers
71
- // - Seamless switching if the environment changes
72
- */
73
- }
74
- exports.exampleUsage = exampleUsage;
75
- /**
76
- * Manual platform override (for testing purposes)
77
- */
78
- function createInteractionManagerForSpecificPlatform(drawingToolsManager, forceMobile = false) {
79
- // You can still manually configure for specific platforms if needed
80
- // Note: The auto-detection will override this, but this shows the config structure
81
- const config = {
82
- platform: forceMobile ? "mobile" : "desktop",
83
- touchSettings: {
84
- minTouchTargetSize: forceMobile ? 44 : 0,
85
- tapThreshold: 10,
86
- longPressDelay: 500,
87
- doubleTapDelay: 300,
88
- pinchThreshold: 10,
89
- },
90
- mouseSettings: {
91
- hoverDelay: forceMobile ? 0 : 100,
92
- clickThreshold: 5,
93
- doubleClickDelay: 300,
94
- dragThreshold: 5,
95
- },
96
- gestureSettings: {
97
- enableGestures: forceMobile,
98
- swipeThreshold: 50,
99
- rotationThreshold: 15,
100
- scaleThreshold: 0.1,
101
- },
102
- accessibility: {
103
- highContrast: false,
104
- reducedMotion: false,
105
- screenReaderSupport: false,
106
- keyboardNavigation: !forceMobile,
107
- },
108
- }; // Type assertion for demo purposes
109
- return new InteractionManagerRefactored_1.InteractionManagerRefactored(drawingToolsManager, config);
110
- }
111
- exports.createInteractionManagerForSpecificPlatform = createInteractionManagerForSpecificPlatform;
112
- //# sourceMappingURL=mobile-detection-example.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mobile-detection-example.js","sourceRoot":"","sources":["../../../../../src/business/implementation/managers/interaction/mobile-detection-example.ts"],"names":[],"mappings":"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"}