@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,79 +0,0 @@
1
- export enum GridType {
2
- Square = 0,
3
- Hex = 1
4
- }
5
-
6
- export enum GridMode {
7
- FillSpace = 0,
8
- MapDefined = 1
9
- }
10
-
11
- export interface GridLayerProps {
12
- /**
13
- * The type of grid. 0 for square, 1 for hex
14
- */
15
- gridType: GridType;
16
-
17
- /**
18
- * The grid calculation mode. FillSpace fills display with 1-inch squares, MapDefined uses exact grid dimensions
19
- */
20
- gridMode: GridMode;
21
-
22
- /**
23
- * Fixed grid dimensions when using MapDefined mode
24
- */
25
- fixedGridCount: {
26
- x: number;
27
- y: number;
28
- };
29
-
30
- /**
31
- * The opacity of the grid lines (0 to 1)
32
- */
33
- opacity: number;
34
-
35
- /**
36
- * The grid spacing in inches
37
- */
38
- spacing: number;
39
-
40
- /**
41
- * The real-world size of one grid square
42
- */
43
- worldGridSize: number;
44
-
45
- /**
46
- * The units for the world grid size (e.g., 'ft', 'm', 'yd')
47
- */
48
- worldGridUnits: string;
49
-
50
- /**
51
- * Line thickness
52
- */
53
- lineThickness: number;
54
-
55
- /**
56
- * Line color represented as a hex string (e.g. 0x60A3FE)
57
- */
58
- lineColor: string;
59
-
60
- /**
61
- * Opacity of the drop shadow
62
- */
63
- shadowOpacity: number;
64
-
65
- /**
66
- * Blur factor for the drop shadow
67
- */
68
- shadowBlur: number;
69
-
70
- /**
71
- * Spread amount for the drop shadow
72
- */
73
- shadowSpread: number;
74
-
75
- /**
76
- * Shadow represented as a hex string (e.g. 0x60A3FE)
77
- */
78
- shadowColor: string;
79
- }
@@ -1,300 +0,0 @@
1
- <script lang="ts">
2
- import * as THREE from 'three';
3
- import { onDestroy, onMount } from 'svelte';
4
- import { useThrelte } from '@threlte/core';
5
- import type { Size } from '../../types';
6
- import { SceneLayer } from '../Scene/types';
7
-
8
- interface Props {
9
- id?: string;
10
- isActive: boolean;
11
- target?: THREE.Mesh;
12
- layerSize?: Size | null;
13
- onMouseDown?: (e: MouseEvent | TouchEvent, coords: THREE.Vector2 | null) => void;
14
- onMouseUp?: (e: MouseEvent | TouchEvent, coords: THREE.Vector2 | null) => void;
15
- onMouseMove?: (e: MouseEvent | TouchEvent, coords: THREE.Vector2 | null) => void;
16
- onContextMenu?: (e: MouseEvent | TouchEvent, coords: THREE.Vector2 | null) => void;
17
- onMouseEnter?: () => void;
18
- onMouseLeave?: () => void;
19
- onWheel?: (e: WheelEvent) => void;
20
- }
21
-
22
- let {
23
- id,
24
- layerSize,
25
- isActive,
26
- target,
27
- onMouseDown,
28
- onMouseUp,
29
- onMouseMove,
30
- onMouseEnter,
31
- onMouseLeave,
32
- onWheel,
33
- onContextMenu
34
- }: Props = $props();
35
-
36
- const { camera, renderer, size } = useThrelte();
37
-
38
- let raycaster = new THREE.Raycaster();
39
- raycaster.layers.enable(SceneLayer.Overlay);
40
- raycaster.layers.enable(SceneLayer.Main);
41
- raycaster.layers.enable(SceneLayer.Input);
42
-
43
- function isTouchDevice() {
44
- return window.matchMedia('(any-pointer: coarse)').matches;
45
- }
46
-
47
- // Track pending touch to detect multi-touch gestures
48
- let touchStartTimer: ReturnType<typeof setTimeout> | null = null;
49
- let pendingTouchEvent: TouchEvent | null = null;
50
- let pendingTouchCoords: THREE.Vector2 | null = null;
51
- let isDrawing = false;
52
-
53
- // Bind events to the renderer's canvas element
54
- onMount(() => {
55
- // Mouse events
56
- if (onMouseDown) renderer.domElement.addEventListener('mousedown', handleMouseDown);
57
- if (onMouseMove) renderer.domElement.addEventListener('mousemove', handleMouseMove);
58
- if (onMouseUp) renderer.domElement.addEventListener('mouseup', handleMouseUp);
59
- if (onMouseEnter) renderer.domElement.addEventListener('mouseenter', handleMouseEnter);
60
- if (onMouseLeave) renderer.domElement.addEventListener('mouseleave', handleMouseLeave);
61
- if (onContextMenu) renderer.domElement.addEventListener('contextmenu', handleContextMenu);
62
- if (onWheel) renderer.domElement.addEventListener('wheel', handleWheel);
63
-
64
- // Touch events
65
- if (onMouseDown) renderer.domElement.addEventListener('touchstart', handleTouchStart);
66
- if (onMouseMove) renderer.domElement.addEventListener('touchmove', handleTouchMove);
67
- if (onMouseUp) renderer.domElement.addEventListener('touchend', handleTouchEnd);
68
- if (onMouseLeave) renderer.domElement.addEventListener('touchcancel', handleTouchCancel);
69
- });
70
-
71
- onDestroy(() => {
72
- // Clean up any pending timers
73
- if (touchStartTimer) {
74
- clearTimeout(touchStartTimer);
75
- touchStartTimer = null;
76
- }
77
-
78
- // Mouse events
79
- if (onMouseDown) renderer.domElement.removeEventListener('mousedown', handleMouseDown);
80
- if (onMouseMove) renderer.domElement.removeEventListener('mousemove', handleMouseMove);
81
- if (onMouseUp) renderer.domElement.removeEventListener('mouseup', handleMouseUp);
82
- if (onMouseEnter) renderer.domElement.removeEventListener('mouseenter', handleMouseEnter);
83
- if (onMouseLeave) renderer.domElement.removeEventListener('mouseleave', handleMouseLeave);
84
- if (onContextMenu) renderer.domElement.removeEventListener('contextmenu', handleContextMenu);
85
- if (onWheel) renderer.domElement.removeEventListener('wheel', handleWheel);
86
-
87
- // Touch events
88
- if (onMouseDown) renderer.domElement.removeEventListener('touchstart', handleTouchStart);
89
- if (onMouseMove) renderer.domElement.removeEventListener('touchmove', handleTouchMove);
90
- if (onMouseUp) renderer.domElement.removeEventListener('touchend', handleTouchEnd);
91
- if (onMouseLeave) renderer.domElement.removeEventListener('touchcancel', handleTouchCancel);
92
- });
93
-
94
- export function getId() {
95
- return id;
96
- }
97
-
98
- // Internal event handler methods for mouse
99
- function handleMouseDown(event: MouseEvent) {
100
- if (onMouseDown && isActive) {
101
- onMouseDown(event, mouseToCanvasCoords(event));
102
- }
103
- }
104
-
105
- function handleMouseUp(event: MouseEvent) {
106
- if (onMouseUp && isActive) {
107
- onMouseUp(event, mouseToCanvasCoords(event));
108
- }
109
- }
110
-
111
- function handleMouseMove(event: MouseEvent) {
112
- if (onMouseMove && isActive) {
113
- onMouseMove(event, mouseToCanvasCoords(event));
114
- }
115
- }
116
-
117
- function handleMouseEnter() {
118
- if (onMouseEnter && isActive) {
119
- onMouseEnter();
120
- }
121
- }
122
-
123
- function handleMouseLeave() {
124
- if (onMouseLeave && isActive) {
125
- onMouseLeave();
126
- }
127
- }
128
-
129
- function handleContextMenu(event: MouseEvent) {
130
- if (onContextMenu && isActive) {
131
- onContextMenu(event, mouseToCanvasCoords(event));
132
- }
133
- }
134
-
135
- function handleWheel(event: WheelEvent) {
136
- if (onWheel && isActive) {
137
- onWheel(event);
138
- }
139
- }
140
-
141
- function handleTouchStart(event: TouchEvent) {
142
- if (onMouseDown && isActive) {
143
- // If multiple touches detected immediately, cancel any pending touch
144
- if (event.touches.length > 1) {
145
- // Cancel pending touch if it exists
146
- if (touchStartTimer) {
147
- clearTimeout(touchStartTimer);
148
- touchStartTimer = null;
149
- pendingTouchEvent = null;
150
- pendingTouchCoords = null;
151
- }
152
- // Stop any ongoing drawing
153
- if (isDrawing && onMouseUp) {
154
- onMouseUp(event, null);
155
- isDrawing = false;
156
- }
157
- return;
158
- }
159
-
160
- event.preventDefault(); // Prevent scrolling when interacting with the canvas
161
- const touch = event.touches[0];
162
- const coords = touchToCanvasCoords(touch);
163
-
164
- // Store the touch event and wait to see if another finger touches
165
- pendingTouchEvent = event;
166
- pendingTouchCoords = coords;
167
-
168
- // Clear any existing timer
169
- if (touchStartTimer) {
170
- clearTimeout(touchStartTimer);
171
- }
172
-
173
- // Wait 50ms to see if this becomes a multi-touch gesture
174
- touchStartTimer = setTimeout(() => {
175
- // If we still only have one touch after the delay, start drawing
176
- if (pendingTouchEvent && pendingTouchCoords && event.touches.length === 1) {
177
- onMouseDown(pendingTouchEvent, pendingTouchCoords);
178
- isDrawing = true;
179
- }
180
- touchStartTimer = null;
181
- pendingTouchEvent = null;
182
- pendingTouchCoords = null;
183
- }, 50);
184
- }
185
- }
186
-
187
- function handleTouchEnd(event: TouchEvent) {
188
- if (onMouseUp && isActive && isTouchDevice()) {
189
- event.preventDefault();
190
-
191
- // Cancel any pending touch start
192
- if (touchStartTimer) {
193
- clearTimeout(touchStartTimer);
194
- touchStartTimer = null;
195
- pendingTouchEvent = null;
196
- pendingTouchCoords = null;
197
- }
198
-
199
- // Only trigger mouse up if we were actually drawing
200
- if (isDrawing) {
201
- const touch = event.changedTouches[0];
202
- onMouseUp(event, touch ? touchToCanvasCoords(touch) : null);
203
- isDrawing = false;
204
- }
205
- }
206
- }
207
-
208
- function handleTouchMove(event: TouchEvent) {
209
- if (onMouseMove && isActive && isTouchDevice()) {
210
- // Stop drawing if multiple touches detected (pinch/zoom gesture)
211
- if (event.touches.length > 1) {
212
- // Cancel any pending touch
213
- if (touchStartTimer) {
214
- clearTimeout(touchStartTimer);
215
- touchStartTimer = null;
216
- pendingTouchEvent = null;
217
- pendingTouchCoords = null;
218
- }
219
- // Stop any ongoing drawing
220
- if (isDrawing && onMouseUp) {
221
- onMouseUp(event, null);
222
- isDrawing = false;
223
- }
224
- return;
225
- }
226
-
227
- // Only process move if we're actually drawing
228
- if (isDrawing) {
229
- event.preventDefault();
230
- const touch = event.touches[0];
231
- onMouseMove(event, touchToCanvasCoords(touch));
232
- }
233
- }
234
- }
235
-
236
- function handleTouchCancel() {
237
- // Clean up any pending or ongoing touch operations
238
- if (touchStartTimer) {
239
- clearTimeout(touchStartTimer);
240
- touchStartTimer = null;
241
- pendingTouchEvent = null;
242
- pendingTouchCoords = null;
243
- }
244
-
245
- if (isDrawing) {
246
- isDrawing = false;
247
- }
248
-
249
- if (onMouseLeave && isActive) {
250
- onMouseLeave();
251
- }
252
- }
253
-
254
- function mouseToCanvasCoords(e: MouseEvent): THREE.Vector2 | null {
255
- if (!target || !layerSize) return null;
256
-
257
- const mouse = new THREE.Vector2((e.offsetX / $size.width) * 2 - 1, -(e.offsetY / $size.height) * 2 + 1);
258
-
259
- raycaster.setFromCamera(mouse, $camera);
260
- const intersects = raycaster.intersectObject(target);
261
-
262
- if (intersects.length > 0) {
263
- const { point } = intersects[0];
264
- const localPoint = target.worldToLocal(point);
265
- const canvasPoint = new THREE.Vector2(
266
- layerSize.width * (localPoint.x + 0.5),
267
- layerSize.height * (localPoint.y + 0.5)
268
- );
269
- return canvasPoint;
270
- } else {
271
- return null;
272
- }
273
- }
274
-
275
- function touchToCanvasCoords(touch: Touch): THREE.Vector2 | null {
276
- if (!target || !layerSize || !renderer.domElement) return null;
277
-
278
- const rect = renderer.domElement.getBoundingClientRect();
279
-
280
- const offsetX = touch.clientX - rect.left;
281
- const offsetY = touch.clientY - rect.top;
282
-
283
- const mouse = new THREE.Vector2((offsetX / $size.width) * 2 - 1, -(offsetY / $size.height) * 2 + 1);
284
-
285
- raycaster.setFromCamera(mouse, $camera);
286
- const intersects = raycaster.intersectObject(target);
287
-
288
- if (intersects.length > 0) {
289
- const { point } = intersects[0];
290
- const localPoint = target.worldToLocal(point);
291
- const canvasPoint = new THREE.Vector2(
292
- layerSize.width * (localPoint.x + 0.5),
293
- layerSize.height * (localPoint.y + 0.5)
294
- );
295
- return canvasPoint;
296
- } else {
297
- return null;
298
- }
299
- }
300
- </script>
@@ -1,196 +0,0 @@
1
- <script lang="ts">
2
- import * as THREE from 'three';
3
- import { T } from '@threlte/core';
4
- import { MapLayerType } from './types';
5
- import type { Size } from '../../types';
6
- import FogOfWarLayer from '../FogOfWarLayer/FogOfWarLayer.svelte';
7
- import type { FogOfWarExports } from '../FogOfWarLayer/types';
8
- import type { Callbacks, StageProps } from '../Stage/types';
9
- import { getContext } from 'svelte';
10
- import { SceneLayer, SceneLayerOrder } from '../Scene/types';
11
- import FogLayer from '../FogLayer/FogLayer.svelte';
12
- import { createDataSource, type IMapDataSource } from './dataSources';
13
-
14
- interface Props {
15
- props: StageProps;
16
- onMapLoading: () => void;
17
- onMapLoaded: (mapUrl: string, mapSize: Size) => void;
18
- }
19
-
20
- const { props, onMapLoading, onMapLoaded }: Props = $props();
21
-
22
- const callbacks = getContext<Callbacks>('callbacks');
23
- const onMapUpdate = callbacks.onMapUpdate;
24
-
25
- let currentMapUrl: string | null = $state(null);
26
- let dataSource: IMapDataSource | null = null;
27
- let mapImageMaterial = new THREE.MeshBasicMaterial();
28
- let fogOfWarLayer: FogOfWarExports;
29
-
30
- // The size of the map image
31
- let mapSize: Size | null = $state(null);
32
-
33
- // Track if the material needs a full update
34
- let materialUpdateKey = $state(0);
35
-
36
- $effect(() => {
37
- if (!props.map.url) {
38
- currentMapUrl = props.map.url;
39
- // Dispose of data source when URL is null
40
- if (dataSource) {
41
- dataSource.dispose();
42
- dataSource = null;
43
- }
44
- return;
45
- }
46
-
47
- // Check if the URL is changing (including query params for cache busting)
48
- // For video files, we need to check the full URL including query params
49
- const newMapUrlWithoutParams = getUrlWithoutParams(props.map.url);
50
- const currentMapUrlWithoutParams = getUrlWithoutParams(currentMapUrl);
51
-
52
- // Check if this is a video file
53
- const isVideo = props.map.url.match(/\.(mp4|webm|mov|avi)/i);
54
-
55
- // For videos, compare full URLs (including query params) to ensure cache busting
56
- // For images, compare without params to avoid unnecessary reloads
57
- if (isVideo) {
58
- if (currentMapUrl === props.map.url) {
59
- return;
60
- }
61
- } else {
62
- if (currentMapUrlWithoutParams === newMapUrlWithoutParams) {
63
- return;
64
- }
65
- }
66
-
67
- // Update the current URL immediately
68
- currentMapUrl = props.map.url;
69
-
70
- onMapLoading();
71
-
72
- // Dispose of previous data source
73
- if (dataSource) {
74
- dataSource.dispose();
75
- dataSource = null;
76
- }
77
-
78
- // Dispose of previous material map
79
- if (mapImageMaterial.map) {
80
- mapImageMaterial.map.dispose();
81
- mapImageMaterial.map = null;
82
- mapImageMaterial.needsUpdate = true;
83
- }
84
-
85
- // Create new data source based on file type
86
- dataSource = createDataSource(props.map.url);
87
-
88
- // Load the new data source
89
- dataSource
90
- .load(props.map.url)
91
- .then(() => {
92
- const texture = dataSource?.getTexture();
93
- const size = dataSource?.getSize();
94
-
95
- if (texture && size) {
96
- mapImageMaterial.map = texture;
97
- mapImageMaterial.needsUpdate = true;
98
- mapSize = size;
99
- // Force material key update to trigger re-render
100
- materialUpdateKey++;
101
- onMapLoaded(props.map.url, mapSize);
102
- }
103
- })
104
- .catch((reason) => {
105
- console.error('Failed to load map:', reason);
106
- });
107
- });
108
-
109
- function getUrlWithoutParams(url: string | null): string {
110
- if (!url) return '';
111
- return url.split('?')[0];
112
- }
113
-
114
- export function getCompositeMapTexture(): THREE.Texture | null {
115
- return mapImageMaterial.map;
116
- }
117
-
118
- export function fill() {
119
- if (!mapSize) return;
120
-
121
- const imageAspectRatio = mapSize.width / mapSize.height;
122
- const sceneAspectRatio = props.display.resolution.x / props.display.resolution.y;
123
-
124
- let newZoom: number;
125
- if (imageAspectRatio > sceneAspectRatio) {
126
- newZoom = props.display.resolution.y / mapSize.height;
127
- } else {
128
- newZoom = props.display.resolution.x / mapSize.width;
129
- }
130
-
131
- onMapUpdate({ x: 0, y: 0 }, newZoom);
132
- }
133
-
134
- export function fit() {
135
- if (!mapSize) return;
136
-
137
- const imageAspectRatio = mapSize.width / mapSize.height;
138
- const sceneAspectRatio = props.display.resolution.x / props.display.resolution.y;
139
-
140
- let newZoom: number;
141
- if (imageAspectRatio > sceneAspectRatio) {
142
- newZoom = props.display.resolution.x / mapSize.width;
143
- } else {
144
- newZoom = props.display.resolution.y / mapSize.height;
145
- }
146
-
147
- onMapUpdate({ x: 0, y: 0 }, newZoom);
148
- }
149
-
150
- // Export the map size for external components
151
- export { mapSize };
152
-
153
- // References to the layer doesn't exist until the component is mounted,
154
- // so we need create these wrapper functions
155
- export const fogOfWar = {
156
- clear: () => fogOfWarLayer.clearFog(),
157
- reset: () => fogOfWarLayer.resetFog(),
158
- toPng: () => fogOfWarLayer.toPng(),
159
- toRLE: () => fogOfWarLayer.toRLE(),
160
- fromRLE: (rleData: Uint8Array, width: number, height: number) => fogOfWarLayer.fromRLE(rleData, width, height),
161
- isDrawing: () => fogOfWarLayer?.isDrawing() ?? false
162
- };
163
- </script>
164
-
165
- <!-- Map -->
166
- <T.Object3D
167
- name="mapLayer"
168
- position={[props.map.offset.x, props.map.offset.y, 0]}
169
- rotation.z={(props.map.rotation / 180.0) * Math.PI}
170
- scale={[(mapSize?.width ?? 0) * props.map.zoom, (mapSize?.height ?? 0) * props.map.zoom, 1]}
171
- >
172
- <!-- Map image -->
173
- {#key materialUpdateKey}
174
- <T.Mesh name="mapImage" layers={[SceneLayer.Main]} renderOrder={SceneLayerOrder.Map} visible={true}>
175
- <T.MeshBasicMaterial is={mapImageMaterial} />
176
- <T.PlaneGeometry />
177
- </T.Mesh>
178
- {/key}
179
-
180
- <FogLayer
181
- props={props.fog}
182
- {mapSize}
183
- layers={[SceneLayer.Main]}
184
- renderOrder={SceneLayerOrder.Fog}
185
- visible={props.fog.enabled}
186
- />
187
-
188
- <FogOfWarLayer
189
- bind:this={fogOfWarLayer}
190
- props={props.fogOfWar}
191
- isActive={props.activeLayer === MapLayerType.FogOfWar}
192
- {mapSize}
193
- layers={[SceneLayer.Main]}
194
- renderOrder={SceneLayerOrder.FogOfWar}
195
- />
196
- </T.Object3D>