@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.
- package/dist/components/MarkerTooltip/MarkerTooltip.svelte +9 -1
- package/dist/components/MarkerTooltip/MarkerTooltip.svelte.d.ts +13 -16
- package/dist/components/index.d.ts +0 -5
- package/dist/components/index.js +0 -5
- package/package.json +9 -16
- package/dist/components/DrawingSliders/DrawingSliders.svelte +0 -379
- package/dist/components/DrawingSliders/DrawingSliders.svelte.d.ts +0 -16
- package/dist/components/DrawingSliders/index.d.ts +0 -1
- package/dist/components/DrawingSliders/index.js +0 -1
- package/dist/components/MyCounterButton.svelte +0 -11
- package/dist/components/MyCounterButton.svelte.d.ts +0 -3
- package/dist/components/PropsTable/PropsTable.svelte +0 -107
- package/dist/components/PropsTable/PropsTable.svelte.d.ts +0 -26
- package/dist/components/RadialMenu/EffectPreview.svelte +0 -36
- package/dist/components/RadialMenu/EffectPreview.svelte.d.ts +0 -9
- package/dist/components/RadialMenu/EffectPreviewScene.svelte +0 -194
- package/dist/components/RadialMenu/EffectPreviewScene.svelte.d.ts +0 -8
- package/dist/components/RadialMenu/RadialMenu.svelte +0 -503
- package/dist/components/RadialMenu/RadialMenu.svelte.d.ts +0 -4
- package/dist/components/RadialMenu/RadialMenuItem.svelte +0 -176
- package/dist/components/RadialMenu/RadialMenuItem.svelte.d.ts +0 -11
- package/dist/components/RadialMenu/index.d.ts +0 -2
- package/dist/components/RadialMenu/index.js +0 -2
- package/dist/components/RadialMenu/types.d.ts +0 -35
- package/dist/components/RadialMenu/types.js +0 -1
- package/dist/components/Stage/components/AnnotationLayer/AnnotationLayer.svelte +0 -445
- package/dist/components/Stage/components/AnnotationLayer/AnnotationLayer.svelte.d.ts +0 -19
- package/dist/components/Stage/components/AnnotationLayer/AnnotationMaterial.svelte +0 -167
- package/dist/components/Stage/components/AnnotationLayer/AnnotationMaterial.svelte.d.ts +0 -20
- package/dist/components/Stage/components/AnnotationLayer/types.d.ts +0 -121
- package/dist/components/Stage/components/AnnotationLayer/types.js +0 -71
- package/dist/components/Stage/components/CursorLayer/CursorLayer.svelte +0 -148
- package/dist/components/Stage/components/CursorLayer/CursorLayer.svelte.d.ts +0 -7
- package/dist/components/Stage/components/CursorLayer/cursor.svg +0 -26
- package/dist/components/Stage/components/CursorLayer/index.d.ts +0 -2
- package/dist/components/Stage/components/CursorLayer/index.js +0 -1
- package/dist/components/Stage/components/CursorLayer/types.d.ts +0 -28
- package/dist/components/Stage/components/CursorLayer/types.js +0 -1
- package/dist/components/Stage/components/DrawingLayer/DrawingMaterial.svelte +0 -364
- package/dist/components/Stage/components/DrawingLayer/DrawingMaterial.svelte.d.ts +0 -24
- package/dist/components/Stage/components/DrawingLayer/types.d.ts +0 -56
- package/dist/components/Stage/components/DrawingLayer/types.js +0 -23
- package/dist/components/Stage/components/EdgeOverlayLayer/EdgeOverlayLayer.svelte +0 -72
- package/dist/components/Stage/components/EdgeOverlayLayer/EdgeOverlayLayer.svelte.d.ts +0 -11
- package/dist/components/Stage/components/EdgeOverlayLayer/types.d.ts +0 -29
- package/dist/components/Stage/components/EdgeOverlayLayer/types.js +0 -1
- package/dist/components/Stage/components/FogLayer/FogLayer.svelte +0 -75
- package/dist/components/Stage/components/FogLayer/FogLayer.svelte.d.ts +0 -11
- package/dist/components/Stage/components/FogLayer/types.d.ts +0 -42
- package/dist/components/Stage/components/FogLayer/types.js +0 -1
- package/dist/components/Stage/components/FogOfWarLayer/FogOfWarLayer.svelte +0 -249
- package/dist/components/Stage/components/FogOfWarLayer/FogOfWarLayer.svelte.d.ts +0 -19
- package/dist/components/Stage/components/FogOfWarLayer/FogOfWarMaterial.svelte +0 -200
- package/dist/components/Stage/components/FogOfWarLayer/FogOfWarMaterial.svelte.d.ts +0 -18
- package/dist/components/Stage/components/FogOfWarLayer/types.d.ts +0 -143
- package/dist/components/Stage/components/FogOfWarLayer/types.js +0 -1
- package/dist/components/Stage/components/GridLayer/GridLayer.svelte +0 -20
- package/dist/components/Stage/components/GridLayer/GridLayer.svelte.d.ts +0 -12
- package/dist/components/Stage/components/GridLayer/GridMaterial.svelte +0 -69
- package/dist/components/Stage/components/GridLayer/GridMaterial.svelte.d.ts +0 -10
- package/dist/components/Stage/components/GridLayer/types.d.ts +0 -65
- package/dist/components/Stage/components/GridLayer/types.js +0 -10
- package/dist/components/Stage/components/LayerInput/LayerInput.svelte +0 -300
- package/dist/components/Stage/components/LayerInput/LayerInput.svelte.d.ts +0 -20
- package/dist/components/Stage/components/MapLayer/MapLayer.svelte +0 -196
- package/dist/components/Stage/components/MapLayer/MapLayer.svelte.d.ts +0 -24
- package/dist/components/Stage/components/MapLayer/dataSources/GifDataSource.d.ts +0 -93
- package/dist/components/Stage/components/MapLayer/dataSources/GifDataSource.js +0 -229
- package/dist/components/Stage/components/MapLayer/dataSources/IMapDataSource.d.ts +0 -51
- package/dist/components/Stage/components/MapLayer/dataSources/IMapDataSource.js +0 -1
- package/dist/components/Stage/components/MapLayer/dataSources/ImageDataSource.d.ts +0 -49
- package/dist/components/Stage/components/MapLayer/dataSources/ImageDataSource.js +0 -87
- package/dist/components/Stage/components/MapLayer/dataSources/VideoDataSource.d.ts +0 -52
- package/dist/components/Stage/components/MapLayer/dataSources/VideoDataSource.js +0 -141
- package/dist/components/Stage/components/MapLayer/dataSources/dataSourceFactory.d.ts +0 -21
- package/dist/components/Stage/components/MapLayer/dataSources/dataSourceFactory.js +0 -44
- package/dist/components/Stage/components/MapLayer/dataSources/index.d.ts +0 -15
- package/dist/components/Stage/components/MapLayer/dataSources/index.js +0 -14
- package/dist/components/Stage/components/MapLayer/types.d.ts +0 -54
- package/dist/components/Stage/components/MapLayer/types.js +0 -9
- package/dist/components/Stage/components/MarkerLayer/MarkerLayer.svelte +0 -398
- package/dist/components/Stage/components/MarkerLayer/MarkerLayer.svelte.d.ts +0 -24
- package/dist/components/Stage/components/MarkerLayer/MarkerToken.svelte +0 -262
- package/dist/components/Stage/components/MarkerLayer/MarkerToken.svelte.d.ts +0 -27
- package/dist/components/Stage/components/MarkerLayer/types.d.ts +0 -109
- package/dist/components/Stage/components/MarkerLayer/types.js +0 -21
- package/dist/components/Stage/components/MeasurementLayer/MeasurementLayer.svelte +0 -364
- package/dist/components/Stage/components/MeasurementLayer/MeasurementLayer.svelte.d.ts +0 -49
- package/dist/components/Stage/components/MeasurementLayer/MeasurementManager.svelte +0 -473
- package/dist/components/Stage/components/MeasurementLayer/MeasurementManager.svelte.d.ts +0 -24
- package/dist/components/Stage/components/MeasurementLayer/measurements/BaseMeasurement.d.ts +0 -150
- package/dist/components/Stage/components/MeasurementLayer/measurements/BaseMeasurement.js +0 -274
- package/dist/components/Stage/components/MeasurementLayer/measurements/BeamMeasurement.d.ts +0 -10
- package/dist/components/Stage/components/MeasurementLayer/measurements/BeamMeasurement.js +0 -58
- package/dist/components/Stage/components/MeasurementLayer/measurements/CircleMeasurement.d.ts +0 -9
- package/dist/components/Stage/components/MeasurementLayer/measurements/CircleMeasurement.js +0 -66
- package/dist/components/Stage/components/MeasurementLayer/measurements/ConeMeasurement.d.ts +0 -10
- package/dist/components/Stage/components/MeasurementLayer/measurements/ConeMeasurement.js +0 -103
- package/dist/components/Stage/components/MeasurementLayer/measurements/LineMeasurement.d.ts +0 -9
- package/dist/components/Stage/components/MeasurementLayer/measurements/LineMeasurement.js +0 -75
- package/dist/components/Stage/components/MeasurementLayer/measurements/RectangleMeasurement.d.ts +0 -9
- package/dist/components/Stage/components/MeasurementLayer/measurements/RectangleMeasurement.js +0 -73
- package/dist/components/Stage/components/MeasurementLayer/measurements/index.d.ts +0 -2
- package/dist/components/Stage/components/MeasurementLayer/measurements/index.js +0 -7
- package/dist/components/Stage/components/MeasurementLayer/types.d.ts +0 -76
- package/dist/components/Stage/components/MeasurementLayer/types.js +0 -9
- package/dist/components/Stage/components/MeasurementLayer/utils/canvasDrawing.d.ts +0 -83
- package/dist/components/Stage/components/MeasurementLayer/utils/canvasDrawing.js +0 -267
- package/dist/components/Stage/components/MeasurementLayer/utils/distanceCalculations.d.ts +0 -74
- package/dist/components/Stage/components/MeasurementLayer/utils/distanceCalculations.js +0 -130
- package/dist/components/Stage/components/ParticleSystem/ParticleSystem.svelte +0 -220
- package/dist/components/Stage/components/ParticleSystem/ParticleSystem.svelte.d.ts +0 -9
- package/dist/components/Stage/components/ParticleSystem/particles/atlases/ash.png +0 -0
- package/dist/components/Stage/components/ParticleSystem/particles/atlases/leaves.png +0 -0
- package/dist/components/Stage/components/ParticleSystem/particles/atlases/rain.png +0 -0
- package/dist/components/Stage/components/ParticleSystem/particles/atlases/snow.png +0 -0
- package/dist/components/Stage/components/ParticleSystem/rng.d.ts +0 -7
- package/dist/components/Stage/components/ParticleSystem/rng.js +0 -20
- package/dist/components/Stage/components/ParticleSystem/types.d.ts +0 -88
- package/dist/components/Stage/components/ParticleSystem/types.js +0 -37
- package/dist/components/Stage/components/PerformanceDebugger/PerformanceDebugger.svelte +0 -144
- package/dist/components/Stage/components/PerformanceDebugger/PerformanceDebugger.svelte.d.ts +0 -19
- package/dist/components/Stage/components/PerformanceDebugger/index.d.ts +0 -1
- package/dist/components/Stage/components/PerformanceDebugger/index.js +0 -1
- package/dist/components/Stage/components/PerformanceOverlay/PerformanceOverlay.svelte +0 -208
- package/dist/components/Stage/components/PerformanceOverlay/PerformanceOverlay.svelte.d.ts +0 -7
- package/dist/components/Stage/components/PerformanceOverlay/index.d.ts +0 -1
- package/dist/components/Stage/components/PerformanceOverlay/index.js +0 -1
- package/dist/components/Stage/components/PointerInputManager/PointerInputManager.svelte +0 -201
- package/dist/components/Stage/components/PointerInputManager/PointerInputManager.svelte.d.ts +0 -17
- package/dist/components/Stage/components/Scene/Scene.svelte +0 -651
- package/dist/components/Stage/components/Scene/Scene.svelte.d.ts +0 -88
- package/dist/components/Stage/components/Scene/luts.d.ts +0 -7
- package/dist/components/Stage/components/Scene/luts.js +0 -33
- package/dist/components/Stage/components/Scene/types.d.ts +0 -207
- package/dist/components/Stage/components/Scene/types.js +0 -35
- package/dist/components/Stage/components/Stage/Stage.svelte +0 -332
- package/dist/components/Stage/components/Stage/Stage.svelte.d.ts +0 -86
- package/dist/components/Stage/components/Stage/types.d.ts +0 -163
- package/dist/components/Stage/components/Stage/types.js +0 -5
- package/dist/components/Stage/components/WeatherLayer/WeatherLayer.svelte +0 -135
- package/dist/components/Stage/components/WeatherLayer/WeatherLayer.svelte.d.ts +0 -13
- package/dist/components/Stage/components/WeatherLayer/presets/AshPreset.d.ts +0 -3
- package/dist/components/Stage/components/WeatherLayer/presets/AshPreset.js +0 -69
- package/dist/components/Stage/components/WeatherLayer/presets/LeavesPreset.d.ts +0 -3
- package/dist/components/Stage/components/WeatherLayer/presets/LeavesPreset.js +0 -68
- package/dist/components/Stage/components/WeatherLayer/presets/RainPreset.d.ts +0 -3
- package/dist/components/Stage/components/WeatherLayer/presets/RainPreset.js +0 -67
- package/dist/components/Stage/components/WeatherLayer/presets/SnowPreset.d.ts +0 -3
- package/dist/components/Stage/components/WeatherLayer/presets/SnowPreset.js +0 -68
- package/dist/components/Stage/components/WeatherLayer/presets/index.d.ts +0 -5
- package/dist/components/Stage/components/WeatherLayer/presets/index.js +0 -5
- package/dist/components/Stage/components/WeatherLayer/types.d.ts +0 -31
- package/dist/components/Stage/components/WeatherLayer/types.js +0 -9
- package/dist/components/Stage/helpers/clippingPlaneStore.svelte.d.ts +0 -7
- package/dist/components/Stage/helpers/clippingPlaneStore.svelte.js +0 -23
- package/dist/components/Stage/helpers/debugState.svelte.d.ts +0 -10
- package/dist/components/Stage/helpers/debugState.svelte.js +0 -13
- package/dist/components/Stage/helpers/grid.d.ts +0 -72
- package/dist/components/Stage/helpers/grid.js +0 -444
- package/dist/components/Stage/helpers/lazyBrush.d.ts +0 -63
- package/dist/components/Stage/helpers/lazyBrush.js +0 -137
- package/dist/components/Stage/helpers/performanceMetrics.svelte.d.ts +0 -62
- package/dist/components/Stage/helpers/performanceMetrics.svelte.js +0 -165
- package/dist/components/Stage/helpers/utils.d.ts +0 -3
- package/dist/components/Stage/helpers/utils.js +0 -18
- package/dist/components/Stage/index.d.ts +0 -21
- package/dist/components/Stage/index.js +0 -21
- package/dist/components/Stage/shaders/AnnotationEffects.frag +0 -1070
- package/dist/components/Stage/shaders/Annotations.frag +0 -29
- package/dist/components/Stage/shaders/Drawing.frag +0 -83
- package/dist/components/Stage/shaders/Drawing.vert +0 -5
- package/dist/components/Stage/shaders/Fog.frag +0 -147
- package/dist/components/Stage/shaders/FractalNoise.frag +0 -96
- package/dist/components/Stage/shaders/GridShader.frag +0 -174
- package/dist/components/Stage/shaders/Overlay.frag +0 -23
- package/dist/components/Stage/shaders/Overlay.vert +0 -0
- package/dist/components/Stage/shaders/Particles.frag +0 -27
- package/dist/components/Stage/shaders/Particles.vert +0 -51
- package/dist/components/Stage/shaders/ToolOutline.frag +0 -59
- package/dist/components/Stage/shaders/default.vert +0 -8
- package/dist/components/Stage/types.d.ts +0 -4
- package/dist/components/Stage/types.js +0 -1
- package/src/lib/components/Avatar/Avatar.svelte +0 -82
- package/src/lib/components/Avatar/AvatarFileInput.svelte +0 -85
- package/src/lib/components/Avatar/AvatarPopover.svelte +0 -34
- package/src/lib/components/Avatar/index.ts +0 -4
- package/src/lib/components/Avatar/types.ts +0 -24
- package/src/lib/components/BrushSizeSlider/BrushSizeSlider.svelte +0 -174
- package/src/lib/components/BrushSizeSlider/index.ts +0 -1
- package/src/lib/components/Button/Button.svelte +0 -182
- package/src/lib/components/Button/ConfirmActionButton.svelte +0 -98
- package/src/lib/components/Button/IconButton.svelte +0 -121
- package/src/lib/components/Button/RadioButton.svelte +0 -93
- package/src/lib/components/Button/index.ts +0 -5
- package/src/lib/components/Button/types.ts +0 -54
- package/src/lib/components/CardFan/CardFan.svelte +0 -165
- package/src/lib/components/CardFan/index.ts +0 -2
- package/src/lib/components/CardFan/types.ts +0 -6
- package/src/lib/components/CodeBlock/Code.svelte +0 -7
- package/src/lib/components/CodeBlock/CodeBlock.svelte +0 -102
- package/src/lib/components/CodeBlock/index.ts +0 -3
- package/src/lib/components/CodeBlock/types.ts +0 -10
- package/src/lib/components/ColorMode/ColorMode.svelte +0 -8
- package/src/lib/components/ColorMode/index.ts +0 -2
- package/src/lib/components/ColorMode/types.ts +0 -12
- package/src/lib/components/ColorPicker/ColorPicker.svelte +0 -838
- package/src/lib/components/ColorPicker/ColorPickerSwatch.svelte +0 -32
- package/src/lib/components/ColorPicker/index.ts +0 -3
- package/src/lib/components/ColorPicker/types.ts +0 -51
- package/src/lib/components/ContextMenu/ContextMenu.svelte +0 -86
- package/src/lib/components/ContextMenu/index.ts +0 -2
- package/src/lib/components/ContextMenu/types.ts +0 -15
- package/src/lib/components/DrawingSliders/DrawingSliders.svelte +0 -379
- package/src/lib/components/DrawingSliders/index.ts +0 -1
- package/src/lib/components/Editor/Editor.svelte +0 -825
- package/src/lib/components/Editor/index.ts +0 -1
- package/src/lib/components/FogSliders/FogSliders.svelte +0 -33
- package/src/lib/components/FogSliders/index.ts +0 -1
- package/src/lib/components/Hr/Hr.svelte +0 -15
- package/src/lib/components/Hr/index.ts +0 -1
- package/src/lib/components/Icon/Icon.svelte +0 -6
- package/src/lib/components/Icon/index.ts +0 -2
- package/src/lib/components/Icon/types.ts +0 -20
- package/src/lib/components/Input/DualInputSlider.svelte +0 -126
- package/src/lib/components/Input/FileInput.svelte +0 -176
- package/src/lib/components/Input/FormControl.svelte +0 -150
- package/src/lib/components/Input/FormError.svelte +0 -37
- package/src/lib/components/Input/Input.svelte +0 -56
- package/src/lib/components/Input/InputCheckbox.svelte +0 -99
- package/src/lib/components/Input/InputSlider.svelte +0 -86
- package/src/lib/components/Input/Label.svelte +0 -19
- package/src/lib/components/Input/index.ts +0 -9
- package/src/lib/components/Input/types.ts +0 -39
- package/src/lib/components/Link/Link.svelte +0 -41
- package/src/lib/components/Link/LinkBox.svelte +0 -20
- package/src/lib/components/Link/LinkOverlay.svelte +0 -23
- package/src/lib/components/Link/index.ts +0 -4
- package/src/lib/components/Link/types.ts +0 -17
- package/src/lib/components/Loading/Loader.svelte +0 -60
- package/src/lib/components/Loading/Skeleton.svelte +0 -9
- package/src/lib/components/Loading/index.ts +0 -2
- package/src/lib/components/Logo/Logo.svelte +0 -16
- package/src/lib/components/Logo/index.ts +0 -1
- package/src/lib/components/MarkerTooltip/MarkerTooltip.svelte +0 -435
- package/src/lib/components/MarkerTooltip/index.ts +0 -1
- package/src/lib/components/Menu/SelectorMenu.svelte +0 -280
- package/src/lib/components/Menu/index.ts +0 -2
- package/src/lib/components/Menu/types.ts +0 -17
- package/src/lib/components/MyCounterButton.svelte +0 -11
- package/src/lib/components/Panel/index.ts +0 -2
- package/src/lib/components/Panel/panel.svelte +0 -18
- package/src/lib/components/Panel/types.ts +0 -8
- package/src/lib/components/PersistButton/PersistButton.svelte +0 -100
- package/src/lib/components/PersistButton/index.ts +0 -1
- package/src/lib/components/Popover/Popover.svelte +0 -81
- package/src/lib/components/Popover/index.ts +0 -2
- package/src/lib/components/Popover/types.ts +0 -19
- package/src/lib/components/PropsTable/PropsTable.svelte +0 -107
- package/src/lib/components/RadialMenu/EffectPreview.svelte +0 -36
- package/src/lib/components/RadialMenu/EffectPreviewScene.svelte +0 -194
- package/src/lib/components/RadialMenu/RadialMenu.svelte +0 -503
- package/src/lib/components/RadialMenu/RadialMenuItem.svelte +0 -176
- package/src/lib/components/RadialMenu/index.ts +0 -2
- package/src/lib/components/RadialMenu/types.ts +0 -35
- package/src/lib/components/Select/Select.svelte +0 -342
- package/src/lib/components/Select/index.ts +0 -2
- package/src/lib/components/Select/types.ts +0 -22
- package/src/lib/components/Spacer/Spacer.svelte +0 -14
- package/src/lib/components/Spacer/index.ts +0 -2
- package/src/lib/components/Spacer/types.ts +0 -5
- package/src/lib/components/Stage/components/AnnotationLayer/AnnotationLayer.svelte +0 -445
- package/src/lib/components/Stage/components/AnnotationLayer/AnnotationMaterial.svelte +0 -167
- package/src/lib/components/Stage/components/AnnotationLayer/types.ts +0 -196
- package/src/lib/components/Stage/components/CursorLayer/CursorLayer.svelte +0 -148
- package/src/lib/components/Stage/components/CursorLayer/cursor.svg +0 -26
- package/src/lib/components/Stage/components/CursorLayer/index.ts +0 -2
- package/src/lib/components/Stage/components/CursorLayer/types.ts +0 -23
- package/src/lib/components/Stage/components/DrawingLayer/DrawingMaterial.svelte +0 -364
- package/src/lib/components/Stage/components/DrawingLayer/types.ts +0 -65
- package/src/lib/components/Stage/components/EdgeOverlayLayer/EdgeOverlayLayer.svelte +0 -72
- package/src/lib/components/Stage/components/EdgeOverlayLayer/types.ts +0 -34
- package/src/lib/components/Stage/components/FogLayer/FogLayer.svelte +0 -75
- package/src/lib/components/Stage/components/FogLayer/types.ts +0 -51
- package/src/lib/components/Stage/components/FogOfWarLayer/FogOfWarLayer.svelte +0 -249
- package/src/lib/components/Stage/components/FogOfWarLayer/FogOfWarMaterial.svelte +0 -200
- package/src/lib/components/Stage/components/FogOfWarLayer/types.ts +0 -116
- package/src/lib/components/Stage/components/GridLayer/GridLayer.svelte +0 -20
- package/src/lib/components/Stage/components/GridLayer/GridMaterial.svelte +0 -69
- package/src/lib/components/Stage/components/GridLayer/types.ts +0 -79
- package/src/lib/components/Stage/components/LayerInput/LayerInput.svelte +0 -300
- package/src/lib/components/Stage/components/MapLayer/MapLayer.svelte +0 -196
- package/src/lib/components/Stage/components/MapLayer/dataSources/GifDataSource.ts +0 -265
- package/src/lib/components/Stage/components/MapLayer/dataSources/IMapDataSource.ts +0 -55
- package/src/lib/components/Stage/components/MapLayer/dataSources/ImageDataSource.ts +0 -87
- package/src/lib/components/Stage/components/MapLayer/dataSources/VideoDataSource.ts +0 -150
- package/src/lib/components/Stage/components/MapLayer/dataSources/dataSourceFactory.ts +0 -48
- package/src/lib/components/Stage/components/MapLayer/dataSources/index.ts +0 -16
- package/src/lib/components/Stage/components/MapLayer/types.ts +0 -58
- package/src/lib/components/Stage/components/MarkerLayer/MarkerLayer.svelte +0 -398
- package/src/lib/components/Stage/components/MarkerLayer/MarkerToken.svelte +0 -262
- package/src/lib/components/Stage/components/MarkerLayer/types.ts +0 -126
- package/src/lib/components/Stage/components/MeasurementLayer/MeasurementLayer.svelte +0 -364
- package/src/lib/components/Stage/components/MeasurementLayer/MeasurementManager.svelte +0 -473
- package/src/lib/components/Stage/components/MeasurementLayer/measurements/BaseMeasurement.ts +0 -427
- package/src/lib/components/Stage/components/MeasurementLayer/measurements/BeamMeasurement.ts +0 -105
- package/src/lib/components/Stage/components/MeasurementLayer/measurements/CircleMeasurement.ts +0 -98
- package/src/lib/components/Stage/components/MeasurementLayer/measurements/ConeMeasurement.ts +0 -163
- package/src/lib/components/Stage/components/MeasurementLayer/measurements/LineMeasurement.ts +0 -102
- package/src/lib/components/Stage/components/MeasurementLayer/measurements/RectangleMeasurement.ts +0 -120
- package/src/lib/components/Stage/components/MeasurementLayer/measurements/index.ts +0 -7
- package/src/lib/components/Stage/components/MeasurementLayer/types.ts +0 -94
- package/src/lib/components/Stage/components/MeasurementLayer/utils/canvasDrawing.ts +0 -357
- package/src/lib/components/Stage/components/MeasurementLayer/utils/distanceCalculations.ts +0 -170
- package/src/lib/components/Stage/components/ParticleSystem/ParticleSystem.svelte +0 -220
- package/src/lib/components/Stage/components/ParticleSystem/particles/atlases/ash.png +0 -0
- package/src/lib/components/Stage/components/ParticleSystem/particles/atlases/leaves.png +0 -0
- package/src/lib/components/Stage/components/ParticleSystem/particles/atlases/rain.png +0 -0
- package/src/lib/components/Stage/components/ParticleSystem/particles/atlases/snow.png +0 -0
- package/src/lib/components/Stage/components/ParticleSystem/rng.js +0 -20
- package/src/lib/components/Stage/components/ParticleSystem/types.ts +0 -95
- package/src/lib/components/Stage/components/PerformanceDebugger/PerformanceDebugger.svelte +0 -144
- package/src/lib/components/Stage/components/PerformanceDebugger/index.ts +0 -1
- package/src/lib/components/Stage/components/PerformanceOverlay/PerformanceOverlay.svelte +0 -208
- package/src/lib/components/Stage/components/PerformanceOverlay/index.ts +0 -1
- package/src/lib/components/Stage/components/PointerInputManager/PointerInputManager.svelte +0 -201
- package/src/lib/components/Stage/components/Scene/Scene.svelte +0 -651
- package/src/lib/components/Stage/components/Scene/luts.ts +0 -24
- package/src/lib/components/Stage/components/Scene/types.ts +0 -225
- package/src/lib/components/Stage/components/Stage/Stage.svelte +0 -332
- package/src/lib/components/Stage/components/Stage/types.ts +0 -136
- package/src/lib/components/Stage/components/WeatherLayer/WeatherLayer.svelte +0 -135
- package/src/lib/components/Stage/components/WeatherLayer/presets/AshPreset.ts +0 -71
- package/src/lib/components/Stage/components/WeatherLayer/presets/LeavesPreset.ts +0 -70
- package/src/lib/components/Stage/components/WeatherLayer/presets/RainPreset.ts +0 -68
- package/src/lib/components/Stage/components/WeatherLayer/presets/SnowPreset.ts +0 -70
- package/src/lib/components/Stage/components/WeatherLayer/presets/index.ts +0 -6
- package/src/lib/components/Stage/components/WeatherLayer/types.ts +0 -35
- package/src/lib/components/Stage/helpers/clippingPlaneStore.svelte.ts +0 -28
- package/src/lib/components/Stage/helpers/debugState.svelte.ts +0 -18
- package/src/lib/components/Stage/helpers/grid.ts +0 -548
- package/src/lib/components/Stage/helpers/lazyBrush.ts +0 -171
- package/src/lib/components/Stage/helpers/performanceMetrics.svelte.ts +0 -220
- package/src/lib/components/Stage/helpers/utils.ts +0 -21
- package/src/lib/components/Stage/index.ts +0 -49
- package/src/lib/components/Stage/shaders/AnnotationEffects.frag +0 -1070
- package/src/lib/components/Stage/shaders/Annotations.frag +0 -29
- package/src/lib/components/Stage/shaders/Drawing.frag +0 -83
- package/src/lib/components/Stage/shaders/Drawing.vert +0 -5
- package/src/lib/components/Stage/shaders/Fog.frag +0 -147
- package/src/lib/components/Stage/shaders/FractalNoise.frag +0 -96
- package/src/lib/components/Stage/shaders/GridShader.frag +0 -174
- package/src/lib/components/Stage/shaders/Overlay.frag +0 -23
- package/src/lib/components/Stage/shaders/Overlay.vert +0 -0
- package/src/lib/components/Stage/shaders/Particles.frag +0 -27
- package/src/lib/components/Stage/shaders/Particles.vert +0 -51
- package/src/lib/components/Stage/shaders/ToolOutline.frag +0 -59
- package/src/lib/components/Stage/shaders/default.vert +0 -8
- package/src/lib/components/Stage/types.ts +0 -4
- package/src/lib/components/Table/Table.svelte +0 -16
- package/src/lib/components/Table/Td.svelte +0 -17
- package/src/lib/components/Table/Th.svelte +0 -18
- package/src/lib/components/Table/index.ts +0 -4
- package/src/lib/components/Table/types.ts +0 -14
- package/src/lib/components/Text/Text.svelte +0 -23
- package/src/lib/components/Text/index.ts +0 -2
- package/src/lib/components/Text/types.ts +0 -12
- package/src/lib/components/Title/Title.svelte +0 -54
- package/src/lib/components/Title/index.ts +0 -2
- package/src/lib/components/Title/types.ts +0 -9
- package/src/lib/components/Toast/Toast.svelte +0 -155
- package/src/lib/components/Toast/index.ts +0 -5
- package/src/lib/components/Toast/toastCookie.ts +0 -24
- package/src/lib/components/Toast/types.ts +0 -6
- package/src/lib/components/ToolTip/ToolTip.svelte +0 -70
- package/src/lib/components/ToolTip/index.ts +0 -2
- package/src/lib/components/ToolTip/types.ts +0 -14
- package/src/lib/components/index.ts +0 -32
- package/src/lib/components/types.ts +0 -0
- package/src/lib/index.ts +0 -2
- package/src/lib/styles/globals.css +0 -108
- package/src/lib/styles/normalize.css +0 -9
- package/src/lib/styles/reset.css +0 -133
- package/src/lib/styles/utilities.css +0 -179
- package/src/lib/styles/vars.css +0 -1103
- package/src/lib/types/awareness.ts +0 -17
- package/src/lib/utils/rle.ts +0 -217
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import * as THREE from 'three';
|
|
2
|
-
import { hexDistance, pixelToHex } from '../../../helpers/grid';
|
|
3
|
-
import { GridType } from '../../GridLayer/types';
|
|
4
|
-
/**
|
|
5
|
-
* Calculate hex grid distance between two points
|
|
6
|
-
* @param startPoint Start point in pixel coordinates
|
|
7
|
-
* @param endPoint End point in pixel coordinates
|
|
8
|
-
* @param gridSpacing Grid spacing in inches
|
|
9
|
-
* @param displaySize Display size in inches
|
|
10
|
-
* @param displayResolution Display resolution in pixels
|
|
11
|
-
* @param worldGridSize The real-world size of one hex
|
|
12
|
-
* @param returnHexCount If true, returns hex count instead of world units
|
|
13
|
-
* @returns Distance in world grid units or hex count
|
|
14
|
-
*/
|
|
15
|
-
export function calculateHexGridDistance(startPoint, endPoint, gridSpacing, displaySize, displayResolution, worldGridSize = 5, returnHexCount = false) {
|
|
16
|
-
// Convert pixel coordinates to world coordinates (inches)
|
|
17
|
-
const pixelsPerInchX = displayResolution.x / displaySize.x;
|
|
18
|
-
// Calculate hex size in pixels
|
|
19
|
-
// The grid spacing represents the distance between hex centers
|
|
20
|
-
// For pointy-top hexagons, this is the width of the hex
|
|
21
|
-
const hexSizePixels = gridSpacing * pixelsPerInchX;
|
|
22
|
-
// Convert points to hex coordinates
|
|
23
|
-
const startHex = pixelToHex(startPoint, hexSizePixels);
|
|
24
|
-
const endHex = pixelToHex(endPoint, hexSizePixels);
|
|
25
|
-
// Calculate distance in hex units
|
|
26
|
-
const hexes = hexDistance(startHex, endHex);
|
|
27
|
-
// Return either hex count or world units
|
|
28
|
-
return returnHexCount ? hexes : hexes * worldGridSize;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Calculate grid-based distance between two points
|
|
32
|
-
* @param startPoint Start point in pixel coordinates
|
|
33
|
-
* @param endPoint End point in pixel coordinates
|
|
34
|
-
* @param gridSpacing Grid spacing in inches
|
|
35
|
-
* @param displaySize Display size in inches
|
|
36
|
-
* @param displayResolution Display resolution in pixels
|
|
37
|
-
* @param gridType Type of grid (square or hex)
|
|
38
|
-
* @param snapToGrid Whether snapping is enabled
|
|
39
|
-
* @param enableDMG252 Whether to use DMG 252 diagonal rules
|
|
40
|
-
* @param worldGridSize The real-world size of one grid square
|
|
41
|
-
* @param worldGridUnits The units for the world grid size
|
|
42
|
-
* @returns Distance in world grid units
|
|
43
|
-
*/
|
|
44
|
-
export function calculateLineDistance(startPoint, endPoint, gridSpacing, displaySize, displayResolution, gridType = GridType.Square, snapToGrid = false, enableDMG252 = false, worldGridSize = 5,
|
|
45
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
46
|
-
_worldGridUnits = 'FT') {
|
|
47
|
-
// For hex grids with snapping enabled, use hex pathfinding
|
|
48
|
-
if (gridType === GridType.Hex && snapToGrid) {
|
|
49
|
-
return calculateHexGridDistance(startPoint, endPoint, gridSpacing, displaySize, displayResolution, worldGridSize);
|
|
50
|
-
}
|
|
51
|
-
// Convert pixel coordinates to world coordinates (inches)
|
|
52
|
-
const pixelsPerInchX = displayResolution.x / displaySize.x;
|
|
53
|
-
const pixelsPerInchY = displayResolution.y / displaySize.y;
|
|
54
|
-
// Convert to inches
|
|
55
|
-
const startInches = new THREE.Vector2(startPoint.x / pixelsPerInchX, startPoint.y / pixelsPerInchY);
|
|
56
|
-
const endInches = new THREE.Vector2(endPoint.x / pixelsPerInchX, endPoint.y / pixelsPerInchY);
|
|
57
|
-
// If DMG 252 rules are enabled and we're snapping to a square grid
|
|
58
|
-
if (enableDMG252 && snapToGrid && gridType === GridType.Square) {
|
|
59
|
-
// Convert to grid coordinates (number of grid squares)
|
|
60
|
-
const startGrid = new THREE.Vector2(startInches.x / gridSpacing, startInches.y / gridSpacing);
|
|
61
|
-
const endGrid = new THREE.Vector2(endInches.x / gridSpacing, endInches.y / gridSpacing);
|
|
62
|
-
// Calculate grid distance using DMG 252 rules, then convert to world units
|
|
63
|
-
const gridDistance = calculateDMG252Distance(startGrid, endGrid);
|
|
64
|
-
return gridDistance * worldGridSize;
|
|
65
|
-
}
|
|
66
|
-
// Standard distance calculation - convert to world grid units
|
|
67
|
-
const distanceInches = startInches.distanceTo(endInches);
|
|
68
|
-
const gridDistance = distanceInches / gridSpacing;
|
|
69
|
-
return gridDistance * worldGridSize;
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Calculate D&D diagonal movement distance
|
|
73
|
-
* In D&D, diagonal movement costs 1.5 times normal movement
|
|
74
|
-
* This is implemented as: max(dx, dy) + min(dx, dy) * 0.5
|
|
75
|
-
*/
|
|
76
|
-
export function calculateDnDDiagonalDistance(startPoint, endPoint) {
|
|
77
|
-
const dx = Math.abs(endPoint.x - startPoint.x);
|
|
78
|
-
const dy = Math.abs(endPoint.y - startPoint.y);
|
|
79
|
-
return Math.max(dx, dy) + Math.min(dx, dy) * 0.5;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Calculate distance using DMG 252 diagonal movement rules
|
|
83
|
-
* First diagonal = 1 grid unit, second = 2 grid units, alternating
|
|
84
|
-
* Only applies when snapping to square grid
|
|
85
|
-
*/
|
|
86
|
-
export function calculateDMG252Distance(startPoint, endPoint) {
|
|
87
|
-
const dx = Math.abs(endPoint.x - startPoint.x);
|
|
88
|
-
const dy = Math.abs(endPoint.y - startPoint.y);
|
|
89
|
-
// Get the number of diagonal and straight moves
|
|
90
|
-
const diagonalMoves = Math.min(dx, dy);
|
|
91
|
-
const straightMoves = Math.max(dx, dy) - diagonalMoves;
|
|
92
|
-
// Calculate diagonal cost using DMG 252 rules
|
|
93
|
-
// Every other diagonal costs 2 units instead of 1
|
|
94
|
-
const fullDiagonalPairs = Math.floor(diagonalMoves / 2);
|
|
95
|
-
const remainingDiagonals = diagonalMoves % 2;
|
|
96
|
-
const diagonalCost = fullDiagonalPairs * 3 + remainingDiagonals * 1; // 3 = 1 + 2 for each pair
|
|
97
|
-
const straightCost = straightMoves;
|
|
98
|
-
return diagonalCost + straightCost;
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Calculate radius from center point to edge point
|
|
102
|
-
*/
|
|
103
|
-
export function calculateRadius(centerPoint, edgePoint) {
|
|
104
|
-
return centerPoint.distanceTo(edgePoint);
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Calculate area of a circle
|
|
108
|
-
*/
|
|
109
|
-
export function calculateCircleArea(radius) {
|
|
110
|
-
return Math.PI * radius * radius;
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Calculate area of a square
|
|
114
|
-
*/
|
|
115
|
-
export function calculateSquareArea(sideLength) {
|
|
116
|
-
return sideLength * sideLength;
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Convert pixels to game units (assuming 1 inch = 1 unit)
|
|
120
|
-
* This is a placeholder - actual conversion depends on grid scale
|
|
121
|
-
*/
|
|
122
|
-
export function pixelsToUnits(pixels, pixelsPerUnit = 1) {
|
|
123
|
-
return pixels / pixelsPerUnit;
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Convert game units to pixels
|
|
127
|
-
*/
|
|
128
|
-
export function unitsToPixels(units, pixelsPerUnit = 1) {
|
|
129
|
-
return units * pixelsPerUnit;
|
|
130
|
-
}
|
|
@@ -1,220 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import * as THREE from 'three';
|
|
3
|
-
import { T, useTask, useLoader } from '@threlte/core';
|
|
4
|
-
import { ParticleData } from './types';
|
|
5
|
-
import type { ParticleSystemProps } from './types';
|
|
6
|
-
import { RNG } from './rng';
|
|
7
|
-
|
|
8
|
-
import fragmentShader from '../../shaders/Particles.frag?raw';
|
|
9
|
-
import vertexShader from '../../shaders/Particles.vert?raw';
|
|
10
|
-
import { DEG2RAD } from 'three/src/math/MathUtils';
|
|
11
|
-
import { onDestroy, untrack } from 'svelte';
|
|
12
|
-
|
|
13
|
-
interface Props {
|
|
14
|
-
props: ParticleSystemProps;
|
|
15
|
-
opacity?: number;
|
|
16
|
-
intensity?: number;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
const { props, opacity, intensity }: Props = $props();
|
|
20
|
-
|
|
21
|
-
let mesh: THREE.Mesh | undefined = $state(undefined);
|
|
22
|
-
let geometry: THREE.BufferGeometry | undefined = $state(undefined);
|
|
23
|
-
|
|
24
|
-
$effect.pre(() => {
|
|
25
|
-
const rng = new RNG(0);
|
|
26
|
-
const count = Math.round(props.maxParticleCount * (intensity ?? 1));
|
|
27
|
-
|
|
28
|
-
// Initialize particle attributes - 4 vertices per quad
|
|
29
|
-
const positions = new Float32Array(count * 12); // 4 vertices * 3 coords
|
|
30
|
-
const centers = new Float32Array(count * 8); // 1 center * 2 coords
|
|
31
|
-
const uvs = new Float32Array(count * 8); // 4 vertices * 2 coords
|
|
32
|
-
const indices = new Uint32Array(count * 6); // 2 triangles * 3 vertices
|
|
33
|
-
const ageOffsets = new Float32Array(count * 4); // 4 vertices
|
|
34
|
-
|
|
35
|
-
const particle = ParticleData[props.type];
|
|
36
|
-
|
|
37
|
-
// Initialize particles
|
|
38
|
-
for (let i = 0; i < count; i++) {
|
|
39
|
-
const radius = rng.random() * (props.spawnArea.maxRadius - props.spawnArea.minRadius) + props.spawnArea.minRadius;
|
|
40
|
-
const angle = rng.random() * 2 * Math.PI;
|
|
41
|
-
const x = radius * Math.cos(angle);
|
|
42
|
-
const y = radius * Math.sin(angle);
|
|
43
|
-
const z = -1.001;
|
|
44
|
-
|
|
45
|
-
// Quad vertex positions (same for all 4 corners initially)
|
|
46
|
-
const baseIdx = i * 12;
|
|
47
|
-
|
|
48
|
-
// Generate random size for this particle
|
|
49
|
-
let size = rng.random() * (props.size.max - props.size.min) + props.size.min;
|
|
50
|
-
let width = size * props.scale.x;
|
|
51
|
-
let height = size * props.scale.y;
|
|
52
|
-
|
|
53
|
-
const rotation = new THREE.Euler(0, 0, props.rotation.offset * DEG2RAD);
|
|
54
|
-
rotation.z += props.rotation.alignRadially ? angle : 0;
|
|
55
|
-
rotation.z += props.rotation.randomize ? rng.random() * 360 : 0;
|
|
56
|
-
|
|
57
|
-
const v1 = new THREE.Vector3(-width / 2, -height / 2, 0);
|
|
58
|
-
const v2 = new THREE.Vector3(width / 2, -height / 2, 0);
|
|
59
|
-
const v3 = new THREE.Vector3(-width / 2, height / 2, 0);
|
|
60
|
-
const v4 = new THREE.Vector3(width / 2, height / 2, 0);
|
|
61
|
-
|
|
62
|
-
v1.applyEuler(rotation);
|
|
63
|
-
v2.applyEuler(rotation);
|
|
64
|
-
v3.applyEuler(rotation);
|
|
65
|
-
v4.applyEuler(rotation);
|
|
66
|
-
|
|
67
|
-
v1.add(new THREE.Vector3(x, y, z));
|
|
68
|
-
v2.add(new THREE.Vector3(x, y, z));
|
|
69
|
-
v3.add(new THREE.Vector3(x, y, z));
|
|
70
|
-
v4.add(new THREE.Vector3(x, y, z));
|
|
71
|
-
|
|
72
|
-
// Set quad corners with size offset
|
|
73
|
-
positions[baseIdx] = v1.x; // Bottom left x
|
|
74
|
-
positions[baseIdx + 1] = v1.y; // Bottom left y
|
|
75
|
-
positions[baseIdx + 2] = v1.z; // Bottom left z
|
|
76
|
-
|
|
77
|
-
positions[baseIdx + 3] = v2.x; // Bottom right x
|
|
78
|
-
positions[baseIdx + 4] = v2.y; // Bottom right y
|
|
79
|
-
positions[baseIdx + 5] = v2.z; // Bottom right z
|
|
80
|
-
|
|
81
|
-
positions[baseIdx + 6] = v3.x; // Top left x
|
|
82
|
-
positions[baseIdx + 7] = v3.y; // Top left y
|
|
83
|
-
positions[baseIdx + 8] = v3.z; // Top left z
|
|
84
|
-
|
|
85
|
-
positions[baseIdx + 9] = v4.x; // Top right x
|
|
86
|
-
positions[baseIdx + 10] = v4.y; // Top right y
|
|
87
|
-
positions[baseIdx + 11] = v4.z; // Top right z
|
|
88
|
-
|
|
89
|
-
// Set center position
|
|
90
|
-
const centerIdx = i * 8;
|
|
91
|
-
centers[centerIdx] = x;
|
|
92
|
-
centers[centerIdx + 1] = y;
|
|
93
|
-
centers[centerIdx + 2] = x;
|
|
94
|
-
centers[centerIdx + 3] = y;
|
|
95
|
-
centers[centerIdx + 4] = x;
|
|
96
|
-
centers[centerIdx + 5] = y;
|
|
97
|
-
centers[centerIdx + 6] = x;
|
|
98
|
-
centers[centerIdx + 7] = y;
|
|
99
|
-
|
|
100
|
-
// Calculate random frame from texture atlas
|
|
101
|
-
const frame = Math.floor(rng.random() * (particle.columns * particle.rows));
|
|
102
|
-
const col = frame % particle.columns;
|
|
103
|
-
const row = Math.floor(frame / particle.columns);
|
|
104
|
-
|
|
105
|
-
// Calculate UV coordinates for this frame
|
|
106
|
-
const uv0 = new THREE.Vector2(col / particle.columns, row / particle.rows);
|
|
107
|
-
const uv1 = new THREE.Vector2((col + 1) / particle.columns, (row + 1) / particle.rows);
|
|
108
|
-
|
|
109
|
-
// UV coordinates for quad
|
|
110
|
-
const uvBaseIdx = i * 8;
|
|
111
|
-
uvs[uvBaseIdx] = uv0.x; // bottom left
|
|
112
|
-
uvs[uvBaseIdx + 1] = uv0.y;
|
|
113
|
-
uvs[uvBaseIdx + 2] = uv1.x; // bottom right
|
|
114
|
-
uvs[uvBaseIdx + 3] = uv0.y;
|
|
115
|
-
uvs[uvBaseIdx + 4] = uv0.x; // top left
|
|
116
|
-
uvs[uvBaseIdx + 5] = uv1.y;
|
|
117
|
-
uvs[uvBaseIdx + 6] = uv1.x; // top right
|
|
118
|
-
uvs[uvBaseIdx + 7] = uv1.y;
|
|
119
|
-
|
|
120
|
-
// Indices for two triangles
|
|
121
|
-
const indexBaseIdx = i * 6;
|
|
122
|
-
const vertexBaseIdx = i * 4;
|
|
123
|
-
indices[indexBaseIdx] = vertexBaseIdx;
|
|
124
|
-
indices[indexBaseIdx + 1] = vertexBaseIdx + 1;
|
|
125
|
-
indices[indexBaseIdx + 2] = vertexBaseIdx + 2;
|
|
126
|
-
indices[indexBaseIdx + 3] = vertexBaseIdx + 1;
|
|
127
|
-
indices[indexBaseIdx + 4] = vertexBaseIdx + 3;
|
|
128
|
-
indices[indexBaseIdx + 5] = vertexBaseIdx + 2;
|
|
129
|
-
|
|
130
|
-
// Random attributes (same for all vertices of quad)
|
|
131
|
-
const ageOffset = rng.random() * props.lifetime;
|
|
132
|
-
|
|
133
|
-
for (let v = 0; v < 4; v++) {
|
|
134
|
-
ageOffsets[i * 4 + v] = ageOffset;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
untrack(() => {
|
|
139
|
-
geometry = new THREE.BufferGeometry();
|
|
140
|
-
geometry.setAttribute('position', new THREE.BufferAttribute(positions, 3));
|
|
141
|
-
geometry.setAttribute('center', new THREE.BufferAttribute(centers, 2));
|
|
142
|
-
geometry.setAttribute('uv', new THREE.BufferAttribute(uvs, 2));
|
|
143
|
-
geometry.setAttribute('ageOffset', new THREE.BufferAttribute(ageOffsets, 1));
|
|
144
|
-
geometry.setIndex(new THREE.BufferAttribute(indices, 1));
|
|
145
|
-
});
|
|
146
|
-
|
|
147
|
-
return () => {
|
|
148
|
-
geometry?.dispose();
|
|
149
|
-
};
|
|
150
|
-
});
|
|
151
|
-
|
|
152
|
-
const material = new THREE.ShaderMaterial();
|
|
153
|
-
const loader = useLoader(THREE.TextureLoader);
|
|
154
|
-
|
|
155
|
-
// Track current texture for disposal
|
|
156
|
-
let currentTexture: THREE.Texture | null = $state(null);
|
|
157
|
-
|
|
158
|
-
// Add cleanup on component destruction
|
|
159
|
-
onDestroy(() => {
|
|
160
|
-
geometry?.dispose();
|
|
161
|
-
if (currentTexture) {
|
|
162
|
-
currentTexture.dispose();
|
|
163
|
-
currentTexture = null;
|
|
164
|
-
}
|
|
165
|
-
});
|
|
166
|
-
|
|
167
|
-
// Create a derived value for uniforms that updates when props change
|
|
168
|
-
const uniforms = $derived({
|
|
169
|
-
uTime: { value: 0 },
|
|
170
|
-
uTexture: { value: currentTexture },
|
|
171
|
-
uOpacity: { value: opacity },
|
|
172
|
-
uColor: { value: new THREE.Color(props.color) },
|
|
173
|
-
|
|
174
|
-
uLifetime: { value: props.lifetime },
|
|
175
|
-
uAngularVelocity: { value: props.rotation.velocity },
|
|
176
|
-
uInitialVelocity: { value: props.initialVelocity },
|
|
177
|
-
uLinearForceAmplitude: { value: props.force.linear },
|
|
178
|
-
uExponentialForceAmplitude: { value: props.force.exponential },
|
|
179
|
-
uSinusoidalForceAmplitude: { value: props.force.sinusoidal.amplitude },
|
|
180
|
-
uSinusoidalForceFrequency: { value: props.force.sinusoidal.frequency },
|
|
181
|
-
uFadeInTime: { value: props.fadeInTime },
|
|
182
|
-
uFadeOutTime: { value: props.fadeOutTime },
|
|
183
|
-
uScale: { value: props.scale }
|
|
184
|
-
});
|
|
185
|
-
|
|
186
|
-
$effect(() => {
|
|
187
|
-
loader.load(ParticleData[props.type].url).then((newTexture) => {
|
|
188
|
-
untrack(() => {
|
|
189
|
-
currentTexture?.dispose();
|
|
190
|
-
currentTexture = newTexture;
|
|
191
|
-
|
|
192
|
-
if (material.uniforms.uTexture) {
|
|
193
|
-
material.uniforms.uTexture.value = newTexture;
|
|
194
|
-
}
|
|
195
|
-
});
|
|
196
|
-
});
|
|
197
|
-
});
|
|
198
|
-
|
|
199
|
-
// Update material uniforms whenever they change
|
|
200
|
-
$effect(() => {
|
|
201
|
-
Object.assign(material.uniforms, uniforms);
|
|
202
|
-
});
|
|
203
|
-
|
|
204
|
-
useTask((dt) => {
|
|
205
|
-
material.uniforms.uTime.value += dt;
|
|
206
|
-
});
|
|
207
|
-
</script>
|
|
208
|
-
|
|
209
|
-
<T.Mesh bind:ref={mesh} {geometry}>
|
|
210
|
-
<T.ShaderMaterial
|
|
211
|
-
is={material}
|
|
212
|
-
{vertexShader}
|
|
213
|
-
{fragmentShader}
|
|
214
|
-
transparent={true}
|
|
215
|
-
depthWrite={false}
|
|
216
|
-
depthTest={false}
|
|
217
|
-
blending={THREE.NormalBlending}
|
|
218
|
-
side={THREE.DoubleSide}
|
|
219
|
-
/>
|
|
220
|
-
</T.Mesh>
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { ParticleSystemProps } from './types';
|
|
2
|
-
interface Props {
|
|
3
|
-
props: ParticleSystemProps;
|
|
4
|
-
opacity?: number;
|
|
5
|
-
intensity?: number;
|
|
6
|
-
}
|
|
7
|
-
declare const ParticleSystem: import("svelte").Component<Props, {}, "">;
|
|
8
|
-
type ParticleSystem = ReturnType<typeof ParticleSystem>;
|
|
9
|
-
export default ParticleSystem;
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export class RNG {
|
|
2
|
-
m_w = 123456789;
|
|
3
|
-
m_z = 987654321;
|
|
4
|
-
mask = 0xffffffff;
|
|
5
|
-
|
|
6
|
-
constructor(seed) {
|
|
7
|
-
this.m_w = (123456789 + seed) & this.mask;
|
|
8
|
-
this.m_z = (987654321 - seed) & this.mask;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
// Returns number between 0 (inclusive) and 1.0 (exclusive),
|
|
12
|
-
// just like Math.random().
|
|
13
|
-
random() {
|
|
14
|
-
this.m_z = (36969 * (this.m_z & 65535) + (this.m_z >> 16)) & this.mask;
|
|
15
|
-
this.m_w = (18000 * (this.m_w & 65535) + (this.m_w >> 16)) & this.mask;
|
|
16
|
-
let result = ((this.m_z << 16) + (this.m_w & 65535)) >>> 0;
|
|
17
|
-
result /= 4294967296;
|
|
18
|
-
return result;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
export declare enum ParticleType {
|
|
2
|
-
Snow = 1,
|
|
3
|
-
Rain = 2,
|
|
4
|
-
Leaves = 3,
|
|
5
|
-
Ash = 4
|
|
6
|
-
}
|
|
7
|
-
export declare const ParticleData: {
|
|
8
|
-
readonly 1: {
|
|
9
|
-
readonly url: string;
|
|
10
|
-
readonly size: 768;
|
|
11
|
-
readonly columns: 3;
|
|
12
|
-
readonly rows: 3;
|
|
13
|
-
};
|
|
14
|
-
readonly 2: {
|
|
15
|
-
readonly url: string;
|
|
16
|
-
readonly size: 768;
|
|
17
|
-
readonly columns: 3;
|
|
18
|
-
readonly rows: 3;
|
|
19
|
-
};
|
|
20
|
-
readonly 3: {
|
|
21
|
-
readonly url: string;
|
|
22
|
-
readonly size: 768;
|
|
23
|
-
readonly columns: 3;
|
|
24
|
-
readonly rows: 3;
|
|
25
|
-
};
|
|
26
|
-
readonly 4: {
|
|
27
|
-
readonly url: string;
|
|
28
|
-
readonly size: 768;
|
|
29
|
-
readonly columns: 3;
|
|
30
|
-
readonly rows: 3;
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
export interface ParticleSystemProps {
|
|
34
|
-
maxParticleCount: number;
|
|
35
|
-
type: ParticleType;
|
|
36
|
-
lifetime: number;
|
|
37
|
-
color: string;
|
|
38
|
-
opacity: number;
|
|
39
|
-
fadeInTime: number;
|
|
40
|
-
fadeOutTime: number;
|
|
41
|
-
initialVelocity: {
|
|
42
|
-
x: number;
|
|
43
|
-
y: number;
|
|
44
|
-
z: number;
|
|
45
|
-
};
|
|
46
|
-
force: {
|
|
47
|
-
linear: {
|
|
48
|
-
x: number;
|
|
49
|
-
y: number;
|
|
50
|
-
z: number;
|
|
51
|
-
};
|
|
52
|
-
exponential: {
|
|
53
|
-
x: number;
|
|
54
|
-
y: number;
|
|
55
|
-
z: number;
|
|
56
|
-
};
|
|
57
|
-
sinusoidal: {
|
|
58
|
-
amplitude: {
|
|
59
|
-
x: number;
|
|
60
|
-
y: number;
|
|
61
|
-
z: number;
|
|
62
|
-
};
|
|
63
|
-
frequency: {
|
|
64
|
-
x: number;
|
|
65
|
-
y: number;
|
|
66
|
-
z: number;
|
|
67
|
-
};
|
|
68
|
-
};
|
|
69
|
-
};
|
|
70
|
-
rotation: {
|
|
71
|
-
alignRadially: boolean;
|
|
72
|
-
offset: number;
|
|
73
|
-
velocity: number;
|
|
74
|
-
randomize: boolean;
|
|
75
|
-
};
|
|
76
|
-
scale: {
|
|
77
|
-
x: number;
|
|
78
|
-
y: number;
|
|
79
|
-
};
|
|
80
|
-
size: {
|
|
81
|
-
min: number;
|
|
82
|
-
max: number;
|
|
83
|
-
};
|
|
84
|
-
spawnArea: {
|
|
85
|
-
minRadius: number;
|
|
86
|
-
maxRadius: number;
|
|
87
|
-
};
|
|
88
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import ash from './particles/atlases/ash.png';
|
|
2
|
-
import leaves from './particles/atlases/leaves.png';
|
|
3
|
-
import rain from './particles/atlases/rain.png';
|
|
4
|
-
import snow from './particles/atlases/snow.png';
|
|
5
|
-
export var ParticleType;
|
|
6
|
-
(function (ParticleType) {
|
|
7
|
-
ParticleType[ParticleType["Snow"] = 1] = "Snow";
|
|
8
|
-
ParticleType[ParticleType["Rain"] = 2] = "Rain";
|
|
9
|
-
ParticleType[ParticleType["Leaves"] = 3] = "Leaves";
|
|
10
|
-
ParticleType[ParticleType["Ash"] = 4] = "Ash";
|
|
11
|
-
})(ParticleType || (ParticleType = {}));
|
|
12
|
-
export const ParticleData = {
|
|
13
|
-
[ParticleType.Snow]: {
|
|
14
|
-
url: snow,
|
|
15
|
-
size: 768,
|
|
16
|
-
columns: 3,
|
|
17
|
-
rows: 3
|
|
18
|
-
},
|
|
19
|
-
[ParticleType.Rain]: {
|
|
20
|
-
url: rain,
|
|
21
|
-
size: 768,
|
|
22
|
-
columns: 3,
|
|
23
|
-
rows: 3
|
|
24
|
-
},
|
|
25
|
-
[ParticleType.Leaves]: {
|
|
26
|
-
url: leaves,
|
|
27
|
-
size: 768,
|
|
28
|
-
columns: 3,
|
|
29
|
-
rows: 3
|
|
30
|
-
},
|
|
31
|
-
[ParticleType.Ash]: {
|
|
32
|
-
url: ash,
|
|
33
|
-
size: 768,
|
|
34
|
-
columns: 3,
|
|
35
|
-
rows: 3
|
|
36
|
-
}
|
|
37
|
-
};
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { onMount } from 'svelte';
|
|
3
|
-
import PerformanceOverlay from '../PerformanceOverlay/PerformanceOverlay.svelte';
|
|
4
|
-
import { resetMetrics } from '../../helpers/performanceMetrics.svelte';
|
|
5
|
-
import { debugState, setDebugEnabled } from '../../helpers/debugState.svelte';
|
|
6
|
-
|
|
7
|
-
interface Props {
|
|
8
|
-
/** Key combination to toggle (default: F9) */
|
|
9
|
-
shortcut?: string;
|
|
10
|
-
/** Callback when debug state changes (optional, for external notification) */
|
|
11
|
-
onToggle?: (enabled: boolean) => void;
|
|
12
|
-
/** Disabled layers for A/B testing */
|
|
13
|
-
disabledLayers?: string[];
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
const { shortcut = 'F9', onToggle, disabledLayers = [] }: Props = $props();
|
|
17
|
-
|
|
18
|
-
let showHelp = $state(false);
|
|
19
|
-
|
|
20
|
-
// Use the global debug state
|
|
21
|
-
const enabled = $derived(debugState.enableMetrics);
|
|
22
|
-
|
|
23
|
-
const parseShortcut = (shortcut: string) => {
|
|
24
|
-
const parts = shortcut.split('+').map((p) => p.trim());
|
|
25
|
-
const modifiers = ['shift', 'ctrl', 'control', 'alt', 'meta', 'cmd'];
|
|
26
|
-
const keyPart = parts.find((p) => !modifiers.includes(p.toLowerCase())) || '';
|
|
27
|
-
|
|
28
|
-
return {
|
|
29
|
-
shift: parts.some((p) => p.toLowerCase() === 'shift'),
|
|
30
|
-
ctrl: parts.some((p) => p.toLowerCase() === 'ctrl' || p.toLowerCase() === 'control'),
|
|
31
|
-
alt: parts.some((p) => p.toLowerCase() === 'alt'),
|
|
32
|
-
meta: parts.some((p) => p.toLowerCase() === 'meta' || p.toLowerCase() === 'cmd'),
|
|
33
|
-
// Preserve case for function keys (F9, F10, etc.)
|
|
34
|
-
key: keyPart.match(/^[fF]\d+$/) ? keyPart.toUpperCase() : keyPart.toLowerCase()
|
|
35
|
-
};
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
const shortcutConfig = parseShortcut(shortcut);
|
|
39
|
-
|
|
40
|
-
const formatShortcut = () => {
|
|
41
|
-
const parts = [];
|
|
42
|
-
if (shortcutConfig.shift) parts.push('Shift');
|
|
43
|
-
if (shortcutConfig.ctrl) parts.push('Ctrl');
|
|
44
|
-
if (shortcutConfig.alt) parts.push('Alt');
|
|
45
|
-
if (shortcutConfig.meta) parts.push('Cmd');
|
|
46
|
-
// Function keys display as-is (F9), others uppercase
|
|
47
|
-
parts.push(shortcutConfig.key.match(/^F\d+$/) ? shortcutConfig.key : shortcutConfig.key.toUpperCase());
|
|
48
|
-
return parts.join(' + ');
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
const isFormElement = (element: Element | null): boolean => {
|
|
52
|
-
if (!element) return false;
|
|
53
|
-
const tagName = element.tagName;
|
|
54
|
-
return (
|
|
55
|
-
tagName === 'INPUT' ||
|
|
56
|
-
tagName === 'TEXTAREA' ||
|
|
57
|
-
tagName === 'SELECT' ||
|
|
58
|
-
(element as HTMLElement).isContentEditable
|
|
59
|
-
);
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
const handleKeyDown = (e: KeyboardEvent) => {
|
|
63
|
-
// Don't trigger while typing in form elements
|
|
64
|
-
if (isFormElement(document.activeElement)) return;
|
|
65
|
-
|
|
66
|
-
// Function keys (F1-F12) are case-sensitive in e.key, others we compare lowercase
|
|
67
|
-
const isFunctionKey = shortcutConfig.key.match(/^F\d+$/);
|
|
68
|
-
const keyMatches = isFunctionKey ? e.key === shortcutConfig.key : e.key.toLowerCase() === shortcutConfig.key;
|
|
69
|
-
|
|
70
|
-
const matchesShortcut =
|
|
71
|
-
e.shiftKey === shortcutConfig.shift &&
|
|
72
|
-
e.ctrlKey === shortcutConfig.ctrl &&
|
|
73
|
-
e.altKey === shortcutConfig.alt &&
|
|
74
|
-
e.metaKey === shortcutConfig.meta &&
|
|
75
|
-
keyMatches;
|
|
76
|
-
|
|
77
|
-
if (matchesShortcut) {
|
|
78
|
-
e.preventDefault();
|
|
79
|
-
const newEnabled = !debugState.enableMetrics;
|
|
80
|
-
setDebugEnabled(newEnabled);
|
|
81
|
-
onToggle?.(newEnabled);
|
|
82
|
-
|
|
83
|
-
if (newEnabled) {
|
|
84
|
-
resetMetrics();
|
|
85
|
-
showHelp = true;
|
|
86
|
-
setTimeout(() => (showHelp = false), 2000);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
onMount(() => {
|
|
92
|
-
window.addEventListener('keydown', handleKeyDown);
|
|
93
|
-
return () => window.removeEventListener('keydown', handleKeyDown);
|
|
94
|
-
});
|
|
95
|
-
|
|
96
|
-
/** Get debug props to spread into Stage props */
|
|
97
|
-
export const getDebugProps = () => ({
|
|
98
|
-
enableStats: debugState.enableMetrics,
|
|
99
|
-
loggingRate: 1000,
|
|
100
|
-
enableMetrics: debugState.enableMetrics,
|
|
101
|
-
logMetricsToConsole: debugState.logMetricsToConsole,
|
|
102
|
-
disabledLayers
|
|
103
|
-
});
|
|
104
|
-
</script>
|
|
105
|
-
|
|
106
|
-
{#if enabled}
|
|
107
|
-
<PerformanceOverlay visible={true} {disabledLayers} />
|
|
108
|
-
{/if}
|
|
109
|
-
|
|
110
|
-
{#if showHelp}
|
|
111
|
-
<div class="performanceDebugger__help">
|
|
112
|
-
Performance metrics enabled. Press {formatShortcut()} to disable.
|
|
113
|
-
</div>
|
|
114
|
-
{/if}
|
|
115
|
-
|
|
116
|
-
<style>
|
|
117
|
-
.performanceDebugger__help {
|
|
118
|
-
position: absolute;
|
|
119
|
-
bottom: 1rem;
|
|
120
|
-
left: 50%;
|
|
121
|
-
transform: translateX(-50%);
|
|
122
|
-
background: var(--fg);
|
|
123
|
-
color: var(--bg);
|
|
124
|
-
font-family: var(--font-sans);
|
|
125
|
-
font-size: 0.75rem;
|
|
126
|
-
padding: 0.5rem 1rem;
|
|
127
|
-
border-radius: var(--radius-2);
|
|
128
|
-
box-shadow: var(--shadow-2);
|
|
129
|
-
z-index: 1000;
|
|
130
|
-
pointer-events: none;
|
|
131
|
-
animation: performanceDebuggerFadeIn 0.2s var(--ease-out-3);
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
@keyframes performanceDebuggerFadeIn {
|
|
135
|
-
from {
|
|
136
|
-
opacity: 0;
|
|
137
|
-
transform: translateX(-50%) translateY(0.5rem);
|
|
138
|
-
}
|
|
139
|
-
to {
|
|
140
|
-
opacity: 1;
|
|
141
|
-
transform: translateX(-50%) translateY(0);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
</style>
|
package/dist/components/Stage/components/PerformanceDebugger/PerformanceDebugger.svelte.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
interface Props {
|
|
2
|
-
/** Key combination to toggle (default: F9) */
|
|
3
|
-
shortcut?: string;
|
|
4
|
-
/** Callback when debug state changes (optional, for external notification) */
|
|
5
|
-
onToggle?: (enabled: boolean) => void;
|
|
6
|
-
/** Disabled layers for A/B testing */
|
|
7
|
-
disabledLayers?: string[];
|
|
8
|
-
}
|
|
9
|
-
declare const PerformanceDebugger: import("svelte").Component<Props, {
|
|
10
|
-
/** Get debug props to spread into Stage props */ getDebugProps: () => {
|
|
11
|
-
enableStats: boolean;
|
|
12
|
-
loggingRate: number;
|
|
13
|
-
enableMetrics: boolean;
|
|
14
|
-
logMetricsToConsole: boolean;
|
|
15
|
-
disabledLayers: string[];
|
|
16
|
-
};
|
|
17
|
-
}, "">;
|
|
18
|
-
type PerformanceDebugger = ReturnType<typeof PerformanceDebugger>;
|
|
19
|
-
export default PerformanceDebugger;
|