@tableslayer/ui 0.1.4 → 0.1.6

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 (387) hide show
  1. package/dist/components/MarkerTooltip/MarkerTooltip.svelte +9 -1
  2. package/dist/components/MarkerTooltip/MarkerTooltip.svelte.d.ts +13 -16
  3. package/dist/components/index.d.ts +0 -5
  4. package/dist/components/index.js +0 -5
  5. package/package.json +9 -16
  6. package/dist/components/DrawingSliders/DrawingSliders.svelte +0 -379
  7. package/dist/components/DrawingSliders/DrawingSliders.svelte.d.ts +0 -16
  8. package/dist/components/DrawingSliders/index.d.ts +0 -1
  9. package/dist/components/DrawingSliders/index.js +0 -1
  10. package/dist/components/MyCounterButton.svelte +0 -11
  11. package/dist/components/MyCounterButton.svelte.d.ts +0 -3
  12. package/dist/components/PropsTable/PropsTable.svelte +0 -107
  13. package/dist/components/PropsTable/PropsTable.svelte.d.ts +0 -26
  14. package/dist/components/RadialMenu/EffectPreview.svelte +0 -36
  15. package/dist/components/RadialMenu/EffectPreview.svelte.d.ts +0 -9
  16. package/dist/components/RadialMenu/EffectPreviewScene.svelte +0 -194
  17. package/dist/components/RadialMenu/EffectPreviewScene.svelte.d.ts +0 -8
  18. package/dist/components/RadialMenu/RadialMenu.svelte +0 -503
  19. package/dist/components/RadialMenu/RadialMenu.svelte.d.ts +0 -4
  20. package/dist/components/RadialMenu/RadialMenuItem.svelte +0 -176
  21. package/dist/components/RadialMenu/RadialMenuItem.svelte.d.ts +0 -11
  22. package/dist/components/RadialMenu/index.d.ts +0 -2
  23. package/dist/components/RadialMenu/index.js +0 -2
  24. package/dist/components/RadialMenu/types.d.ts +0 -35
  25. package/dist/components/RadialMenu/types.js +0 -1
  26. package/dist/components/Stage/components/AnnotationLayer/AnnotationLayer.svelte +0 -445
  27. package/dist/components/Stage/components/AnnotationLayer/AnnotationLayer.svelte.d.ts +0 -19
  28. package/dist/components/Stage/components/AnnotationLayer/AnnotationMaterial.svelte +0 -167
  29. package/dist/components/Stage/components/AnnotationLayer/AnnotationMaterial.svelte.d.ts +0 -20
  30. package/dist/components/Stage/components/AnnotationLayer/types.d.ts +0 -121
  31. package/dist/components/Stage/components/AnnotationLayer/types.js +0 -71
  32. package/dist/components/Stage/components/CursorLayer/CursorLayer.svelte +0 -148
  33. package/dist/components/Stage/components/CursorLayer/CursorLayer.svelte.d.ts +0 -7
  34. package/dist/components/Stage/components/CursorLayer/cursor.svg +0 -26
  35. package/dist/components/Stage/components/CursorLayer/index.d.ts +0 -2
  36. package/dist/components/Stage/components/CursorLayer/index.js +0 -1
  37. package/dist/components/Stage/components/CursorLayer/types.d.ts +0 -28
  38. package/dist/components/Stage/components/CursorLayer/types.js +0 -1
  39. package/dist/components/Stage/components/DrawingLayer/DrawingMaterial.svelte +0 -364
  40. package/dist/components/Stage/components/DrawingLayer/DrawingMaterial.svelte.d.ts +0 -24
  41. package/dist/components/Stage/components/DrawingLayer/types.d.ts +0 -56
  42. package/dist/components/Stage/components/DrawingLayer/types.js +0 -23
  43. package/dist/components/Stage/components/EdgeOverlayLayer/EdgeOverlayLayer.svelte +0 -72
  44. package/dist/components/Stage/components/EdgeOverlayLayer/EdgeOverlayLayer.svelte.d.ts +0 -11
  45. package/dist/components/Stage/components/EdgeOverlayLayer/types.d.ts +0 -29
  46. package/dist/components/Stage/components/EdgeOverlayLayer/types.js +0 -1
  47. package/dist/components/Stage/components/FogLayer/FogLayer.svelte +0 -75
  48. package/dist/components/Stage/components/FogLayer/FogLayer.svelte.d.ts +0 -11
  49. package/dist/components/Stage/components/FogLayer/types.d.ts +0 -42
  50. package/dist/components/Stage/components/FogLayer/types.js +0 -1
  51. package/dist/components/Stage/components/FogOfWarLayer/FogOfWarLayer.svelte +0 -249
  52. package/dist/components/Stage/components/FogOfWarLayer/FogOfWarLayer.svelte.d.ts +0 -19
  53. package/dist/components/Stage/components/FogOfWarLayer/FogOfWarMaterial.svelte +0 -200
  54. package/dist/components/Stage/components/FogOfWarLayer/FogOfWarMaterial.svelte.d.ts +0 -18
  55. package/dist/components/Stage/components/FogOfWarLayer/types.d.ts +0 -143
  56. package/dist/components/Stage/components/FogOfWarLayer/types.js +0 -1
  57. package/dist/components/Stage/components/GridLayer/GridLayer.svelte +0 -20
  58. package/dist/components/Stage/components/GridLayer/GridLayer.svelte.d.ts +0 -12
  59. package/dist/components/Stage/components/GridLayer/GridMaterial.svelte +0 -69
  60. package/dist/components/Stage/components/GridLayer/GridMaterial.svelte.d.ts +0 -10
  61. package/dist/components/Stage/components/GridLayer/types.d.ts +0 -65
  62. package/dist/components/Stage/components/GridLayer/types.js +0 -10
  63. package/dist/components/Stage/components/LayerInput/LayerInput.svelte +0 -300
  64. package/dist/components/Stage/components/LayerInput/LayerInput.svelte.d.ts +0 -20
  65. package/dist/components/Stage/components/MapLayer/MapLayer.svelte +0 -196
  66. package/dist/components/Stage/components/MapLayer/MapLayer.svelte.d.ts +0 -24
  67. package/dist/components/Stage/components/MapLayer/dataSources/GifDataSource.d.ts +0 -93
  68. package/dist/components/Stage/components/MapLayer/dataSources/GifDataSource.js +0 -229
  69. package/dist/components/Stage/components/MapLayer/dataSources/IMapDataSource.d.ts +0 -51
  70. package/dist/components/Stage/components/MapLayer/dataSources/IMapDataSource.js +0 -1
  71. package/dist/components/Stage/components/MapLayer/dataSources/ImageDataSource.d.ts +0 -49
  72. package/dist/components/Stage/components/MapLayer/dataSources/ImageDataSource.js +0 -87
  73. package/dist/components/Stage/components/MapLayer/dataSources/VideoDataSource.d.ts +0 -52
  74. package/dist/components/Stage/components/MapLayer/dataSources/VideoDataSource.js +0 -141
  75. package/dist/components/Stage/components/MapLayer/dataSources/dataSourceFactory.d.ts +0 -21
  76. package/dist/components/Stage/components/MapLayer/dataSources/dataSourceFactory.js +0 -44
  77. package/dist/components/Stage/components/MapLayer/dataSources/index.d.ts +0 -15
  78. package/dist/components/Stage/components/MapLayer/dataSources/index.js +0 -14
  79. package/dist/components/Stage/components/MapLayer/types.d.ts +0 -54
  80. package/dist/components/Stage/components/MapLayer/types.js +0 -9
  81. package/dist/components/Stage/components/MarkerLayer/MarkerLayer.svelte +0 -398
  82. package/dist/components/Stage/components/MarkerLayer/MarkerLayer.svelte.d.ts +0 -24
  83. package/dist/components/Stage/components/MarkerLayer/MarkerToken.svelte +0 -262
  84. package/dist/components/Stage/components/MarkerLayer/MarkerToken.svelte.d.ts +0 -27
  85. package/dist/components/Stage/components/MarkerLayer/types.d.ts +0 -109
  86. package/dist/components/Stage/components/MarkerLayer/types.js +0 -21
  87. package/dist/components/Stage/components/MeasurementLayer/MeasurementLayer.svelte +0 -364
  88. package/dist/components/Stage/components/MeasurementLayer/MeasurementLayer.svelte.d.ts +0 -49
  89. package/dist/components/Stage/components/MeasurementLayer/MeasurementManager.svelte +0 -473
  90. package/dist/components/Stage/components/MeasurementLayer/MeasurementManager.svelte.d.ts +0 -24
  91. package/dist/components/Stage/components/MeasurementLayer/measurements/BaseMeasurement.d.ts +0 -150
  92. package/dist/components/Stage/components/MeasurementLayer/measurements/BaseMeasurement.js +0 -274
  93. package/dist/components/Stage/components/MeasurementLayer/measurements/BeamMeasurement.d.ts +0 -10
  94. package/dist/components/Stage/components/MeasurementLayer/measurements/BeamMeasurement.js +0 -58
  95. package/dist/components/Stage/components/MeasurementLayer/measurements/CircleMeasurement.d.ts +0 -9
  96. package/dist/components/Stage/components/MeasurementLayer/measurements/CircleMeasurement.js +0 -66
  97. package/dist/components/Stage/components/MeasurementLayer/measurements/ConeMeasurement.d.ts +0 -10
  98. package/dist/components/Stage/components/MeasurementLayer/measurements/ConeMeasurement.js +0 -103
  99. package/dist/components/Stage/components/MeasurementLayer/measurements/LineMeasurement.d.ts +0 -9
  100. package/dist/components/Stage/components/MeasurementLayer/measurements/LineMeasurement.js +0 -75
  101. package/dist/components/Stage/components/MeasurementLayer/measurements/RectangleMeasurement.d.ts +0 -9
  102. package/dist/components/Stage/components/MeasurementLayer/measurements/RectangleMeasurement.js +0 -73
  103. package/dist/components/Stage/components/MeasurementLayer/measurements/index.d.ts +0 -2
  104. package/dist/components/Stage/components/MeasurementLayer/measurements/index.js +0 -7
  105. package/dist/components/Stage/components/MeasurementLayer/types.d.ts +0 -76
  106. package/dist/components/Stage/components/MeasurementLayer/types.js +0 -9
  107. package/dist/components/Stage/components/MeasurementLayer/utils/canvasDrawing.d.ts +0 -83
  108. package/dist/components/Stage/components/MeasurementLayer/utils/canvasDrawing.js +0 -267
  109. package/dist/components/Stage/components/MeasurementLayer/utils/distanceCalculations.d.ts +0 -74
  110. package/dist/components/Stage/components/MeasurementLayer/utils/distanceCalculations.js +0 -130
  111. package/dist/components/Stage/components/ParticleSystem/ParticleSystem.svelte +0 -220
  112. package/dist/components/Stage/components/ParticleSystem/ParticleSystem.svelte.d.ts +0 -9
  113. package/dist/components/Stage/components/ParticleSystem/particles/atlases/ash.png +0 -0
  114. package/dist/components/Stage/components/ParticleSystem/particles/atlases/leaves.png +0 -0
  115. package/dist/components/Stage/components/ParticleSystem/particles/atlases/rain.png +0 -0
  116. package/dist/components/Stage/components/ParticleSystem/particles/atlases/snow.png +0 -0
  117. package/dist/components/Stage/components/ParticleSystem/rng.d.ts +0 -7
  118. package/dist/components/Stage/components/ParticleSystem/rng.js +0 -20
  119. package/dist/components/Stage/components/ParticleSystem/types.d.ts +0 -88
  120. package/dist/components/Stage/components/ParticleSystem/types.js +0 -37
  121. package/dist/components/Stage/components/PerformanceDebugger/PerformanceDebugger.svelte +0 -144
  122. package/dist/components/Stage/components/PerformanceDebugger/PerformanceDebugger.svelte.d.ts +0 -19
  123. package/dist/components/Stage/components/PerformanceDebugger/index.d.ts +0 -1
  124. package/dist/components/Stage/components/PerformanceDebugger/index.js +0 -1
  125. package/dist/components/Stage/components/PerformanceOverlay/PerformanceOverlay.svelte +0 -208
  126. package/dist/components/Stage/components/PerformanceOverlay/PerformanceOverlay.svelte.d.ts +0 -7
  127. package/dist/components/Stage/components/PerformanceOverlay/index.d.ts +0 -1
  128. package/dist/components/Stage/components/PerformanceOverlay/index.js +0 -1
  129. package/dist/components/Stage/components/PointerInputManager/PointerInputManager.svelte +0 -201
  130. package/dist/components/Stage/components/PointerInputManager/PointerInputManager.svelte.d.ts +0 -17
  131. package/dist/components/Stage/components/Scene/Scene.svelte +0 -651
  132. package/dist/components/Stage/components/Scene/Scene.svelte.d.ts +0 -88
  133. package/dist/components/Stage/components/Scene/luts.d.ts +0 -7
  134. package/dist/components/Stage/components/Scene/luts.js +0 -33
  135. package/dist/components/Stage/components/Scene/types.d.ts +0 -207
  136. package/dist/components/Stage/components/Scene/types.js +0 -35
  137. package/dist/components/Stage/components/Stage/Stage.svelte +0 -332
  138. package/dist/components/Stage/components/Stage/Stage.svelte.d.ts +0 -86
  139. package/dist/components/Stage/components/Stage/types.d.ts +0 -163
  140. package/dist/components/Stage/components/Stage/types.js +0 -5
  141. package/dist/components/Stage/components/WeatherLayer/WeatherLayer.svelte +0 -135
  142. package/dist/components/Stage/components/WeatherLayer/WeatherLayer.svelte.d.ts +0 -13
  143. package/dist/components/Stage/components/WeatherLayer/presets/AshPreset.d.ts +0 -3
  144. package/dist/components/Stage/components/WeatherLayer/presets/AshPreset.js +0 -69
  145. package/dist/components/Stage/components/WeatherLayer/presets/LeavesPreset.d.ts +0 -3
  146. package/dist/components/Stage/components/WeatherLayer/presets/LeavesPreset.js +0 -68
  147. package/dist/components/Stage/components/WeatherLayer/presets/RainPreset.d.ts +0 -3
  148. package/dist/components/Stage/components/WeatherLayer/presets/RainPreset.js +0 -67
  149. package/dist/components/Stage/components/WeatherLayer/presets/SnowPreset.d.ts +0 -3
  150. package/dist/components/Stage/components/WeatherLayer/presets/SnowPreset.js +0 -68
  151. package/dist/components/Stage/components/WeatherLayer/presets/index.d.ts +0 -5
  152. package/dist/components/Stage/components/WeatherLayer/presets/index.js +0 -5
  153. package/dist/components/Stage/components/WeatherLayer/types.d.ts +0 -31
  154. package/dist/components/Stage/components/WeatherLayer/types.js +0 -9
  155. package/dist/components/Stage/helpers/clippingPlaneStore.svelte.d.ts +0 -7
  156. package/dist/components/Stage/helpers/clippingPlaneStore.svelte.js +0 -23
  157. package/dist/components/Stage/helpers/debugState.svelte.d.ts +0 -10
  158. package/dist/components/Stage/helpers/debugState.svelte.js +0 -13
  159. package/dist/components/Stage/helpers/grid.d.ts +0 -72
  160. package/dist/components/Stage/helpers/grid.js +0 -444
  161. package/dist/components/Stage/helpers/lazyBrush.d.ts +0 -63
  162. package/dist/components/Stage/helpers/lazyBrush.js +0 -137
  163. package/dist/components/Stage/helpers/performanceMetrics.svelte.d.ts +0 -62
  164. package/dist/components/Stage/helpers/performanceMetrics.svelte.js +0 -165
  165. package/dist/components/Stage/helpers/utils.d.ts +0 -3
  166. package/dist/components/Stage/helpers/utils.js +0 -18
  167. package/dist/components/Stage/index.d.ts +0 -21
  168. package/dist/components/Stage/index.js +0 -21
  169. package/dist/components/Stage/shaders/AnnotationEffects.frag +0 -1070
  170. package/dist/components/Stage/shaders/Annotations.frag +0 -29
  171. package/dist/components/Stage/shaders/Drawing.frag +0 -83
  172. package/dist/components/Stage/shaders/Drawing.vert +0 -5
  173. package/dist/components/Stage/shaders/Fog.frag +0 -147
  174. package/dist/components/Stage/shaders/FractalNoise.frag +0 -96
  175. package/dist/components/Stage/shaders/GridShader.frag +0 -174
  176. package/dist/components/Stage/shaders/Overlay.frag +0 -23
  177. package/dist/components/Stage/shaders/Overlay.vert +0 -0
  178. package/dist/components/Stage/shaders/Particles.frag +0 -27
  179. package/dist/components/Stage/shaders/Particles.vert +0 -51
  180. package/dist/components/Stage/shaders/ToolOutline.frag +0 -59
  181. package/dist/components/Stage/shaders/default.vert +0 -8
  182. package/dist/components/Stage/types.d.ts +0 -4
  183. package/dist/components/Stage/types.js +0 -1
  184. package/src/lib/components/Avatar/Avatar.svelte +0 -82
  185. package/src/lib/components/Avatar/AvatarFileInput.svelte +0 -85
  186. package/src/lib/components/Avatar/AvatarPopover.svelte +0 -34
  187. package/src/lib/components/Avatar/index.ts +0 -4
  188. package/src/lib/components/Avatar/types.ts +0 -24
  189. package/src/lib/components/BrushSizeSlider/BrushSizeSlider.svelte +0 -174
  190. package/src/lib/components/BrushSizeSlider/index.ts +0 -1
  191. package/src/lib/components/Button/Button.svelte +0 -182
  192. package/src/lib/components/Button/ConfirmActionButton.svelte +0 -98
  193. package/src/lib/components/Button/IconButton.svelte +0 -121
  194. package/src/lib/components/Button/RadioButton.svelte +0 -93
  195. package/src/lib/components/Button/index.ts +0 -5
  196. package/src/lib/components/Button/types.ts +0 -54
  197. package/src/lib/components/CardFan/CardFan.svelte +0 -165
  198. package/src/lib/components/CardFan/index.ts +0 -2
  199. package/src/lib/components/CardFan/types.ts +0 -6
  200. package/src/lib/components/CodeBlock/Code.svelte +0 -7
  201. package/src/lib/components/CodeBlock/CodeBlock.svelte +0 -102
  202. package/src/lib/components/CodeBlock/index.ts +0 -3
  203. package/src/lib/components/CodeBlock/types.ts +0 -10
  204. package/src/lib/components/ColorMode/ColorMode.svelte +0 -8
  205. package/src/lib/components/ColorMode/index.ts +0 -2
  206. package/src/lib/components/ColorMode/types.ts +0 -12
  207. package/src/lib/components/ColorPicker/ColorPicker.svelte +0 -838
  208. package/src/lib/components/ColorPicker/ColorPickerSwatch.svelte +0 -32
  209. package/src/lib/components/ColorPicker/index.ts +0 -3
  210. package/src/lib/components/ColorPicker/types.ts +0 -51
  211. package/src/lib/components/ContextMenu/ContextMenu.svelte +0 -86
  212. package/src/lib/components/ContextMenu/index.ts +0 -2
  213. package/src/lib/components/ContextMenu/types.ts +0 -15
  214. package/src/lib/components/DrawingSliders/DrawingSliders.svelte +0 -379
  215. package/src/lib/components/DrawingSliders/index.ts +0 -1
  216. package/src/lib/components/Editor/Editor.svelte +0 -825
  217. package/src/lib/components/Editor/index.ts +0 -1
  218. package/src/lib/components/FogSliders/FogSliders.svelte +0 -33
  219. package/src/lib/components/FogSliders/index.ts +0 -1
  220. package/src/lib/components/Hr/Hr.svelte +0 -15
  221. package/src/lib/components/Hr/index.ts +0 -1
  222. package/src/lib/components/Icon/Icon.svelte +0 -6
  223. package/src/lib/components/Icon/index.ts +0 -2
  224. package/src/lib/components/Icon/types.ts +0 -20
  225. package/src/lib/components/Input/DualInputSlider.svelte +0 -126
  226. package/src/lib/components/Input/FileInput.svelte +0 -176
  227. package/src/lib/components/Input/FormControl.svelte +0 -150
  228. package/src/lib/components/Input/FormError.svelte +0 -37
  229. package/src/lib/components/Input/Input.svelte +0 -56
  230. package/src/lib/components/Input/InputCheckbox.svelte +0 -99
  231. package/src/lib/components/Input/InputSlider.svelte +0 -86
  232. package/src/lib/components/Input/Label.svelte +0 -19
  233. package/src/lib/components/Input/index.ts +0 -9
  234. package/src/lib/components/Input/types.ts +0 -39
  235. package/src/lib/components/Link/Link.svelte +0 -41
  236. package/src/lib/components/Link/LinkBox.svelte +0 -20
  237. package/src/lib/components/Link/LinkOverlay.svelte +0 -23
  238. package/src/lib/components/Link/index.ts +0 -4
  239. package/src/lib/components/Link/types.ts +0 -17
  240. package/src/lib/components/Loading/Loader.svelte +0 -60
  241. package/src/lib/components/Loading/Skeleton.svelte +0 -9
  242. package/src/lib/components/Loading/index.ts +0 -2
  243. package/src/lib/components/Logo/Logo.svelte +0 -16
  244. package/src/lib/components/Logo/index.ts +0 -1
  245. package/src/lib/components/MarkerTooltip/MarkerTooltip.svelte +0 -435
  246. package/src/lib/components/MarkerTooltip/index.ts +0 -1
  247. package/src/lib/components/Menu/SelectorMenu.svelte +0 -280
  248. package/src/lib/components/Menu/index.ts +0 -2
  249. package/src/lib/components/Menu/types.ts +0 -17
  250. package/src/lib/components/MyCounterButton.svelte +0 -11
  251. package/src/lib/components/Panel/index.ts +0 -2
  252. package/src/lib/components/Panel/panel.svelte +0 -18
  253. package/src/lib/components/Panel/types.ts +0 -8
  254. package/src/lib/components/PersistButton/PersistButton.svelte +0 -100
  255. package/src/lib/components/PersistButton/index.ts +0 -1
  256. package/src/lib/components/Popover/Popover.svelte +0 -81
  257. package/src/lib/components/Popover/index.ts +0 -2
  258. package/src/lib/components/Popover/types.ts +0 -19
  259. package/src/lib/components/PropsTable/PropsTable.svelte +0 -107
  260. package/src/lib/components/RadialMenu/EffectPreview.svelte +0 -36
  261. package/src/lib/components/RadialMenu/EffectPreviewScene.svelte +0 -194
  262. package/src/lib/components/RadialMenu/RadialMenu.svelte +0 -503
  263. package/src/lib/components/RadialMenu/RadialMenuItem.svelte +0 -176
  264. package/src/lib/components/RadialMenu/index.ts +0 -2
  265. package/src/lib/components/RadialMenu/types.ts +0 -35
  266. package/src/lib/components/Select/Select.svelte +0 -342
  267. package/src/lib/components/Select/index.ts +0 -2
  268. package/src/lib/components/Select/types.ts +0 -22
  269. package/src/lib/components/Spacer/Spacer.svelte +0 -14
  270. package/src/lib/components/Spacer/index.ts +0 -2
  271. package/src/lib/components/Spacer/types.ts +0 -5
  272. package/src/lib/components/Stage/components/AnnotationLayer/AnnotationLayer.svelte +0 -445
  273. package/src/lib/components/Stage/components/AnnotationLayer/AnnotationMaterial.svelte +0 -167
  274. package/src/lib/components/Stage/components/AnnotationLayer/types.ts +0 -196
  275. package/src/lib/components/Stage/components/CursorLayer/CursorLayer.svelte +0 -148
  276. package/src/lib/components/Stage/components/CursorLayer/cursor.svg +0 -26
  277. package/src/lib/components/Stage/components/CursorLayer/index.ts +0 -2
  278. package/src/lib/components/Stage/components/CursorLayer/types.ts +0 -23
  279. package/src/lib/components/Stage/components/DrawingLayer/DrawingMaterial.svelte +0 -364
  280. package/src/lib/components/Stage/components/DrawingLayer/types.ts +0 -65
  281. package/src/lib/components/Stage/components/EdgeOverlayLayer/EdgeOverlayLayer.svelte +0 -72
  282. package/src/lib/components/Stage/components/EdgeOverlayLayer/types.ts +0 -34
  283. package/src/lib/components/Stage/components/FogLayer/FogLayer.svelte +0 -75
  284. package/src/lib/components/Stage/components/FogLayer/types.ts +0 -51
  285. package/src/lib/components/Stage/components/FogOfWarLayer/FogOfWarLayer.svelte +0 -249
  286. package/src/lib/components/Stage/components/FogOfWarLayer/FogOfWarMaterial.svelte +0 -200
  287. package/src/lib/components/Stage/components/FogOfWarLayer/types.ts +0 -116
  288. package/src/lib/components/Stage/components/GridLayer/GridLayer.svelte +0 -20
  289. package/src/lib/components/Stage/components/GridLayer/GridMaterial.svelte +0 -69
  290. package/src/lib/components/Stage/components/GridLayer/types.ts +0 -79
  291. package/src/lib/components/Stage/components/LayerInput/LayerInput.svelte +0 -300
  292. package/src/lib/components/Stage/components/MapLayer/MapLayer.svelte +0 -196
  293. package/src/lib/components/Stage/components/MapLayer/dataSources/GifDataSource.ts +0 -265
  294. package/src/lib/components/Stage/components/MapLayer/dataSources/IMapDataSource.ts +0 -55
  295. package/src/lib/components/Stage/components/MapLayer/dataSources/ImageDataSource.ts +0 -87
  296. package/src/lib/components/Stage/components/MapLayer/dataSources/VideoDataSource.ts +0 -150
  297. package/src/lib/components/Stage/components/MapLayer/dataSources/dataSourceFactory.ts +0 -48
  298. package/src/lib/components/Stage/components/MapLayer/dataSources/index.ts +0 -16
  299. package/src/lib/components/Stage/components/MapLayer/types.ts +0 -58
  300. package/src/lib/components/Stage/components/MarkerLayer/MarkerLayer.svelte +0 -398
  301. package/src/lib/components/Stage/components/MarkerLayer/MarkerToken.svelte +0 -262
  302. package/src/lib/components/Stage/components/MarkerLayer/types.ts +0 -126
  303. package/src/lib/components/Stage/components/MeasurementLayer/MeasurementLayer.svelte +0 -364
  304. package/src/lib/components/Stage/components/MeasurementLayer/MeasurementManager.svelte +0 -473
  305. package/src/lib/components/Stage/components/MeasurementLayer/measurements/BaseMeasurement.ts +0 -427
  306. package/src/lib/components/Stage/components/MeasurementLayer/measurements/BeamMeasurement.ts +0 -105
  307. package/src/lib/components/Stage/components/MeasurementLayer/measurements/CircleMeasurement.ts +0 -98
  308. package/src/lib/components/Stage/components/MeasurementLayer/measurements/ConeMeasurement.ts +0 -163
  309. package/src/lib/components/Stage/components/MeasurementLayer/measurements/LineMeasurement.ts +0 -102
  310. package/src/lib/components/Stage/components/MeasurementLayer/measurements/RectangleMeasurement.ts +0 -120
  311. package/src/lib/components/Stage/components/MeasurementLayer/measurements/index.ts +0 -7
  312. package/src/lib/components/Stage/components/MeasurementLayer/types.ts +0 -94
  313. package/src/lib/components/Stage/components/MeasurementLayer/utils/canvasDrawing.ts +0 -357
  314. package/src/lib/components/Stage/components/MeasurementLayer/utils/distanceCalculations.ts +0 -170
  315. package/src/lib/components/Stage/components/ParticleSystem/ParticleSystem.svelte +0 -220
  316. package/src/lib/components/Stage/components/ParticleSystem/particles/atlases/ash.png +0 -0
  317. package/src/lib/components/Stage/components/ParticleSystem/particles/atlases/leaves.png +0 -0
  318. package/src/lib/components/Stage/components/ParticleSystem/particles/atlases/rain.png +0 -0
  319. package/src/lib/components/Stage/components/ParticleSystem/particles/atlases/snow.png +0 -0
  320. package/src/lib/components/Stage/components/ParticleSystem/rng.js +0 -20
  321. package/src/lib/components/Stage/components/ParticleSystem/types.ts +0 -95
  322. package/src/lib/components/Stage/components/PerformanceDebugger/PerformanceDebugger.svelte +0 -144
  323. package/src/lib/components/Stage/components/PerformanceDebugger/index.ts +0 -1
  324. package/src/lib/components/Stage/components/PerformanceOverlay/PerformanceOverlay.svelte +0 -208
  325. package/src/lib/components/Stage/components/PerformanceOverlay/index.ts +0 -1
  326. package/src/lib/components/Stage/components/PointerInputManager/PointerInputManager.svelte +0 -201
  327. package/src/lib/components/Stage/components/Scene/Scene.svelte +0 -651
  328. package/src/lib/components/Stage/components/Scene/luts.ts +0 -24
  329. package/src/lib/components/Stage/components/Scene/types.ts +0 -225
  330. package/src/lib/components/Stage/components/Stage/Stage.svelte +0 -332
  331. package/src/lib/components/Stage/components/Stage/types.ts +0 -136
  332. package/src/lib/components/Stage/components/WeatherLayer/WeatherLayer.svelte +0 -135
  333. package/src/lib/components/Stage/components/WeatherLayer/presets/AshPreset.ts +0 -71
  334. package/src/lib/components/Stage/components/WeatherLayer/presets/LeavesPreset.ts +0 -70
  335. package/src/lib/components/Stage/components/WeatherLayer/presets/RainPreset.ts +0 -68
  336. package/src/lib/components/Stage/components/WeatherLayer/presets/SnowPreset.ts +0 -70
  337. package/src/lib/components/Stage/components/WeatherLayer/presets/index.ts +0 -6
  338. package/src/lib/components/Stage/components/WeatherLayer/types.ts +0 -35
  339. package/src/lib/components/Stage/helpers/clippingPlaneStore.svelte.ts +0 -28
  340. package/src/lib/components/Stage/helpers/debugState.svelte.ts +0 -18
  341. package/src/lib/components/Stage/helpers/grid.ts +0 -548
  342. package/src/lib/components/Stage/helpers/lazyBrush.ts +0 -171
  343. package/src/lib/components/Stage/helpers/performanceMetrics.svelte.ts +0 -220
  344. package/src/lib/components/Stage/helpers/utils.ts +0 -21
  345. package/src/lib/components/Stage/index.ts +0 -49
  346. package/src/lib/components/Stage/shaders/AnnotationEffects.frag +0 -1070
  347. package/src/lib/components/Stage/shaders/Annotations.frag +0 -29
  348. package/src/lib/components/Stage/shaders/Drawing.frag +0 -83
  349. package/src/lib/components/Stage/shaders/Drawing.vert +0 -5
  350. package/src/lib/components/Stage/shaders/Fog.frag +0 -147
  351. package/src/lib/components/Stage/shaders/FractalNoise.frag +0 -96
  352. package/src/lib/components/Stage/shaders/GridShader.frag +0 -174
  353. package/src/lib/components/Stage/shaders/Overlay.frag +0 -23
  354. package/src/lib/components/Stage/shaders/Overlay.vert +0 -0
  355. package/src/lib/components/Stage/shaders/Particles.frag +0 -27
  356. package/src/lib/components/Stage/shaders/Particles.vert +0 -51
  357. package/src/lib/components/Stage/shaders/ToolOutline.frag +0 -59
  358. package/src/lib/components/Stage/shaders/default.vert +0 -8
  359. package/src/lib/components/Stage/types.ts +0 -4
  360. package/src/lib/components/Table/Table.svelte +0 -16
  361. package/src/lib/components/Table/Td.svelte +0 -17
  362. package/src/lib/components/Table/Th.svelte +0 -18
  363. package/src/lib/components/Table/index.ts +0 -4
  364. package/src/lib/components/Table/types.ts +0 -14
  365. package/src/lib/components/Text/Text.svelte +0 -23
  366. package/src/lib/components/Text/index.ts +0 -2
  367. package/src/lib/components/Text/types.ts +0 -12
  368. package/src/lib/components/Title/Title.svelte +0 -54
  369. package/src/lib/components/Title/index.ts +0 -2
  370. package/src/lib/components/Title/types.ts +0 -9
  371. package/src/lib/components/Toast/Toast.svelte +0 -155
  372. package/src/lib/components/Toast/index.ts +0 -5
  373. package/src/lib/components/Toast/toastCookie.ts +0 -24
  374. package/src/lib/components/Toast/types.ts +0 -6
  375. package/src/lib/components/ToolTip/ToolTip.svelte +0 -70
  376. package/src/lib/components/ToolTip/index.ts +0 -2
  377. package/src/lib/components/ToolTip/types.ts +0 -14
  378. package/src/lib/components/index.ts +0 -32
  379. package/src/lib/components/types.ts +0 -0
  380. package/src/lib/index.ts +0 -2
  381. package/src/lib/styles/globals.css +0 -108
  382. package/src/lib/styles/normalize.css +0 -9
  383. package/src/lib/styles/reset.css +0 -133
  384. package/src/lib/styles/utilities.css +0 -179
  385. package/src/lib/styles/vars.css +0 -1103
  386. package/src/lib/types/awareness.ts +0 -17
  387. package/src/lib/utils/rle.ts +0 -217
