@tableslayer/ui 0.1.4 → 0.1.5

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 (206) hide show
  1. package/dist/components/PropsTable/PropsTable.svelte +1 -1
  2. package/package.json +9 -9
  3. package/src/lib/components/Avatar/Avatar.svelte +0 -82
  4. package/src/lib/components/Avatar/AvatarFileInput.svelte +0 -85
  5. package/src/lib/components/Avatar/AvatarPopover.svelte +0 -34
  6. package/src/lib/components/Avatar/index.ts +0 -4
  7. package/src/lib/components/Avatar/types.ts +0 -24
  8. package/src/lib/components/BrushSizeSlider/BrushSizeSlider.svelte +0 -174
  9. package/src/lib/components/BrushSizeSlider/index.ts +0 -1
  10. package/src/lib/components/Button/Button.svelte +0 -182
  11. package/src/lib/components/Button/ConfirmActionButton.svelte +0 -98
  12. package/src/lib/components/Button/IconButton.svelte +0 -121
  13. package/src/lib/components/Button/RadioButton.svelte +0 -93
  14. package/src/lib/components/Button/index.ts +0 -5
  15. package/src/lib/components/Button/types.ts +0 -54
  16. package/src/lib/components/CardFan/CardFan.svelte +0 -165
  17. package/src/lib/components/CardFan/index.ts +0 -2
  18. package/src/lib/components/CardFan/types.ts +0 -6
  19. package/src/lib/components/CodeBlock/Code.svelte +0 -7
  20. package/src/lib/components/CodeBlock/CodeBlock.svelte +0 -102
  21. package/src/lib/components/CodeBlock/index.ts +0 -3
  22. package/src/lib/components/CodeBlock/types.ts +0 -10
  23. package/src/lib/components/ColorMode/ColorMode.svelte +0 -8
  24. package/src/lib/components/ColorMode/index.ts +0 -2
  25. package/src/lib/components/ColorMode/types.ts +0 -12
  26. package/src/lib/components/ColorPicker/ColorPicker.svelte +0 -838
  27. package/src/lib/components/ColorPicker/ColorPickerSwatch.svelte +0 -32
  28. package/src/lib/components/ColorPicker/index.ts +0 -3
  29. package/src/lib/components/ColorPicker/types.ts +0 -51
  30. package/src/lib/components/ContextMenu/ContextMenu.svelte +0 -86
  31. package/src/lib/components/ContextMenu/index.ts +0 -2
  32. package/src/lib/components/ContextMenu/types.ts +0 -15
  33. package/src/lib/components/DrawingSliders/DrawingSliders.svelte +0 -379
  34. package/src/lib/components/DrawingSliders/index.ts +0 -1
  35. package/src/lib/components/Editor/Editor.svelte +0 -825
  36. package/src/lib/components/Editor/index.ts +0 -1
  37. package/src/lib/components/FogSliders/FogSliders.svelte +0 -33
  38. package/src/lib/components/FogSliders/index.ts +0 -1
  39. package/src/lib/components/Hr/Hr.svelte +0 -15
  40. package/src/lib/components/Hr/index.ts +0 -1
  41. package/src/lib/components/Icon/Icon.svelte +0 -6
  42. package/src/lib/components/Icon/index.ts +0 -2
  43. package/src/lib/components/Icon/types.ts +0 -20
  44. package/src/lib/components/Input/DualInputSlider.svelte +0 -126
  45. package/src/lib/components/Input/FileInput.svelte +0 -176
  46. package/src/lib/components/Input/FormControl.svelte +0 -150
  47. package/src/lib/components/Input/FormError.svelte +0 -37
  48. package/src/lib/components/Input/Input.svelte +0 -56
  49. package/src/lib/components/Input/InputCheckbox.svelte +0 -99
  50. package/src/lib/components/Input/InputSlider.svelte +0 -86
  51. package/src/lib/components/Input/Label.svelte +0 -19
  52. package/src/lib/components/Input/index.ts +0 -9
  53. package/src/lib/components/Input/types.ts +0 -39
  54. package/src/lib/components/Link/Link.svelte +0 -41
  55. package/src/lib/components/Link/LinkBox.svelte +0 -20
  56. package/src/lib/components/Link/LinkOverlay.svelte +0 -23
  57. package/src/lib/components/Link/index.ts +0 -4
  58. package/src/lib/components/Link/types.ts +0 -17
  59. package/src/lib/components/Loading/Loader.svelte +0 -60
  60. package/src/lib/components/Loading/Skeleton.svelte +0 -9
  61. package/src/lib/components/Loading/index.ts +0 -2
  62. package/src/lib/components/Logo/Logo.svelte +0 -16
  63. package/src/lib/components/Logo/index.ts +0 -1
  64. package/src/lib/components/MarkerTooltip/MarkerTooltip.svelte +0 -435
  65. package/src/lib/components/MarkerTooltip/index.ts +0 -1
  66. package/src/lib/components/Menu/SelectorMenu.svelte +0 -280
  67. package/src/lib/components/Menu/index.ts +0 -2
  68. package/src/lib/components/Menu/types.ts +0 -17
  69. package/src/lib/components/MyCounterButton.svelte +0 -11
  70. package/src/lib/components/Panel/index.ts +0 -2
  71. package/src/lib/components/Panel/panel.svelte +0 -18
  72. package/src/lib/components/Panel/types.ts +0 -8
  73. package/src/lib/components/PersistButton/PersistButton.svelte +0 -100
  74. package/src/lib/components/PersistButton/index.ts +0 -1
  75. package/src/lib/components/Popover/Popover.svelte +0 -81
  76. package/src/lib/components/Popover/index.ts +0 -2
  77. package/src/lib/components/Popover/types.ts +0 -19
  78. package/src/lib/components/PropsTable/PropsTable.svelte +0 -107
  79. package/src/lib/components/RadialMenu/EffectPreview.svelte +0 -36
  80. package/src/lib/components/RadialMenu/EffectPreviewScene.svelte +0 -194
  81. package/src/lib/components/RadialMenu/RadialMenu.svelte +0 -503
  82. package/src/lib/components/RadialMenu/RadialMenuItem.svelte +0 -176
  83. package/src/lib/components/RadialMenu/index.ts +0 -2
  84. package/src/lib/components/RadialMenu/types.ts +0 -35
  85. package/src/lib/components/Select/Select.svelte +0 -342
  86. package/src/lib/components/Select/index.ts +0 -2
  87. package/src/lib/components/Select/types.ts +0 -22
  88. package/src/lib/components/Spacer/Spacer.svelte +0 -14
  89. package/src/lib/components/Spacer/index.ts +0 -2
  90. package/src/lib/components/Spacer/types.ts +0 -5
  91. package/src/lib/components/Stage/components/AnnotationLayer/AnnotationLayer.svelte +0 -445
  92. package/src/lib/components/Stage/components/AnnotationLayer/AnnotationMaterial.svelte +0 -167
  93. package/src/lib/components/Stage/components/AnnotationLayer/types.ts +0 -196
  94. package/src/lib/components/Stage/components/CursorLayer/CursorLayer.svelte +0 -148
  95. package/src/lib/components/Stage/components/CursorLayer/cursor.svg +0 -26
  96. package/src/lib/components/Stage/components/CursorLayer/index.ts +0 -2
  97. package/src/lib/components/Stage/components/CursorLayer/types.ts +0 -23
  98. package/src/lib/components/Stage/components/DrawingLayer/DrawingMaterial.svelte +0 -364
  99. package/src/lib/components/Stage/components/DrawingLayer/types.ts +0 -65
  100. package/src/lib/components/Stage/components/EdgeOverlayLayer/EdgeOverlayLayer.svelte +0 -72
  101. package/src/lib/components/Stage/components/EdgeOverlayLayer/types.ts +0 -34
  102. package/src/lib/components/Stage/components/FogLayer/FogLayer.svelte +0 -75
  103. package/src/lib/components/Stage/components/FogLayer/types.ts +0 -51
  104. package/src/lib/components/Stage/components/FogOfWarLayer/FogOfWarLayer.svelte +0 -249
  105. package/src/lib/components/Stage/components/FogOfWarLayer/FogOfWarMaterial.svelte +0 -200
  106. package/src/lib/components/Stage/components/FogOfWarLayer/types.ts +0 -116
  107. package/src/lib/components/Stage/components/GridLayer/GridLayer.svelte +0 -20
  108. package/src/lib/components/Stage/components/GridLayer/GridMaterial.svelte +0 -69
  109. package/src/lib/components/Stage/components/GridLayer/types.ts +0 -79
  110. package/src/lib/components/Stage/components/LayerInput/LayerInput.svelte +0 -300
  111. package/src/lib/components/Stage/components/MapLayer/MapLayer.svelte +0 -196
  112. package/src/lib/components/Stage/components/MapLayer/dataSources/GifDataSource.ts +0 -265
  113. package/src/lib/components/Stage/components/MapLayer/dataSources/IMapDataSource.ts +0 -55
  114. package/src/lib/components/Stage/components/MapLayer/dataSources/ImageDataSource.ts +0 -87
  115. package/src/lib/components/Stage/components/MapLayer/dataSources/VideoDataSource.ts +0 -150
  116. package/src/lib/components/Stage/components/MapLayer/dataSources/dataSourceFactory.ts +0 -48
  117. package/src/lib/components/Stage/components/MapLayer/dataSources/index.ts +0 -16
  118. package/src/lib/components/Stage/components/MapLayer/types.ts +0 -58
  119. package/src/lib/components/Stage/components/MarkerLayer/MarkerLayer.svelte +0 -398
  120. package/src/lib/components/Stage/components/MarkerLayer/MarkerToken.svelte +0 -262
  121. package/src/lib/components/Stage/components/MarkerLayer/types.ts +0 -126
  122. package/src/lib/components/Stage/components/MeasurementLayer/MeasurementLayer.svelte +0 -364
  123. package/src/lib/components/Stage/components/MeasurementLayer/MeasurementManager.svelte +0 -473
  124. package/src/lib/components/Stage/components/MeasurementLayer/measurements/BaseMeasurement.ts +0 -427
  125. package/src/lib/components/Stage/components/MeasurementLayer/measurements/BeamMeasurement.ts +0 -105
  126. package/src/lib/components/Stage/components/MeasurementLayer/measurements/CircleMeasurement.ts +0 -98
  127. package/src/lib/components/Stage/components/MeasurementLayer/measurements/ConeMeasurement.ts +0 -163
  128. package/src/lib/components/Stage/components/MeasurementLayer/measurements/LineMeasurement.ts +0 -102
  129. package/src/lib/components/Stage/components/MeasurementLayer/measurements/RectangleMeasurement.ts +0 -120
  130. package/src/lib/components/Stage/components/MeasurementLayer/measurements/index.ts +0 -7
  131. package/src/lib/components/Stage/components/MeasurementLayer/types.ts +0 -94
  132. package/src/lib/components/Stage/components/MeasurementLayer/utils/canvasDrawing.ts +0 -357
  133. package/src/lib/components/Stage/components/MeasurementLayer/utils/distanceCalculations.ts +0 -170
  134. package/src/lib/components/Stage/components/ParticleSystem/ParticleSystem.svelte +0 -220
  135. package/src/lib/components/Stage/components/ParticleSystem/particles/atlases/ash.png +0 -0
  136. package/src/lib/components/Stage/components/ParticleSystem/particles/atlases/leaves.png +0 -0
  137. package/src/lib/components/Stage/components/ParticleSystem/particles/atlases/rain.png +0 -0
  138. package/src/lib/components/Stage/components/ParticleSystem/particles/atlases/snow.png +0 -0
  139. package/src/lib/components/Stage/components/ParticleSystem/rng.js +0 -20
  140. package/src/lib/components/Stage/components/ParticleSystem/types.ts +0 -95
  141. package/src/lib/components/Stage/components/PerformanceDebugger/PerformanceDebugger.svelte +0 -144
  142. package/src/lib/components/Stage/components/PerformanceDebugger/index.ts +0 -1
  143. package/src/lib/components/Stage/components/PerformanceOverlay/PerformanceOverlay.svelte +0 -208
  144. package/src/lib/components/Stage/components/PerformanceOverlay/index.ts +0 -1
  145. package/src/lib/components/Stage/components/PointerInputManager/PointerInputManager.svelte +0 -201
  146. package/src/lib/components/Stage/components/Scene/Scene.svelte +0 -651
  147. package/src/lib/components/Stage/components/Scene/luts.ts +0 -24
  148. package/src/lib/components/Stage/components/Scene/types.ts +0 -225
  149. package/src/lib/components/Stage/components/Stage/Stage.svelte +0 -332
  150. package/src/lib/components/Stage/components/Stage/types.ts +0 -136
  151. package/src/lib/components/Stage/components/WeatherLayer/WeatherLayer.svelte +0 -135
  152. package/src/lib/components/Stage/components/WeatherLayer/presets/AshPreset.ts +0 -71
  153. package/src/lib/components/Stage/components/WeatherLayer/presets/LeavesPreset.ts +0 -70
  154. package/src/lib/components/Stage/components/WeatherLayer/presets/RainPreset.ts +0 -68
  155. package/src/lib/components/Stage/components/WeatherLayer/presets/SnowPreset.ts +0 -70
  156. package/src/lib/components/Stage/components/WeatherLayer/presets/index.ts +0 -6
  157. package/src/lib/components/Stage/components/WeatherLayer/types.ts +0 -35
  158. package/src/lib/components/Stage/helpers/clippingPlaneStore.svelte.ts +0 -28
  159. package/src/lib/components/Stage/helpers/debugState.svelte.ts +0 -18
  160. package/src/lib/components/Stage/helpers/grid.ts +0 -548
  161. package/src/lib/components/Stage/helpers/lazyBrush.ts +0 -171
  162. package/src/lib/components/Stage/helpers/performanceMetrics.svelte.ts +0 -220
  163. package/src/lib/components/Stage/helpers/utils.ts +0 -21
  164. package/src/lib/components/Stage/index.ts +0 -49
  165. package/src/lib/components/Stage/shaders/AnnotationEffects.frag +0 -1070
  166. package/src/lib/components/Stage/shaders/Annotations.frag +0 -29
  167. package/src/lib/components/Stage/shaders/Drawing.frag +0 -83
  168. package/src/lib/components/Stage/shaders/Drawing.vert +0 -5
  169. package/src/lib/components/Stage/shaders/Fog.frag +0 -147
  170. package/src/lib/components/Stage/shaders/FractalNoise.frag +0 -96
  171. package/src/lib/components/Stage/shaders/GridShader.frag +0 -174
  172. package/src/lib/components/Stage/shaders/Overlay.frag +0 -23
  173. package/src/lib/components/Stage/shaders/Overlay.vert +0 -0
  174. package/src/lib/components/Stage/shaders/Particles.frag +0 -27
  175. package/src/lib/components/Stage/shaders/Particles.vert +0 -51
  176. package/src/lib/components/Stage/shaders/ToolOutline.frag +0 -59
  177. package/src/lib/components/Stage/shaders/default.vert +0 -8
  178. package/src/lib/components/Stage/types.ts +0 -4
  179. package/src/lib/components/Table/Table.svelte +0 -16
  180. package/src/lib/components/Table/Td.svelte +0 -17
  181. package/src/lib/components/Table/Th.svelte +0 -18
  182. package/src/lib/components/Table/index.ts +0 -4
  183. package/src/lib/components/Table/types.ts +0 -14
  184. package/src/lib/components/Text/Text.svelte +0 -23
  185. package/src/lib/components/Text/index.ts +0 -2
  186. package/src/lib/components/Text/types.ts +0 -12
  187. package/src/lib/components/Title/Title.svelte +0 -54
  188. package/src/lib/components/Title/index.ts +0 -2
  189. package/src/lib/components/Title/types.ts +0 -9
  190. package/src/lib/components/Toast/Toast.svelte +0 -155
  191. package/src/lib/components/Toast/index.ts +0 -5
  192. package/src/lib/components/Toast/toastCookie.ts +0 -24
  193. package/src/lib/components/Toast/types.ts +0 -6
  194. package/src/lib/components/ToolTip/ToolTip.svelte +0 -70
  195. package/src/lib/components/ToolTip/index.ts +0 -2
  196. package/src/lib/components/ToolTip/types.ts +0 -14
  197. package/src/lib/components/index.ts +0 -32
  198. package/src/lib/components/types.ts +0 -0
  199. package/src/lib/index.ts +0 -2
  200. package/src/lib/styles/globals.css +0 -108
  201. package/src/lib/styles/normalize.css +0 -9
  202. package/src/lib/styles/reset.css +0 -133
  203. package/src/lib/styles/utilities.css +0 -179
  204. package/src/lib/styles/vars.css +0 -1103
  205. package/src/lib/types/awareness.ts +0 -17
  206. package/src/lib/utils/rle.ts +0 -217
