@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,26 +0,0 @@
1
- export default PropsTable;
2
- type PropsTable = SvelteComponent<{
3
- componentName?: string | undefined;
4
- }, {
5
- [evt: string]: CustomEvent<any>;
6
- }, {}> & {
7
- $$bindings?: string | undefined;
8
- };
9
- declare const PropsTable: $$__sveltets_2_IsomorphicComponent<{
10
- componentName?: string | undefined;
11
- }, {
12
- [evt: string]: CustomEvent<any>;
13
- }, {}, {}, string>;
14
- interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
15
- new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
16
- $$bindings?: Bindings;
17
- } & Exports;
18
- (internal: unknown, props: Props & {
19
- $$events?: Events;
20
- $$slots?: Slots;
21
- }): Exports & {
22
- $set?: any;
23
- $on?: any;
24
- };
25
- z_$$bindings?: Bindings;
26
- }
@@ -1,36 +0,0 @@
1
- <script lang="ts">
2
- import { Canvas } from '@threlte/core';
3
- import { AnnotationEffect } from '../Stage/components/AnnotationLayer/types';
4
- import EffectPreviewScene from './EffectPreviewScene.svelte';
5
-
6
- interface Props {
7
- effectType: AnnotationEffect;
8
- size?: string;
9
- shape?: 'circle' | 'rounded';
10
- }
11
-
12
- const { effectType, size = '3rem', shape = 'circle' }: Props = $props();
13
- </script>
14
-
15
- <div class="effectPreview" class:effectPreview--rounded={shape === 'rounded'} style="width: {size}; height: {size};">
16
- <Canvas>
17
- <EffectPreviewScene {effectType} {shape} />
18
- </Canvas>
19
- </div>
20
-
21
- <style>
22
- .effectPreview {
23
- border-radius: 50%;
24
- overflow: hidden;
25
- background: transparent;
26
- }
27
-
28
- .effectPreview--rounded {
29
- border-radius: var(--radius-1);
30
- }
31
-
32
- .effectPreview :global(canvas) {
33
- width: 100% !important;
34
- height: 100% !important;
35
- }
36
- </style>
@@ -1,9 +0,0 @@
1
- import { AnnotationEffect } from '../Stage/components/AnnotationLayer/types';
2
- interface Props {
3
- effectType: AnnotationEffect;
4
- size?: string;
5
- shape?: 'circle' | 'rounded';
6
- }
7
- declare const EffectPreview: import("svelte").Component<Props, {}, "">;
8
- type EffectPreview = ReturnType<typeof EffectPreview>;
9
- export default EffectPreview;
@@ -1,194 +0,0 @@
1
- <script lang="ts">
2
- import * as THREE from 'three';
3
- import { T, useTask } from '@threlte/core';
4
- import { AnnotationEffect, getDefaultEffectProps } from '../Stage/components/AnnotationLayer/types';
5
-
6
- import annotationEffectsFragmentShader from '../Stage/shaders/AnnotationEffects.frag?raw';
7
- import annotationVertexShader from '../Stage/shaders/default.vert?raw';
8
-
9
- interface Props {
10
- effectType: AnnotationEffect;
11
- shape?: 'circle' | 'rounded';
12
- }
13
-
14
- const { effectType, shape = 'circle' }: Props = $props();
15
-
16
- // Create circular mask texture with mipmaps
17
- // Use 512x512 to match shader expectations for texSize calculations
18
- const createCircularMaskTexture = (): THREE.DataTexture => {
19
- const textureSize = 512;
20
- const data = new Uint8Array(textureSize * textureSize * 4);
21
-
22
- const center = textureSize / 2;
23
- const radius = textureSize / 2 - 4; // Slight inset for smooth edges
24
-
25
- for (let y = 0; y < textureSize; y++) {
26
- for (let x = 0; x < textureSize; x++) {
27
- const dx = x - center;
28
- const dy = y - center;
29
- const dist = Math.sqrt(dx * dx + dy * dy);
30
-
31
- // Smooth anti-aliased edge
32
- const edge = 1.0 - Math.max(0, Math.min(1, (dist - radius + 2) / 4));
33
- const value = Math.floor(edge * 255);
34
-
35
- const idx = (y * textureSize + x) * 4;
36
- data[idx] = value;
37
- data[idx + 1] = value;
38
- data[idx + 2] = value;
39
- data[idx + 3] = value;
40
- }
41
- }
42
-
43
- const texture = new THREE.DataTexture(data, textureSize, textureSize, THREE.RGBAFormat);
44
- texture.generateMipmaps = true;
45
- texture.minFilter = THREE.LinearMipmapLinearFilter;
46
- texture.magFilter = THREE.LinearFilter;
47
- texture.needsUpdate = true;
48
-
49
- return texture;
50
- };
51
-
52
- // Create rounded square mask texture with mipmaps
53
- const createRoundedSquareMaskTexture = (): THREE.DataTexture => {
54
- const textureSize = 512;
55
- const data = new Uint8Array(textureSize * textureSize * 4);
56
-
57
- const inset = 4; // Slight inset for smooth edges
58
- const halfSize = textureSize / 2 - inset;
59
- const cornerRadius = textureSize * 0.15; // ~15% corner radius
60
-
61
- // Signed distance function for rounded rectangle
62
- const sdRoundedBox = (px: number, py: number, bx: number, by: number, r: number): number => {
63
- const qx = Math.abs(px) - bx + r;
64
- const qy = Math.abs(py) - by + r;
65
- const outsideDist = Math.sqrt(Math.max(qx, 0) ** 2 + Math.max(qy, 0) ** 2);
66
- const insideDist = Math.min(Math.max(qx, qy), 0);
67
- return outsideDist + insideDist - r;
68
- };
69
-
70
- for (let y = 0; y < textureSize; y++) {
71
- for (let x = 0; x < textureSize; x++) {
72
- const px = x - textureSize / 2;
73
- const py = y - textureSize / 2;
74
-
75
- const dist = sdRoundedBox(px, py, halfSize, halfSize, cornerRadius);
76
-
77
- // Smooth anti-aliased edge
78
- const edge = 1.0 - Math.max(0, Math.min(1, (dist + 2) / 4));
79
- const value = Math.floor(edge * 255);
80
-
81
- const idx = (y * textureSize + x) * 4;
82
- data[idx] = value;
83
- data[idx + 1] = value;
84
- data[idx + 2] = value;
85
- data[idx + 3] = value;
86
- }
87
- }
88
-
89
- const texture = new THREE.DataTexture(data, textureSize, textureSize, THREE.RGBAFormat);
90
- texture.generateMipmaps = true;
91
- texture.minFilter = THREE.LinearMipmapLinearFilter;
92
- texture.magFilter = THREE.LinearFilter;
93
- texture.needsUpdate = true;
94
-
95
- return texture;
96
- };
97
-
98
- const maskTexture = shape === 'rounded' ? createRoundedSquareMaskTexture() : createCircularMaskTexture();
99
-
100
- const getEffectColor = (effect: AnnotationEffect): THREE.Vector3 => {
101
- switch (effect) {
102
- case AnnotationEffect.Fire:
103
- return new THREE.Vector3(1.0, 0.3, 0.1);
104
- case AnnotationEffect.Water:
105
- return new THREE.Vector3(0.2, 0.5, 0.8);
106
- case AnnotationEffect.Ice:
107
- return new THREE.Vector3(0.7, 0.85, 1.0);
108
- case AnnotationEffect.Magic:
109
- // Saturated purple (#9333ea) to match AnnotationMaterial
110
- return new THREE.Vector3(0.576, 0.2, 0.918);
111
- case AnnotationEffect.Grease:
112
- return new THREE.Vector3(0.3, 0.2, 0.1);
113
- case AnnotationEffect.SpaceTear:
114
- return new THREE.Vector3(0.2, 0.0, 0.4);
115
- default:
116
- return new THREE.Vector3(1.0, 1.0, 1.0);
117
- }
118
- };
119
-
120
- const emptyClippingPlanes = [
121
- new THREE.Vector4(0, 0, 0, 0),
122
- new THREE.Vector4(0, 0, 0, 0),
123
- new THREE.Vector4(0, 0, 0, 0),
124
- new THREE.Vector4(0, 0, 0, 0)
125
- ];
126
-
127
- // Replace NUM_CLIPPING_PLANES with 4 directly in the shader source
128
- // This is needed because Three.js replaces this token before processing defines
129
- const fragmentShaderFixed = annotationEffectsFragmentShader.replace(/NUM_CLIPPING_PLANES/g, '4');
130
-
131
- // Get effect defaults and adjust for small preview size
132
- const effectProps = getDefaultEffectProps(effectType);
133
- // Reduce border effect for small previews to avoid artifacts
134
- const previewBorder = Math.min(effectProps.border, 0.2);
135
-
136
- const material = new THREE.ShaderMaterial({
137
- uniforms: {
138
- uMaskTexture: { value: maskTexture },
139
- uTime: { value: 0.0 },
140
- uEffectType: { value: effectType },
141
- uBaseColor: { value: getEffectColor(effectType) },
142
- uOpacity: { value: 1.0 },
143
- uSpeed: { value: effectProps.speed },
144
- uIntensity: { value: effectProps.intensity },
145
- uSoftness: { value: effectProps.softness },
146
- uBorder: { value: previewBorder },
147
- uRoughness: { value: effectProps.roughness },
148
- uEdgeMinMipMapLevel: { value: 0 },
149
- uEdgeMaxMipMapLevel: { value: 4 },
150
- uClippingPlanes: { value: emptyClippingPlanes }
151
- },
152
- transparent: true,
153
- fragmentShader: fragmentShaderFixed,
154
- vertexShader: annotationVertexShader,
155
- clipping: false
156
- });
157
-
158
- $effect(() => {
159
- const props = getDefaultEffectProps(effectType);
160
- material.uniforms.uEffectType.value = effectType;
161
- material.uniforms.uBaseColor.value = getEffectColor(effectType);
162
- material.uniforms.uSpeed.value = props.speed;
163
- material.uniforms.uIntensity.value = props.intensity;
164
- material.uniforms.uSoftness.value = props.softness;
165
- material.uniforms.uBorder.value = Math.min(props.border, 0.2);
166
- material.uniforms.uRoughness.value = props.roughness;
167
- material.uniformsNeedUpdate = true;
168
- });
169
-
170
- // Animate the effect
171
- useTask((delta) => {
172
- material.uniforms.uTime.value += delta;
173
- });
174
- </script>
175
-
176
- <T.OrthographicCamera
177
- makeDefault
178
- manual
179
- position.z={1}
180
- oncreate={(ref) => {
181
- // Force camera frustum to match our 2x2 plane
182
- ref.left = -1;
183
- ref.right = 1;
184
- ref.top = 1;
185
- ref.bottom = -1;
186
- ref.near = 0.1;
187
- ref.far = 10;
188
- ref.updateProjectionMatrix();
189
- }}
190
- />
191
- <T.Mesh>
192
- <T.PlaneGeometry args={[2, 2]} />
193
- <T is={material} />
194
- </T.Mesh>
@@ -1,8 +0,0 @@
1
- import { AnnotationEffect } from '../Stage/components/AnnotationLayer/types';
2
- interface Props {
3
- effectType: AnnotationEffect;
4
- shape?: 'circle' | 'rounded';
5
- }
6
- declare const EffectPreviewScene: import("svelte").Component<Props, {}, "">;
7
- type EffectPreviewScene = ReturnType<typeof EffectPreviewScene>;
8
- export default EffectPreviewScene;