@@ -1,5 +0,0 @@
1
- import AshPreset from './AshPreset';
2
- import LeavesPreset from './LeavesPreset';
3
- import RainPreset from './RainPreset';
4
- import SnowPreset from './SnowPreset';
5
- export { AshPreset, LeavesPreset, RainPreset, SnowPreset };
@@ -1,31 +0,0 @@
1
- import type { KernelSize } from 'postprocessing';
2
- import type { ParticleSystemProps } from '../ParticleSystem/types';
3
- export declare enum WeatherType {
4
- None = 0,
5
- Rain = 1,
6
- Snow = 2,
7
- Leaves = 3,
8
- Ash = 4,
9
- Custom = 99
10
- }
11
- export interface DepthOfFieldConfig {
12
- enabled: boolean;
13
- focus: number;
14
- focalLength: number;
15
- bokehScale: number;
16
- kernelSize: KernelSize;
17
- }
18
- export interface WeatherLayerPreset {
19
- fov: number;
20
- intensity: number;
21
- opacity: number;
22
- depthOfField: DepthOfFieldConfig;
23
- particles: ParticleSystemProps;
24
- }
25
- export interface WeatherLayerProps {
26
- type: WeatherType;
27
- fov?: number;
28
- intensity?: number;
29
- opacity?: number;
30
- custom?: WeatherLayerPreset;
31
- }
@@ -1,9 +0,0 @@
1
- export var WeatherType;
2
- (function (WeatherType) {
3
- WeatherType[WeatherType["None"] = 0] = "None";
4
- WeatherType[WeatherType["Rain"] = 1] = "Rain";
5
- WeatherType[WeatherType["Snow"] = 2] = "Snow";
6
- WeatherType[WeatherType["Leaves"] = 3] = "Leaves";
7
- WeatherType[WeatherType["Ash"] = 4] = "Ash";
8
- WeatherType[WeatherType["Custom"] = 99] = "Custom";
9
- })(WeatherType || (WeatherType = {}));
@@ -1,7 +0,0 @@
1
- import * as THREE from 'three';
2
- import type { SceneLayerProps } from '../components/Scene/types';
3
- import type { DisplayProps } from '../components/Stage/types';
4
- export declare const clippingPlaneStore: {
5
- value: THREE.Plane[];
6
- };
7
- export declare function updateClippingPlanes(sceneProps: SceneLayerProps, displayProps: DisplayProps): void;
@@ -1,23 +0,0 @@
1
- import * as THREE from 'three';
2
- export const clippingPlaneStore = $state({
3
- value: [
4
- new THREE.Plane(new THREE.Vector3(-1, 0, 0)),
5
- new THREE.Plane(new THREE.Vector3(1, 0, 0)),
6
- new THREE.Plane(new THREE.Vector3(0, 1, 0)),
7
- new THREE.Plane(new THREE.Vector3(0, -1, 0))
8
- ]
9
- });
10
- export function updateClippingPlanes(sceneProps, displayProps) {
11
- // Whenever the scene is translated/zoomed, update the clipping planes
12
- const { x, y } = sceneProps.offset;
13
- const worldExtents = {
14
- x: sceneProps.zoom * (displayProps.resolution.x / 2),
15
- y: sceneProps.zoom * (displayProps.resolution.y / 2)
16
- };
17
- clippingPlaneStore.value = [
18
- new THREE.Plane(new THREE.Vector3(-1, 0, 0), worldExtents.x + x),
19
- new THREE.Plane(new THREE.Vector3(1, 0, 0), worldExtents.x - x),
20
- new THREE.Plane(new THREE.Vector3(0, 1, 0), worldExtents.y - y),
21
- new THREE.Plane(new THREE.Vector3(0, -1, 0), worldExtents.y + y)
22
- ];
23
- }
@@ -1,10 +0,0 @@
1
- /**
2
- * Global debug state that persists independently of stageProps.
3
- * This prevents debug settings from being reset when stageProps are rebuilt.
4
- */
5
- export declare const debugState: {
6
- enableMetrics: boolean;
7
- logMetricsToConsole: boolean;
8
- };
9
- export declare const setDebugEnabled: (enabled: boolean) => void;
10
- export declare const isDebugEnabled: () => boolean;
@@ -1,13 +0,0 @@
1
- /**
2
- * Global debug state that persists independently of stageProps.
3
- * This prevents debug settings from being reset when stageProps are rebuilt.
4
- */
5
- export const debugState = $state({
6
- enableMetrics: false,
7
- logMetricsToConsole: false
8
- });
9
- export const setDebugEnabled = (enabled) => {
10
- debugState.enableMetrics = enabled;
11
- debugState.logMetricsToConsole = enabled;
12
- };
13
- export const isDebugEnabled = () => debugState.enableMetrics;
@@ -1,72 +0,0 @@
1
- import * as THREE from 'three';
2
- import { type GridLayerProps } from '../components/GridLayer/types';
3
- import type { DisplayProps } from '../components/Stage/types';
4
- /**
5
- * Gets the size of a grid cell in pixels
6
- * @param gridType Type of grid (square or hex)
7
- * @param gridSizePixels Base grid size in pixels
8
- * @returns Width of grid cell in pixels
9
- */
10
- export declare function getGridCellSize(grid: GridLayerProps, display: DisplayProps): number;
11
- /**
12
- * Calculates the grid origin for Map defined mode
13
- * Matches the shader logic for grid positioning
14
- * @param grid Grid configuration
15
- * @param display Display properties
16
- * @returns Grid origin in pixels (from top-left corner)
17
- */
18
- export declare function getGridOrigin(grid: GridLayerProps, display: DisplayProps): THREE.Vector2;
19
- /**
20
- * Snaps a position to the nearest grid intersection based on the current grid configuration
21
- * @param position Position to snap (in screen coordinates, relative to center)
22
- * @param grid Grid configuration
23
- * @param display Display properties
24
- * @param centerOnly For hex grids, whether to snap to centers only (used for measurements)
25
- * @returns Snapped position (in screen coordinates, relative to center)
26
- */
27
- export declare function snapToGrid(position: THREE.Vector2, grid: GridLayerProps, display: DisplayProps, centerOnly?: boolean): THREE.Vector2;
28
- /**
29
- * Hex coordinate type using axial coordinates (q, r)
30
- */
31
- export interface HexCoordinate {
32
- q: number;
33
- r: number;
34
- }
35
- /**
36
- * Cube coordinate type for hex calculations (x, y, z where x + y + z = 0)
37
- */
38
- export interface CubeCoordinate {
39
- x: number;
40
- y: number;
41
- z: number;
42
- }
43
- /**
44
- * Converts pixel coordinates to hex grid coordinates
45
- * Returns the grid indices of the hex containing the point
46
- * @param point Position in pixel coordinates
47
- * @param spacing Grid spacing in pixels
48
- * @returns Hex grid coordinates (indices and grid type)
49
- */
50
- export declare function pixelToHex(point: THREE.Vector2, spacing: number): HexCoordinate & {
51
- isGrid2?: boolean;
52
- };
53
- /**
54
- * Converts hex grid coordinates to pixel coordinates
55
- * For flat-topped hexagons in offset coordinate system
56
- * @param hex Hex grid coordinates in offset format
57
- * @param spacing Grid spacing in pixels (width of hex)
58
- * @returns Position in pixel coordinates
59
- */
60
- export declare function hexToPixel(hex: HexCoordinate, spacing: number): THREE.Vector2;
61
- /**
62
- * Calculates the hex distance between two hex positions
63
- * Returns 1 for adjacent hexes, 2 for hexes with one between them, etc.
64
- * @param hex1 First hex coordinate (with isGrid2 flag)
65
- * @param hex2 Second hex coordinate (with isGrid2 flag)
66
- * @returns Number of hexes in the shortest path
67
- */
68
- export declare function hexDistance(hex1: HexCoordinate & {
69
- isGrid2?: boolean;
70
- }, hex2: HexCoordinate & {
71
- isGrid2?: boolean;
72
- }): number;
@@ -1,444 +0,0 @@
1
- import * as THREE from 'three';
2
- import { GridMode, GridType } from '../components/GridLayer/types';
3
- // Hexagonal grid offset factor
4
- const s = { x: 1.0, y: 1.7320508 }; // sqrt(3)
5
- /**
6
- * Gets the size of a grid cell in pixels
7
- * @param gridType Type of grid (square or hex)
8
- * @param gridSizePixels Base grid size in pixels
9
- * @returns Width of grid cell in pixels
10
- */
11
- export function getGridCellSize(grid, display) {
12
- return (grid.spacing * display.resolution.x) / display.size.x;
13
- }
14
- /**
15
- * Calculates the grid origin for Map defined mode
16
- * Matches the shader logic for grid positioning
17
- * @param grid Grid configuration
18
- * @param display Display properties
19
- * @returns Grid origin in pixels (from top-left corner)
20
- */
21
- export function getGridOrigin(grid, display) {
22
- // In FillSpace mode, grid is centered with padding
23
- if ((grid.gridMode || 0) === GridMode.FillSpace) {
24
- // Grid starts at padding position
25
- return new THREE.Vector2(display.padding.x, display.padding.y);
26
- }
27
- // In MapDefined mode, calculate based on grid size
28
- if (!grid.fixedGridCount) {
29
- // Fallback to padding if no fixed count
30
- return new THREE.Vector2(display.padding.x, display.padding.y);
31
- }
32
- // Calculate pixel pitch (inches per pixel)
33
- const pixelPitchX = display.size.x / display.resolution.x;
34
- const pixelPitchY = display.size.y / display.resolution.y;
35
- // Calculate grid spacing in pixels
36
- const gridSpacingX = grid.spacing / pixelPitchX;
37
- const gridSpacingY = grid.spacing / pixelPitchY;
38
- // Calculate total grid size in pixels (must match shader calculation)
39
- // This matches the shader: gridSize_px = gridSpacing_px * gridCount + uLineThickness / 2.0
40
- const gridWidthPx = gridSpacingX * grid.fixedGridCount.x + grid.lineThickness / 2.0;
41
- const gridHeightPx = gridSpacingY * grid.fixedGridCount.y + grid.lineThickness / 2.0;
42
- let originX;
43
- let originY;
44
- // If grid fits horizontally, center it; otherwise align left
45
- if (gridWidthPx <= display.resolution.x) {
46
- originX = (display.resolution.x - gridWidthPx) / 2.0;
47
- }
48
- else {
49
- originX = 0;
50
- }
51
- // If grid fits vertically, center it; otherwise align top
52
- if (gridHeightPx <= display.resolution.y) {
53
- originY = (display.resolution.y - gridHeightPx) / 2.0;
54
- }
55
- else {
56
- // Grid overflows - start at top (Y=0 in screen coordinates)
57
- originY = 0;
58
- }
59
- return new THREE.Vector2(originX, originY);
60
- }
61
- /**
62
- * Snaps a position to the nearest square grid intersection
63
- * @param position Position to snap in pixels
64
- * @param spacing Grid spacing in pixels
65
- * @returns Snapped position in pixels
66
- */
67
- function snapToSquareGrid(position, spacing) {
68
- const roundedX = Math.round(position.x / spacing.x) * spacing.x;
69
- const roundedY = Math.round(position.y / spacing.y) * spacing.y;
70
- return new THREE.Vector2(roundedX, roundedY);
71
- }
72
- /**
73
- * Snaps a position to the nearest hexagonal grid center only
74
- * Exactly matches the shader's getHex implementation
75
- * @param position Position to snap in pixels
76
- * @param spacing Grid spacing in pixels
77
- * @returns The nearest hex center position
78
- */
79
- function snapToHexCenter(position, spacing) {
80
- // Exact match of shader's getHex function
81
- // First normalize by spacing like the shader does: hexUv = getHex(coords / spacing)
82
- const p = new THREE.Vector2(position.x / spacing.x, position.y / spacing.y);
83
- // vec4 hC = floor(vec4(p, p - vec2(0.5, 1.0)) / s.xyxy) + 0.5;
84
- // where s = vec2(1.0, 1.7320508)
85
- const hC = {
86
- x: Math.floor(p.x / s.x) + 0.5,
87
- y: Math.floor(p.y / s.y) + 0.5,
88
- z: Math.floor((p.x - 0.5) / s.x) + 0.5,
89
- w: Math.floor((p.y - 1.0) / s.y) + 0.5
90
- };
91
- // vec4 h = vec4(p - hC.xy * s, p - (hC.zw + 0.5) * s);
92
- const h = {
93
- x: p.x - hC.x * s.x,
94
- y: p.y - hC.y * s.y,
95
- z: p.x - (hC.z + 0.5) * s.x,
96
- w: p.y - (hC.w + 0.5) * s.y
97
- };
98
- // dot(h.xy, h.xy) < dot(h.zw, h.zw)
99
- const dist1 = h.x * h.x + h.y * h.y;
100
- const dist2 = h.z * h.z + h.w * h.w;
101
- // The shader returns the relative position, but we want the actual center
102
- // So we need to convert back to the center position
103
- let center;
104
- if (dist1 < dist2) {
105
- // First grid center
106
- center = new THREE.Vector2(hC.x * s.x, hC.y * s.y);
107
- }
108
- else {
109
- // Second grid center (offset)
110
- center = new THREE.Vector2((hC.z + 0.5) * s.x, (hC.w + 0.5) * s.y);
111
- }
112
- // Scale back to pixel coordinates
113
- return new THREE.Vector2(center.x * spacing.x, center.y * spacing.y);
114
- }
115
- /**
116
- * Snaps a position to the nearest hexagonal grid intersection (includes vertices and edges)
117
- * Based on the shader's hexagonal grid implementation
118
- * @param position Position to snap in pixels
119
- * @param spacing Grid spacing in pixels
120
- * @returns The distance to the nearest center and the center
121
- */
122
- function distanceToHexCenter(position, spacing) {
123
- // This function finds the nearest center in a hexagonal grid. The centers of a
124
- // hexagonal grid can be represented by two offset square grids. The two grids
125
- // are offset by half the grid spacing in the x direction and sqrt(3)/2 times
126
- // the grid spacing in the y direction.
127
- // Calculate the nearest cell for first grid
128
- const gridPoints = {
129
- first: {
130
- x: Math.floor(position.x / (spacing.x * s.x)) + 0.5,
131
- y: Math.floor(position.y / (spacing.y * s.y)) + 0.5
132
- },
133
- // Offset in x and y directions
134
- second: {
135
- x: Math.floor((position.x - s.x * spacing.x * 0.5) / (spacing.x * s.x)) + 0.5,
136
- y: Math.floor((position.y - s.y * spacing.y * 0.5) / (spacing.y * s.y)) + 0.5
137
- },
138
- // Additional grid offset in y direction by spacing/sqrt(3)
139
- third: {
140
- x: Math.floor(position.x / (spacing.x * s.x)) + 0.5,
141
- y: Math.floor((position.y - spacing.y / Math.sqrt(3)) / (spacing.y * s.y)) + 0.5
142
- },
143
- // Additional grid offset in y direction by spacing/sqrt(3)
144
- fourth: {
145
- x: Math.floor(position.x / (spacing.x * s.x)) + 0.5,
146
- y: Math.floor((position.y + spacing.y / Math.sqrt(3)) / (spacing.y * s.y)) + 0.5
147
- }
148
- };
149
- // Calculate the centers
150
- const center1 = new THREE.Vector2(gridPoints.first.x * spacing.x * s.x, gridPoints.first.y * spacing.y * s.y);
151
- const center2 = new THREE.Vector2((gridPoints.second.x + 0.5) * spacing.x * s.x, (gridPoints.second.y + 0.5) * spacing.y * s.y);
152
- const center3 = new THREE.Vector2(gridPoints.third.x * spacing.x * s.x, gridPoints.third.y * spacing.y * s.y + spacing.y / Math.sqrt(3));
153
- const center4 = new THREE.Vector2(gridPoints.fourth.x * spacing.x * s.x, gridPoints.fourth.y * spacing.y * s.y - spacing.y / Math.sqrt(3));
154
- // Calculate vertices around each center (line intersections)
155
- const getHexVertices = (center) => {
156
- const vertices = [];
157
- const radius = spacing.x; // Distance from center to vertex
158
- for (let i = 0; i < 6; i++) {
159
- const angle = (Math.PI / 3) * i;
160
- vertices.push(new THREE.Vector2(center.x + radius * Math.cos(angle), center.y + radius * Math.sin(angle)));
161
- }
162
- return vertices;
163
- };
164
- // Get vertices for each center
165
- const vertices1 = getHexVertices(center1);
166
- const vertices2 = getHexVertices(center2);
167
- const vertices3 = getHexVertices(center3);
168
- const vertices4 = getHexVertices(center4);
169
- // Calculate distances to all points (centers and vertices)
170
- const distances = [
171
- { d: Math.pow(position.x - center1.x, 2) + Math.pow(position.y - center1.y, 2), point: center1 },
172
- { d: Math.pow(position.x - center2.x, 2) + Math.pow(position.y - center2.y, 2), point: center2 },
173
- { d: Math.pow(position.x - center3.x, 2) + Math.pow(position.y - center3.y, 2), point: center3 },
174
- { d: Math.pow(position.x - center4.x, 2) + Math.pow(position.y - center4.y, 2), point: center4 },
175
- ...vertices1.map((v) => ({
176
- d: Math.pow(position.x - v.x, 2) + Math.pow(position.y - v.y, 2),
177
- point: v
178
- })),
179
- ...vertices2.map((v) => ({
180
- d: Math.pow(position.x - v.x, 2) + Math.pow(position.y - v.y, 2),
181
- point: v
182
- })),
183
- ...vertices3.map((v) => ({
184
- d: Math.pow(position.x - v.x, 2) + Math.pow(position.y - v.y, 2),
185
- point: v
186
- })),
187
- ...vertices4.map((v) => ({
188
- d: Math.pow(position.x - v.x, 2) + Math.pow(position.y - v.y, 2),
189
- point: v
190
- }))
191
- ];
192
- // Find the closest point
193
- const closest = distances.reduce((prev, curr) => (curr.d < prev.d ? curr : prev));
194
- return closest.point;
195
- }
196
- /**
197
- * Snaps a position to the nearest grid intersection based on the current grid configuration
198
- * @param position Position to snap (in screen coordinates, relative to center)
199
- * @param grid Grid configuration
200
- * @param display Display properties
201
- * @param centerOnly For hex grids, whether to snap to centers only (used for measurements)
202
- * @returns Snapped position (in screen coordinates, relative to center)
203
- */
204
- export function snapToGrid(position, grid, display, centerOnly = false) {
205
- // Compute the pixel pitch in inches
206
- const pixelsPerInch = new THREE.Vector2(display.resolution.x / display.size.x, display.resolution.y / display.size.y);
207
- // Compute the grid spacing in pixels
208
- const gridSpacingPixels = new THREE.Vector2(grid.spacing * pixelsPerInch.x, grid.spacing * pixelsPerInch.y);
209
- // In Map defined mode, we need to adjust for the grid origin and shader offset
210
- if (grid.gridMode === GridMode.MapDefined && grid.fixedGridCount) {
211
- // Get the grid origin in screen coordinates
212
- const gridOrigin = getGridOrigin(grid, display);
213
- // Convert position from center-relative to top-left relative (screen coords)
214
- const screenPos = new THREE.Vector2(position.x + display.resolution.x / 2, display.resolution.y / 2 - position.y // Flip Y axis
215
- );
216
- // Convert to grid-relative coordinates
217
- let gridRelativePos = new THREE.Vector2(screenPos.x - gridOrigin.x, screenPos.y - gridOrigin.y);
218
- // Account for the shader offset (t / 4.0) that shifts the visual grid lines
219
- const shaderOffset = grid.lineThickness / 4.0;
220
- gridRelativePos.x -= shaderOffset;
221
- gridRelativePos.y -= shaderOffset;
222
- let snappedGridPos;
223
- if (grid.gridType === GridType.Square) {
224
- // For square grids, snap to cell centers (half-spacing increments)
225
- const halfSpacing = new THREE.Vector2(gridSpacingPixels.x / 2.0, gridSpacingPixels.y / 2.0);
226
- snappedGridPos = snapToSquareGrid(gridRelativePos, halfSpacing);
227
- }
228
- else {
229
- // For hex grids, use center-only snapping if requested (e.g., for measurements)
230
- if (centerOnly) {
231
- snappedGridPos = snapToHexCenter(gridRelativePos, gridSpacingPixels);
232
- }
233
- else {
234
- // Otherwise allow snapping to vertices and edges too
235
- snappedGridPos = distanceToHexCenter(gridRelativePos, gridSpacingPixels);
236
- }
237
- }
238
- // Add back the shader offset
239
- snappedGridPos.x += shaderOffset;
240
- snappedGridPos.y += shaderOffset;
241
- // Convert back to screen coordinates
242
- const snappedScreenPos = new THREE.Vector2(snappedGridPos.x + gridOrigin.x, snappedGridPos.y + gridOrigin.y);
243
- // Convert back to center-relative coordinates
244
- const result = new THREE.Vector2(snappedScreenPos.x - display.resolution.x / 2, display.resolution.y / 2 - snappedScreenPos.y // Flip Y axis back
245
- );
246
- return result;
247
- }
248
- // Fill space mode - use the original simple logic
249
- if (grid.gridType === GridType.Square) {
250
- // For square grids, snap to cell centers (half-spacing increments)
251
- const halfSpacing = new THREE.Vector2(gridSpacingPixels.x / 2.0, gridSpacingPixels.y / 2.0);
252
- return snapToSquareGrid(position, halfSpacing);
253
- }
254
- else {
255
- // For hex grids, use center-only snapping if requested (e.g., for measurements)
256
- if (centerOnly) {
257
- return snapToHexCenter(position, gridSpacingPixels);
258
- }
259
- else {
260
- // Otherwise allow snapping to vertices and edges too
261
- return distanceToHexCenter(position, gridSpacingPixels);
262
- }
263
- }
264
- }
265
- /**
266
- * Rounds fractional hex coordinates to the nearest hex
267
- * @param hex Fractional hex coordinates
268
- * @returns Rounded hex coordinates
269
- */
270
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
271
- function hexRound(hex) {
272
- // Convert to cube coordinates for rounding
273
- const cube = axialToCube(hex);
274
- let rx = Math.round(cube.x);
275
- let ry = Math.round(cube.y);
276
- let rz = Math.round(cube.z);
277
- const xDiff = Math.abs(rx - cube.x);
278
- const yDiff = Math.abs(ry - cube.y);
279
- const zDiff = Math.abs(rz - cube.z);
280
- // Reset the coordinate with the largest rounding error
281
- if (xDiff > yDiff && xDiff > zDiff) {
282
- rx = -ry - rz;
283
- }
284
- else if (yDiff > zDiff) {
285
- ry = -rx - rz;
286
- }
287
- else {
288
- rz = -rx - ry;
289
- }
290
- return cubeToAxial({ x: rx, y: ry, z: rz });
291
- }
292
- /**
293
- * Converts axial hex coordinates to cube coordinates
294
- * @param hex Axial coordinates
295
- * @returns Cube coordinates
296
- */
297
- function axialToCube(hex) {
298
- const x = hex.q;
299
- const z = hex.r;
300
- const y = -x - z;
301
- return { x, y, z };
302
- }
303
- /**
304
- * Converts cube coordinates to axial hex coordinates
305
- * @param cube Cube coordinates
306
- * @returns Axial coordinates
307
- */
308
- function cubeToAxial(cube) {
309
- return { q: cube.x, r: cube.z };
310
- }
311
- /**
312
- * Converts pixel coordinates to hex grid coordinates
313
- * Returns the grid indices of the hex containing the point
314
- * @param point Position in pixel coordinates
315
- * @param spacing Grid spacing in pixels
316
- * @returns Hex grid coordinates (indices and grid type)
317
- */
318
- export function pixelToHex(point, spacing) {
319
- // Exact match of shader's getHex function
320
- const p = new THREE.Vector2(point.x / spacing, point.y / spacing);
321
- // Calculate candidate grid positions
322
- const hC = {
323
- x: Math.floor(p.x / s.x) + 0.5,
324
- y: Math.floor(p.y / s.y) + 0.5,
325
- z: Math.floor((p.x - 0.5) / s.x) + 0.5,
326
- w: Math.floor((p.y - 1.0) / s.y) + 0.5
327
- };
328
- // Calculate relative positions
329
- const h = {
330
- x: p.x - hC.x * s.x,
331
- y: p.y - hC.y * s.y,
332
- z: p.x - (hC.z + 0.5) * s.x,
333
- w: p.y - (hC.w + 0.5) * s.y
334
- };
335
- // Choose the closer center
336
- const dist1 = h.x * h.x + h.y * h.y;
337
- const dist2 = h.z * h.z + h.w * h.w;
338
- if (dist1 < dist2) {
339
- // Grid 1 - use the indices directly
340
- return { q: Math.floor(hC.x), r: Math.floor(hC.y), isGrid2: false };
341
- }
342
- else {
343
- // Grid 2 - offset grid
344
- return { q: Math.floor(hC.z), r: Math.floor(hC.w), isGrid2: true };
345
- }
346
- }
347
- /**
348
- * Converts hex grid coordinates to pixel coordinates
349
- * For flat-topped hexagons in offset coordinate system
350
- * @param hex Hex grid coordinates in offset format
351
- * @param spacing Grid spacing in pixels (width of hex)
352
- * @returns Position in pixel coordinates
353
- */
354
- export function hexToPixel(hex, spacing) {
355
- const hexHeight = spacing * Math.sqrt(3);
356
- const hexWidth = spacing;
357
- // Calculate pixel position
358
- let x;
359
- const y = hex.r * hexHeight * 0.75; // Rows overlap by 1/4
360
- if (hex.r % 2 === 0) {
361
- // Even row - no offset
362
- x = hex.q * hexWidth;
363
- }
364
- else {
365
- // Odd row - offset by half a hex width
366
- x = hex.q * hexWidth + hexWidth / 2;
367
- }
368
- return new THREE.Vector2(x, y);
369
- }
370
- /**
371
- * Calculates the hex distance between two hex positions
372
- * Returns 1 for adjacent hexes, 2 for hexes with one between them, etc.
373
- * @param hex1 First hex coordinate (with isGrid2 flag)
374
- * @param hex2 Second hex coordinate (with isGrid2 flag)
375
- * @returns Number of hexes in the shortest path
376
- */
377
- export function hexDistance(hex1, hex2) {
378
- // Special case: if the indices and grid types are identical, distance is 0
379
- if (hex1.q === hex2.q && hex1.r === hex2.r && hex1.isGrid2 === hex2.isGrid2) {
380
- return 0;
381
- }
382
- // For the shader's two-grid system, we can use a simpler approach
383
- // The grids are offset by (0.5, 0.5) in grid units
384
- // This creates a regular hex pattern
385
- // Calculate effective positions in a unified coordinate system
386
- let q1 = hex1.q * 2; // Scale up to avoid fractions
387
- let r1 = hex1.r * 2;
388
- let q2 = hex2.q * 2;
389
- let r2 = hex2.r * 2;
390
- // Adjust for grid 2 offset
391
- if (hex1.isGrid2) {
392
- q1 += 1;
393
- r1 += 1;
394
- }
395
- if (hex2.isGrid2) {
396
- q2 += 1;
397
- r2 += 1;
398
- }
399
- // Now we have positions in a unified grid where each hex is at integer coordinates
400
- // For pointy-top hexagons arranged by the shader's method:
401
- // Adjacent hexes differ by specific patterns
402
- const dq = Math.abs(q2 - q1);
403
- const dr = Math.abs(r2 - r1);
404
- // For pointy-top hexagons in the shader's two-grid system:
405
- // Direct neighbors can be at different patterns depending on direction
406
- // Simple case: same column (dq === 0)
407
- if (dq === 0) {
408
- // Moving directly north/south
409
- // Adjacent hexes are at dr = 1 (switching between grid1 and grid2)
410
- // Two hexes away are at dr = 2 (same grid type)
411
- return dr;
412
- }
413
- // Same row (dr === 0)
414
- if (dr === 0) {
415
- // Moving directly east/west
416
- // In the shader's arrangement, moving horizontally by 2 units = 1 hex
417
- return Math.ceil(dq / 2);
418
- }
419
- // Diagonal movement in the two-grid system
420
- // The actual hex distance depends on the specific arrangement
421
- // Use Manhattan distance as an approximation, then adjust
422
- const manhattan = dq + dr;
423
- // In the shader's hex arrangement:
424
- // - Direct neighbors are at manhattan distance 2 (e.g., (0,0) to (1,1))
425
- // - Hexes with one between are at manhattan distance 4
426
- // So we divide by 2
427
- const distance = Math.ceil(manhattan / 2);
428
- // However, we need to account for the hex geometry
429
- // Some diagonal moves are shorter in hex distance
430
- // If both dq and dr are non-zero and similar, it's a diagonal move
431
- if (dq > 0 && dr > 0) {
432
- // For true hex distance, we need to consider that some diagonals are direct neighbors
433
- // In a hex grid, you can move diagonally in 6 directions
434
- const minDiff = Math.min(dq, dr);
435
- const maxDiff = Math.max(dq, dr);
436
- // If moving equally in both directions, it's a direct diagonal
437
- if (minDiff === maxDiff) {
438
- return minDiff;
439
- }
440
- // Otherwise, it's a combination of diagonal and straight moves
441
- return minDiff + Math.ceil((maxDiff - minDiff) / 2);
442
- }
443
- return distance;
444
- }
@@ -1,63 +0,0 @@
1
- import * as THREE from 'three';
2
- export interface LazyBrushConfig {
3
- radius?: number;
4
- enabled?: boolean;
5
- friction?: number;
6
- initialPoint?: {
7
- x: number;
8
- y: number;
9
- };
10
- }
11
- export declare class LazyBrushManager {
12
- private lazyBrush;
13
- private isEnabled;
14
- private friction;
15
- private hasStarted;
16
- private currentStrokePoints;
17
- constructor(config?: LazyBrushConfig);
18
- /**
19
- * Updates the lazy brush configuration
20
- */
21
- updateConfig(config: Partial<LazyBrushConfig>): void;
22
- /**
23
- * Starts a new stroke
24
- */
25
- startStroke(point: THREE.Vector2): void;
26
- /**
27
- * Updates the current stroke with a new point
28
- * Returns an array of interpolated points to draw
29
- */
30
- updateStroke(point: THREE.Vector2): THREE.Vector2[];
31
- /**
32
- * Ends the current stroke
33
- */
34
- endStroke(): void;
35
- /**
36
- * Gets the current lazy pointer position
37
- */
38
- getLazyPosition(): THREE.Vector2 | null;
39
- /**
40
- * Gets the current brush position (smoothed)
41
- */
42
- getBrushPosition(): THREE.Vector2 | null;
43
- /**
44
- * Resets the lazy brush
45
- */
46
- reset(): void;
47
- /**
48
- * Returns whether lazy brush is enabled
49
- */
50
- get enabled(): boolean;
51
- /**
52
- * Sets whether lazy brush is enabled
53
- */
54
- set enabled(value: boolean);
55
- /**
56
- * Gets the lazy radius
57
- */
58
- get radius(): number;
59
- /**
60
- * Sets the lazy radius
61
- */
62
- set radius(value: number);
63
- }