@@ -1,201 +0,0 @@
1
- <script lang="ts">
2
- import type { StageProps } from '../Stage/types';
3
-
4
- interface Props {
5
- minZoom: number;
6
- maxZoom: number;
7
- zoomSensitivity: number;
8
- stageElement: HTMLDivElement;
9
- stageProps: StageProps;
10
- onMapPan: (dx: number, dy: number) => void;
11
- onMapRotate: (angle: number) => void;
12
- onMapZoom: (zoom: number) => void;
13
- onScenePan: (dx: number, dy: number) => void;
14
- onSceneRotate: (angle: number) => void;
15
- onSceneZoom: (zoom: number) => void;
16
- }
17
-
18
- // Props
19
- let {
20
- minZoom,
21
- maxZoom,
22
- zoomSensitivity,
23
- stageElement,
24
- stageProps,
25
- onMapPan,
26
- onMapRotate,
27
- onMapZoom,
28
- onScenePan,
29
- onSceneRotate,
30
- onSceneZoom
31
- }: Props = $props();
32
-
33
- // State for pointer tracking
34
- let pointerCache: PointerEvent[] = $state([]);
35
- let prevDiff = $state(-1);
36
- let prevAngle = $state(0);
37
- let isDragging = $state(false);
38
- let lastPointerCount = $state(0);
39
- let prevCentroid = $state<{ x: number; y: number } | null>(null);
40
-
41
- $effect(() => {
42
- if (!stageElement) return;
43
-
44
- stageElement.addEventListener('pointerdown', onPointerDown as EventListener);
45
- stageElement.addEventListener('pointermove', onPointerMove as EventListener);
46
- stageElement.addEventListener('pointerup', onPointerUp as EventListener);
47
- stageElement.addEventListener('pointercancel', onPointerUp as EventListener);
48
- stageElement.addEventListener('pointerout', onPointerUp as EventListener);
49
- stageElement.addEventListener('pointerleave', onPointerUp as EventListener);
50
-
51
- // Cleanup when stageElement changes or component unmounts
52
- return () => {
53
- stageElement.removeEventListener('pointerdown', onPointerDown as EventListener);
54
- stageElement.removeEventListener('pointermove', onPointerMove as EventListener);
55
- stageElement.removeEventListener('pointerup', onPointerUp as EventListener);
56
- stageElement.removeEventListener('pointercancel', onPointerUp as EventListener);
57
- stageElement.removeEventListener('pointerout', onPointerUp as EventListener);
58
- stageElement.removeEventListener('pointerleave', onPointerUp as EventListener);
59
- };
60
- });
61
-
62
- // Event handlers
63
- function onPointerDown(e: PointerEvent) {
64
- pointerCache.push(e);
65
- isDragging = true;
66
- }
67
-
68
- // Helper functions for pointer calculations
69
- function calculateRotatedMovement(e: PointerEvent, rotation: number) {
70
- const radians = (Math.PI / 180) * rotation;
71
- return {
72
- dx: e.movementX * Math.cos(radians) + e.movementY * Math.sin(radians),
73
- dy: -1 * (-e.movementX * Math.sin(radians) + e.movementY * Math.cos(radians))
74
- };
75
- }
76
-
77
- function calculatePinchAndRotation(pointers: PointerEvent[]) {
78
- const [p1, p2] = pointers;
79
- const curDiff = Math.hypot(p1.clientX - p2.clientX, p1.clientY - p2.clientY);
80
- const zoomDelta = -(curDiff - prevDiff) * zoomSensitivity;
81
-
82
- const curAngle = Math.atan2(p2.clientY - p1.clientY, p2.clientX - p1.clientX);
83
- let angleDelta = curAngle - prevAngle;
84
-
85
- // Normalize angle delta to handle wrapping around ±π boundary
86
- if (angleDelta > Math.PI) {
87
- angleDelta -= 2 * Math.PI;
88
- } else if (angleDelta < -Math.PI) {
89
- angleDelta += 2 * Math.PI;
90
- }
91
-
92
- return { curDiff, zoomDelta, curAngle, angleDelta };
93
- }
94
-
95
- function calculateCentroidMovement(pointers: PointerEvent[], rotation: number) {
96
- const [p1, p2] = pointers;
97
- const curCentroid = {
98
- x: (p1.clientX + p2.clientX) / 2,
99
- y: (p1.clientY + p2.clientY) / 2
100
- };
101
-
102
- if (!prevCentroid) {
103
- return { dx: 0, dy: 0, curCentroid };
104
- }
105
-
106
- const rawDx = curCentroid.x - prevCentroid.x;
107
- const rawDy = curCentroid.y - prevCentroid.y;
108
-
109
- // Apply rotation transformation
110
- const radians = (Math.PI / 180) * rotation;
111
- const dx = rawDx * Math.cos(radians) + rawDy * Math.sin(radians);
112
- const dy = -1 * (-rawDx * Math.sin(radians) + rawDy * Math.cos(radians));
113
-
114
- return { dx, dy, curCentroid };
115
- }
116
-
117
- function handleSinglePointer(e: PointerEvent) {
118
- const { dx, dy } = calculateRotatedMovement(e, stageProps.scene.rotation);
119
-
120
- if (e.shiftKey) {
121
- const movementFactor = 1 / stageProps.scene.zoom;
122
- onMapPan(dx * movementFactor, dy * movementFactor);
123
- } else if (e.ctrlKey) {
124
- onScenePan(dx, dy);
125
- }
126
- }
127
-
128
- function handleMultiPointer(pointers: PointerEvent[], isMapControl: boolean) {
129
- const { curDiff, zoomDelta, curAngle, angleDelta } = calculatePinchAndRotation(pointers);
130
-
131
- // Use centroid-based movement (center of the two pointers)
132
- const { dx, dy, curCentroid } = calculateCentroidMovement(pointers, stageProps.scene.rotation);
133
- prevCentroid = curCentroid;
134
-
135
- if (prevDiff > 0) {
136
- if (isMapControl) {
137
- onMapPan(dx, dy);
138
- onMapZoom(Math.max(minZoom, Math.min(stageProps.map.zoom - zoomDelta, maxZoom)));
139
- onMapRotate(stageProps.map.rotation - (angleDelta * 180) / Math.PI);
140
- } else {
141
- onScenePan(dx, dy);
142
- onSceneZoom(Math.max(minZoom, Math.min(stageProps.scene.zoom - zoomDelta, maxZoom)));
143
- onSceneRotate(stageProps.scene.rotation + (angleDelta * 180) / Math.PI);
144
- }
145
- }
146
-
147
- prevDiff = curDiff;
148
- prevAngle = curAngle;
149
- }
150
-
151
- function onPointerMove(e: PointerEvent) {
152
- if (!isDragging) return;
153
-
154
- // Update pointer cache
155
- const index = pointerCache.findIndex((cachedEv) => cachedEv.pointerId === e.pointerId);
156
- if (index !== -1) {
157
- pointerCache[index] = e;
158
- }
159
-
160
- // Reset multi-touch state when transitioning from single to multi-touch
161
- // This prevents using stale movement data from single-touch phase
162
- if (lastPointerCount !== pointerCache.length) {
163
- if (pointerCache.length >= 2 && lastPointerCount < 2) {
164
- prevDiff = -1;
165
- prevAngle = 0;
166
- prevCentroid = null;
167
- }
168
- lastPointerCount = pointerCache.length;
169
- }
170
-
171
- // Handle different pointer counts
172
- switch (pointerCache.length) {
173
- case 1:
174
- handleSinglePointer(e);
175
- break;
176
- case 2:
177
- handleMultiPointer(pointerCache, false); // Scene controls
178
- break;
179
- case 3:
180
- handleMultiPointer([pointerCache[0], pointerCache[2]], true); // Map controls
181
- break;
182
- }
183
- }
184
-
185
- function onPointerUp(e: PointerEvent) {
186
- // Remove this pointer from the cache
187
- const index = pointerCache.findIndex((cachedEv) => cachedEv.pointerId === e.pointerId);
188
- if (index !== -1) {
189
- pointerCache.splice(index, 1);
190
- }
191
-
192
- // Reset state if no pointers are down
193
- if (pointerCache.length === 0) {
194
- isDragging = false;
195
- prevDiff = -1;
196
- prevAngle = 0;
197
- lastPointerCount = 0;
198
- prevCentroid = null;
199
- }
200
- }
201
- </script>