@tableslayer/ui 0.1.5 → 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 (183) 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 +1 -8
  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
@@ -1,86 +0,0 @@
1
- import type { Callbacks, StageProps } from './types';
2
- import type { CursorData } from './types';
3
- interface Props {
4
- props: StageProps;
5
- callbacks: Callbacks;
6
- receivedMeasurement?: {
7
- startPoint: {
8
- x: number;
9
- y: number;
10
- };
11
- endPoint: {
12
- x: number;
13
- y: number;
14
- };
15
- type: number;
16
- beamWidth?: number;
17
- coneAngle?: number;
18
- color?: string;
19
- thickness?: number;
20
- outlineColor?: string;
21
- outlineThickness?: number;
22
- opacity?: number;
23
- markerSize?: number;
24
- autoHideDelay?: number;
25
- fadeoutTime?: number;
26
- showDistance?: boolean;
27
- snapToGrid?: boolean;
28
- enableDMG252?: boolean;
29
- } | null;
30
- cursors?: CursorData[];
31
- trackLocalCursor?: boolean;
32
- hoveredMarkerId?: string | null;
33
- pinnedMarkerIds?: string[];
34
- onPinToggle?: (markerId: string, pinned: boolean) => void;
35
- }
36
- declare const Stage: import("svelte").Component<Props, {
37
- annotations: {
38
- clear: (layerId: string) => void | undefined;
39
- toRLE: () => Promise<Uint8Array<ArrayBufferLike>>;
40
- fromRLE: (rleData: Uint8Array, width: number, height: number) => Promise<void>;
41
- loadMask: (layerId: string, rleData: Uint8Array) => Promise<void>;
42
- isDrawing: () => boolean;
43
- };
44
- map: {
45
- fill: () => void | undefined;
46
- fit: () => void | undefined;
47
- getSize: () => {
48
- width: number;
49
- height: number;
50
- } | null;
51
- };
52
- fogOfWar: {
53
- clear: () => void | undefined;
54
- reset: () => void | undefined;
55
- toPng: () => Promise<Blob>;
56
- toRLE: () => Promise<Uint8Array<ArrayBufferLike>>;
57
- fromRLE: (rleData: Uint8Array, width: number, height: number) => Promise<void>;
58
- isDrawing: () => boolean;
59
- };
60
- scene: {
61
- fill: () => void | undefined;
62
- fit: () => void | undefined;
63
- generateThumbnail: () => Promise<Blob>;
64
- };
65
- markers: {
66
- readonly isHoveringMarker: boolean;
67
- readonly isDraggingMarker: boolean;
68
- };
69
- measurement: {
70
- getCurrentMeasurement: () => {
71
- startPoint: {
72
- x: number;
73
- y: number;
74
- } | null;
75
- endPoint: {
76
- x: number;
77
- y: number;
78
- } | null;
79
- type: number;
80
- } | null;
81
- isDrawing: () => boolean;
82
- };
83
- onSceneChange: () => void;
84
- }, "">;
85
- type Stage = ReturnType<typeof Stage>;
86
- export default Stage;
@@ -1,163 +0,0 @@
1
- import type { AnnotationsLayerProps } from '../AnnotationLayer/types';
2
- import type { EdgeOverlayProps } from '../EdgeOverlayLayer/types';
3
- import type { FogLayerProps } from '../FogLayer/types';
4
- import type { FogOfWarLayerProps } from '../FogOfWarLayer/types';
5
- import type { GridLayerProps } from '../GridLayer/types';
6
- import type { MapLayerProps, MapLayerType } from '../MapLayer/types';
7
- import type { Marker, MarkerLayerProps } from '../MarkerLayer/types';
8
- import type { MeasurementLayerProps } from '../MeasurementLayer/types';
9
- import type { PostProcessingProps, SceneLayerProps } from '../Scene/types';
10
- import type { WeatherLayerProps } from '../WeatherLayer/types';
11
- export type { CursorData } from '../CursorLayer/types';
12
- export interface Callbacks {
13
- onAnnotationUpdate: (layerId: string, blob: Promise<Blob>, endPosition?: {
14
- x: number;
15
- y: number;
16
- }) => void;
17
- onFogUpdate: (blob: Promise<Blob>) => void;
18
- onMapUpdate: (offset: {
19
- x: number;
20
- y: number;
21
- }, zoom: number) => void;
22
- onSceneUpdate: (offset: {
23
- x: number;
24
- y: number;
25
- }, zoom: number) => void;
26
- onStageLoading: () => void;
27
- onStageInitialized: () => void;
28
- onMarkerAdded: (marker: Marker) => void;
29
- onMarkerMoved: (marker: Marker, position: {
30
- x: number;
31
- y: number;
32
- }) => void;
33
- onMarkerSelected: (marker: Marker | null) => void;
34
- onMarkerContextMenu: (marker: Marker, event: MouseEvent | TouchEvent) => void;
35
- onMeasurementStart?: (startPoint: {
36
- x: number;
37
- y: number;
38
- }, type: number) => void;
39
- onMeasurementUpdate?: (startPoint: {
40
- x: number;
41
- y: number;
42
- }, endPoint: {
43
- x: number;
44
- y: number;
45
- }, type: number) => void;
46
- onMeasurementEnd?: () => void;
47
- onCursorMove?: (worldPosition: {
48
- x: number;
49
- y: number;
50
- z: number;
51
- }) => void;
52
- onMarkerHover?: (marker: Marker | null) => void;
53
- }
54
- export declare enum StageMode {
55
- DM = 0,
56
- Player = 1
57
- }
58
- export interface DisplayProps {
59
- /**
60
- * The minimum padding around the grid relative to the edge of the scene.
61
- * The actual padding may be greater depending on the grid layout.
62
- */
63
- padding: {
64
- x: number;
65
- y: number;
66
- };
67
- /**
68
- * The size of the display in inches
69
- */
70
- size: {
71
- x: number;
72
- y: number;
73
- };
74
- /**
75
- * The resolution of the display in pixels
76
- */
77
- resolution: {
78
- x: number;
79
- y: number;
80
- };
81
- /**
82
- * Maximum device pixel ratio to use for rendering.
83
- * Caps the pixel ratio to improve performance on high-DPI devices with weak GPUs.
84
- * Defaults to 2 if not specified.
85
- */
86
- maxPixelRatio?: number;
87
- }
88
- /**
89
- * Properties for the Stage component
90
- */
91
- export type StageProps = {
92
- mode: StageMode;
93
- activeLayer: MapLayerType;
94
- annotations: AnnotationsLayerProps;
95
- backgroundColor: string;
96
- debug: {
97
- enableStats: boolean;
98
- loggingRate: number;
99
- enableMetrics: boolean;
100
- logMetricsToConsole: boolean;
101
- disabledLayers: string[];
102
- };
103
- display: DisplayProps;
104
- fog: FogLayerProps;
105
- edgeOverlay: EdgeOverlayProps;
106
- fogOfWar: FogOfWarLayerProps;
107
- grid: GridLayerProps;
108
- map: MapLayerProps;
109
- marker: MarkerLayerProps;
110
- measurement: MeasurementLayerProps;
111
- postProcessing: PostProcessingProps;
112
- scene: SceneLayerProps;
113
- weather: WeatherLayerProps;
114
- };
115
- export interface StageExports {
116
- annotations: {
117
- clear: (layerId: string) => void;
118
- toRLE: () => Promise<Uint8Array>;
119
- fromRLE: (rleData: Uint8Array, width: number, height: number) => Promise<void>;
120
- loadMask: (layerId: string, rleData: Uint8Array) => Promise<void>;
121
- isDrawing: () => boolean;
122
- };
123
- fogOfWar: {
124
- clear: () => void;
125
- reset: () => void;
126
- toPng: () => Promise<Blob>;
127
- toRLE: () => Promise<Uint8Array>;
128
- fromRLE: (rleData: Uint8Array, width: number, height: number) => Promise<void>;
129
- isDrawing: () => boolean;
130
- };
131
- map: {
132
- fit: () => void;
133
- fill: () => void;
134
- getSize: () => {
135
- width: number;
136
- height: number;
137
- } | null;
138
- };
139
- scene: {
140
- fit: () => void;
141
- fill: () => void;
142
- generateThumbnail: () => Promise<Blob>;
143
- };
144
- markers: {
145
- isHoveringMarker: boolean;
146
- isDraggingMarker: boolean;
147
- };
148
- measurement: {
149
- getCurrentMeasurement: () => {
150
- startPoint: {
151
- x: number;
152
- y: number;
153
- } | null;
154
- endPoint: {
155
- x: number;
156
- y: number;
157
- } | null;
158
- type: number;
159
- } | null;
160
- isDrawing: () => boolean;
161
- };
162
- onSceneChange: () => void;
163
- }
@@ -1,5 +0,0 @@
1
- export var StageMode;
2
- (function (StageMode) {
3
- StageMode[StageMode["DM"] = 0] = "DM";
4
- StageMode[StageMode["Player"] = 1] = "Player";
5
- })(StageMode || (StageMode = {}));
@@ -1,135 +0,0 @@
1
- <script lang="ts">
2
- import * as THREE from 'three';
3
- import { onMount, onDestroy, untrack } from 'svelte';
4
- import { T, useTask, useThrelte, type Props as ThrelteProps } from '@threlte/core';
5
- import { WeatherType, type WeatherLayerPreset } from './types';
6
- import ParticleSystem from '../ParticleSystem/ParticleSystem.svelte';
7
- import type { StageProps } from '../Stage/types';
8
-
9
- import SnowPreset from './presets/SnowPreset';
10
- import RainPreset from './presets/RainPreset';
11
- import LeavesPreset from './presets/LeavesPreset';
12
- import AshPreset from './presets/AshPreset';
13
-
14
- interface Props extends ThrelteProps<typeof THREE.Mesh> {
15
- props: StageProps;
16
- size: { x: number; y: number };
17
- }
18
-
19
- const { props, size, ...meshProps }: Props = $props();
20
-
21
- const { renderer, renderStage } = useThrelte();
22
- let weatherType: WeatherType | null = $state(null);
23
- let weatherPreset: WeatherLayerPreset = $state(RainPreset);
24
- let mesh: THREE.Mesh = $state(new THREE.Mesh());
25
- let particleScene = $state(new THREE.Scene());
26
- let particleCamera = $state(new THREE.PerspectiveCamera(90, 1, 0.01, 10));
27
- particleCamera.position.set(0, 0, -1);
28
- particleCamera.rotation.x = Math.PI;
29
-
30
- // Render target for particle scene
31
- const renderTarget = new THREE.WebGLRenderTarget(1, 1, {
32
- format: THREE.RGBAFormat,
33
- minFilter: THREE.LinearFilter,
34
- magFilter: THREE.LinearFilter
35
- });
36
-
37
- // Material for displaying particles
38
- const quadMaterial = new THREE.MeshBasicMaterial({
39
- map: renderTarget.texture,
40
- transparent: true,
41
- blending: THREE.NormalBlending
42
- });
43
-
44
- onMount(() => {
45
- if (particleCamera && particleScene) {
46
- renderTarget.setSize(size.x, size.y);
47
- }
48
- });
49
-
50
- onDestroy(() => {
51
- renderTarget.dispose();
52
- quadMaterial.dispose();
53
- });
54
-
55
- // If weather type changes, update the preset
56
- $effect(() => {
57
- if (props.weather.type === weatherType) {
58
- return;
59
- }
60
-
61
- untrack(() => {
62
- weatherType = props.weather.type;
63
- switch (weatherType) {
64
- case WeatherType.Snow:
65
- weatherPreset = { ...SnowPreset };
66
- break;
67
- case WeatherType.Rain:
68
- weatherPreset = { ...RainPreset };
69
- break;
70
- case WeatherType.Leaves:
71
- weatherPreset = { ...LeavesPreset };
72
- break;
73
- case WeatherType.Custom:
74
- weatherPreset = { ...(props.weather.custom || RainPreset) };
75
- break;
76
- case WeatherType.Ash:
77
- weatherPreset = { ...AshPreset };
78
- break;
79
- default:
80
- // Fallback to rain preset
81
- weatherPreset = { ...RainPreset };
82
- }
83
- });
84
- });
85
-
86
- // Overrides for fov, intensity, and opacity set in the UI
87
- $effect(() => {
88
- if (props.weather.fov) {
89
- weatherPreset.fov = props.weather.fov;
90
- }
91
-
92
- if (props.weather.intensity) {
93
- weatherPreset.intensity = props.weather.intensity;
94
- }
95
-
96
- if (props.weather.opacity) {
97
- weatherPreset.opacity = props.weather.opacity;
98
- }
99
- });
100
-
101
- // Update the camera and render target when size changes
102
- $effect(() => {
103
- particleCamera.aspect = size.x / size.y;
104
- particleCamera.fov = weatherPreset.fov;
105
- particleCamera.updateProjectionMatrix();
106
- renderTarget.setSize(size.x, size.y);
107
- });
108
-
109
- // Render particle scene directly to render target (bypasses unnecessary EffectComposer overhead)
110
- useTask(
111
- () => {
112
- if (!particleScene || !particleCamera || !size) return;
113
-
114
- particleScene.visible = true;
115
- renderer.setRenderTarget(renderTarget);
116
- renderer.clear();
117
- renderer.render(particleScene, particleCamera);
118
- renderer.setRenderTarget(null);
119
- particleScene.visible = false;
120
- quadMaterial.needsUpdate = true;
121
- },
122
- { stage: renderStage }
123
- );
124
- </script>
125
-
126
- <!-- Remove the stencil mesh and keep only the particle scenes -->
127
- <T.Scene is={particleScene} visible={false}>
128
- <T.PerspectiveCamera is={particleCamera} manual />
129
- <ParticleSystem props={weatherPreset.particles} opacity={weatherPreset.opacity} intensity={weatherPreset.intensity} />
130
- </T.Scene>
131
-
132
- <T.Mesh bind:ref={mesh} {...meshProps} visible={props.weather.type !== WeatherType.None}>
133
- <T.MeshBasicMaterial is={quadMaterial} />
134
- <T.PlaneGeometry args={[size.x, size.y]} />
135
- </T.Mesh>
@@ -1,13 +0,0 @@
1
- import * as THREE from 'three';
2
- import { type Props as ThrelteProps } from '@threlte/core';
3
- import type { StageProps } from '../Stage/types';
4
- interface Props extends ThrelteProps<typeof THREE.Mesh> {
5
- props: StageProps;
6
- size: {
7
- x: number;
8
- y: number;
9
- };
10
- }
11
- declare const WeatherLayer: import("svelte").Component<Props, {}, "">;
12
- type WeatherLayer = ReturnType<typeof WeatherLayer>;
13
- export default WeatherLayer;
@@ -1,3 +0,0 @@
1
- import type { WeatherLayerPreset } from '../types';
2
- declare const _default: WeatherLayerPreset;
3
- export default _default;
@@ -1,69 +0,0 @@
1
- import { KernelSize } from 'postprocessing';
2
- export default {
3
- fov: 20,
4
- intensity: 0.5,
5
- opacity: 0.8,
6
- depthOfField: {
7
- enabled: true,
8
- focus: 0.75,
9
- focalLength: 6.6,
10
- bokehScale: 250.0,
11
- kernelSize: KernelSize.LARGE
12
- },
13
- particles: {
14
- maxParticleCount: 500,
15
- opacity: 0.5,
16
- type: 4,
17
- color: '#404040',
18
- fadeInTime: 5,
19
- fadeOutTime: 2,
20
- lifetime: 10,
21
- spawnArea: {
22
- minRadius: 0.01,
23
- maxRadius: 0.08
24
- },
25
- initialVelocity: {
26
- x: 0,
27
- y: 0,
28
- z: 0
29
- },
30
- force: {
31
- linear: {
32
- x: 0,
33
- y: 0,
34
- z: 0.01
35
- },
36
- exponential: {
37
- x: 0,
38
- y: 0,
39
- z: 0
40
- },
41
- sinusoidal: {
42
- amplitude: {
43
- x: 0.015,
44
- y: 0.014,
45
- z: 0
46
- },
47
- frequency: {
48
- x: 0.002,
49
- y: 0.0025,
50
- z: 0
51
- }
52
- }
53
- },
54
- rotation: {
55
- alignRadially: false,
56
- offset: 0,
57
- velocity: 1,
58
- randomize: true
59
- },
60
- scale: {
61
- x: 1,
62
- y: 1
63
- },
64
- size: {
65
- min: 0.001,
66
- max: 0.0013
67
- }
68
- }
69
- };
@@ -1,3 +0,0 @@
1
- import type { WeatherLayerPreset } from '../types';
2
- declare const _default: WeatherLayerPreset;
3
- export default _default;
@@ -1,68 +0,0 @@
1
- import { KernelSize } from 'postprocessing';
2
- export default {
3
- fov: 30,
4
- intensity: 0.5,
5
- opacity: 1,
6
- depthOfField: {
7
- enabled: true,
8
- focus: 0.7,
9
- focalLength: 4,
10
- bokehScale: 50,
11
- kernelSize: KernelSize.VERY_LARGE
12
- },
13
- particles: {
14
- maxParticleCount: 50,
15
- type: 3,
16
- color: '#ffffff',
17
- fadeInTime: 7,
18
- fadeOutTime: 1,
19
- lifetime: 15,
20
- spawnArea: {
21
- minRadius: 0.20142663043478262,
22
- maxRadius: 0.27751358695652173
23
- },
24
- initialVelocity: {
25
- x: 0,
26
- y: 0,
27
- z: 0
28
- },
29
- force: {
30
- linear: {
31
- x: 0,
32
- y: 0,
33
- z: 0.02
34
- },
35
- exponential: {
36
- x: 0,
37
- y: 0,
38
- z: 0
39
- },
40
- sinusoidal: {
41
- amplitude: {
42
- x: 0.01,
43
- y: 0.015,
44
- z: 0
45
- },
46
- frequency: {
47
- x: 0.3,
48
- y: 0.5,
49
- z: 0
50
- }
51
- }
52
- },
53
- rotation: {
54
- alignRadially: false,
55
- offset: 0,
56
- velocity: 0.9,
57
- randomize: true
58
- },
59
- scale: {
60
- x: 1,
61
- y: 1
62
- },
63
- size: {
64
- min: 0.025611413043478262,
65
- max: 0.0484375
66
- }
67
- }
68
- };
@@ -1,3 +0,0 @@
1
- import type { WeatherLayerPreset } from '../types';
2
- declare const _default: WeatherLayerPreset;
3
- export default _default;
@@ -1,67 +0,0 @@
1
- export default {
2
- fov: 70,
3
- intensity: 0.7,
4
- opacity: 1.0,
5
- depthOfField: {
6
- enabled: false,
7
- focus: 0,
8
- focalLength: 0,
9
- bokehScale: 0,
10
- kernelSize: 0
11
- },
12
- particles: {
13
- maxParticleCount: 5000,
14
- type: 2,
15
- color: '#e0e0e0',
16
- fadeInTime: 1,
17
- fadeOutTime: 3,
18
- lifetime: 3,
19
- spawnArea: {
20
- minRadius: 0.008,
21
- maxRadius: 0.02
22
- },
23
- initialVelocity: {
24
- x: 0,
25
- y: 0,
26
- z: 0
27
- },
28
- force: {
29
- linear: {
30
- x: 0,
31
- y: 0,
32
- z: 0.02
33
- },
34
- exponential: {
35
- x: 0,
36
- y: 0,
37
- z: 0
38
- },
39
- sinusoidal: {
40
- amplitude: {
41
- x: 0,
42
- y: 0,
43
- z: 0
44
- },
45
- frequency: {
46
- x: 5,
47
- y: 5,
48
- z: 5
49
- }
50
- }
51
- },
52
- rotation: {
53
- alignRadially: true,
54
- offset: 270,
55
- velocity: 0,
56
- randomize: false
57
- },
58
- scale: {
59
- x: 0.2,
60
- y: 1
61
- },
62
- size: {
63
- min: 0.001,
64
- max: 0.001
65
- }
66
- }
67
- };
@@ -1,3 +0,0 @@
1
- import type { WeatherLayerPreset } from '../types';
2
- declare const _default: WeatherLayerPreset;
3
- export default _default;
@@ -1,68 +0,0 @@
1
- import { KernelSize } from 'postprocessing';
2
- export default {
3
- fov: 90,
4
- intensity: 0.2,
5
- opacity: 0.8,
6
- depthOfField: {
7
- enabled: true,
8
- focus: 0.7,
9
- focalLength: 5.0,
10
- bokehScale: 50.0,
11
- kernelSize: KernelSize.LARGE
12
- },
13
- particles: {
14
- maxParticleCount: 1000,
15
- type: 1,
16
- color: '#ffffff',
17
- fadeInTime: 8,
18
- fadeOutTime: 2,
19
- lifetime: 10,
20
- spawnArea: {
21
- minRadius: 0.02,
22
- maxRadius: 0.5
23
- },
24
- initialVelocity: {
25
- x: 0,
26
- y: 0,
27
- z: 0
28
- },
29
- force: {
30
- linear: {
31
- x: 0,
32
- y: 0,
33
- z: 0.005
34
- },
35
- exponential: {
36
- x: 0,
37
- y: 0,
38
- z: 0
39
- },
40
- sinusoidal: {
41
- amplitude: {
42
- x: 0.002,
43
- y: 0.003,
44
- z: 0
45
- },
46
- frequency: {
47
- x: 2,
48
- y: 1,
49
- z: 0
50
- }
51
- }
52
- },
53
- rotation: {
54
- alignRadially: false,
55
- offset: 0,
56
- velocity: 0,
57
- randomize: true
58
- },
59
- scale: {
60
- x: 1,
61
- y: 1
62
- },
63
- size: {
64
- min: 0.001,
65
- max: 0.005
66
- }
67
- }
68
- };
@@ -1,5 +0,0 @@
1
- import AshPreset from './AshPreset';
2
- import LeavesPreset from './LeavesPreset';
3
- import RainPreset from './RainPreset';
4
- import SnowPreset from './SnowPreset';
5
- export { AshPreset, LeavesPreset, RainPreset, SnowPreset };