fragment-tools 0.1.13 → 0.1.15

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 (184) hide show
  1. package/.prettierignore +1 -2
  2. package/.prettierrc +23 -7
  3. package/README.md +28 -9
  4. package/bin/index.js +70 -10
  5. package/package.json +14 -6
  6. package/src/cli/build.js +125 -0
  7. package/src/cli/create.js +238 -0
  8. package/src/cli/createConfig.js +82 -0
  9. package/src/cli/createFragmentFile.js +70 -0
  10. package/src/cli/getEntries.js +85 -0
  11. package/src/cli/log.js +36 -24
  12. package/src/cli/plugins/check-dependencies.js +88 -42
  13. package/src/cli/plugins/hot-shader-replacement.js +408 -0
  14. package/src/cli/plugins/hot-sketch-reload.js +21 -25
  15. package/src/cli/plugins/save.js +101 -0
  16. package/src/cli/preview.js +55 -0
  17. package/src/cli/prompts.js +260 -0
  18. package/src/cli/run.js +131 -0
  19. package/src/cli/templates/blank/index.js +33 -0
  20. package/src/cli/templates/blank/meta.json +4 -0
  21. package/src/cli/templates/default/index.js +39 -0
  22. package/src/cli/templates/default/meta.json +5 -0
  23. package/src/cli/templates/fragment-gl/index.js +37 -0
  24. package/src/cli/templates/fragment-gl/meta.json +4 -0
  25. package/src/cli/templates/p5/index.js +32 -0
  26. package/src/cli/templates/p5/meta.json +5 -0
  27. package/src/cli/templates/p5-webgl/fragment.fs +14 -0
  28. package/src/cli/templates/p5-webgl/index.js +67 -0
  29. package/src/cli/templates/p5-webgl/meta.json +5 -0
  30. package/src/cli/templates/three-fragment/fragment.fs +10 -0
  31. package/src/cli/templates/three-fragment/index.js +95 -0
  32. package/src/cli/templates/three-fragment/meta.json +5 -0
  33. package/src/cli/templates/three-orthographic/index.js +55 -0
  34. package/src/cli/templates/three-orthographic/meta.json +5 -0
  35. package/src/cli/templates/three-perspective/index.js +52 -0
  36. package/src/cli/templates/three-perspective/meta.json +5 -0
  37. package/src/cli/utils.js +70 -0
  38. package/src/cli/ws.js +87 -78
  39. package/src/client/app/App.svelte +3 -3
  40. package/src/client/app/client.js +55 -39
  41. package/src/client/app/components/IconCross.svelte +18 -18
  42. package/src/client/app/components/Init.svelte +40 -8
  43. package/src/client/app/components/KeyBinding.svelte +22 -22
  44. package/src/client/app/helpers.js +42 -0
  45. package/src/client/app/hooks.js +20 -0
  46. package/src/client/app/inputs/Input.js +9 -9
  47. package/src/client/app/inputs/Keyboard.js +13 -15
  48. package/src/client/app/inputs/MIDI.js +14 -15
  49. package/src/client/app/inputs/Mouse.js +1 -1
  50. package/src/client/app/inputs/Webcam.js +89 -88
  51. package/src/client/app/lib/canvas-recorder/CanvasRecorder.js +41 -21
  52. package/src/client/app/lib/canvas-recorder/FrameRecorder.js +7 -6
  53. package/src/client/app/lib/canvas-recorder/H264Recorder.js +45 -0
  54. package/src/client/app/lib/canvas-recorder/MP4Recorder.js +7 -9
  55. package/src/client/app/lib/canvas-recorder/WebMRecorder.js +3 -4
  56. package/src/client/app/lib/canvas-recorder/mp4.js +1649 -15
  57. package/src/client/app/lib/canvas-recorder/utils.js +33 -17
  58. package/src/client/app/lib/gl/Geometry.js +11 -8
  59. package/src/client/app/lib/gl/Program.js +38 -19
  60. package/src/client/app/lib/gl/Renderer.js +163 -156
  61. package/src/client/app/lib/gl/Texture.js +113 -85
  62. package/src/client/app/lib/gl/index.js +12 -12
  63. package/src/client/app/lib/gl/utils.js +1 -3
  64. package/src/client/app/lib/helpers/frameDebounce.js +30 -30
  65. package/src/client/app/lib/loader/index.js +10 -10
  66. package/src/client/app/lib/loader/loadImage.js +15 -15
  67. package/src/client/app/lib/loader/loadScript.js +1 -1
  68. package/src/client/app/lib/paper-sizes.js +75 -76
  69. package/src/client/app/lib/presets.js +25 -5
  70. package/src/client/app/lib/tempo/Analyser.js +18 -17
  71. package/src/client/app/lib/tempo/Range.js +15 -12
  72. package/src/client/app/lib/tempo/index.js +34 -27
  73. package/src/client/app/modules/AudioAnalyser/Range.svelte +69 -72
  74. package/src/client/app/modules/AudioAnalyser/Spectrum.svelte +20 -19
  75. package/src/client/app/modules/AudioAnalyser.svelte +52 -35
  76. package/src/client/app/modules/Console/ConsoleLine.svelte +193 -172
  77. package/src/client/app/modules/Console.svelte +76 -74
  78. package/src/client/app/modules/Exports.svelte +62 -43
  79. package/src/client/app/modules/MidiPanel.svelte +100 -101
  80. package/src/client/app/modules/Monitor.svelte +57 -57
  81. package/src/client/app/modules/Params.svelte +128 -103
  82. package/src/client/app/renderers/2DRenderer.js +3 -3
  83. package/src/client/app/renderers/FragmentRenderer.js +30 -23
  84. package/src/client/app/renderers/P5GLRenderer.js +144 -0
  85. package/src/client/app/renderers/P5Renderer.js +10 -7
  86. package/src/client/app/renderers/THREERenderer.js +136 -94
  87. package/src/client/app/stores/audioAnalysis.js +3 -4
  88. package/src/client/app/stores/console.js +9 -10
  89. package/src/client/app/stores/errors.js +1 -1
  90. package/src/client/app/stores/exports.js +36 -20
  91. package/src/client/app/stores/index.js +2 -2
  92. package/src/client/app/stores/layout.js +143 -138
  93. package/src/client/app/stores/multisampling.js +4 -4
  94. package/src/client/app/stores/props.js +76 -13
  95. package/src/client/app/stores/renderers.js +26 -15
  96. package/src/client/app/stores/rendering.js +108 -89
  97. package/src/client/app/stores/sketches.js +7 -9
  98. package/src/client/app/stores/time.js +18 -18
  99. package/src/client/app/stores/utils.js +95 -38
  100. package/src/client/app/transitions/fade.js +3 -3
  101. package/src/client/app/transitions/index.js +6 -7
  102. package/src/client/app/transitions/splitX.js +2 -2
  103. package/src/client/app/transitions/splitY.js +2 -2
  104. package/src/client/app/triggers/Keyboard.js +88 -79
  105. package/src/client/app/triggers/MIDI.js +110 -84
  106. package/src/client/app/triggers/Mouse.js +73 -65
  107. package/src/client/app/triggers/Trigger.js +59 -58
  108. package/src/client/app/triggers/index.js +7 -7
  109. package/src/client/app/triggers/shared.js +5 -5
  110. package/src/client/app/ui/Build.svelte +70 -71
  111. package/src/client/app/ui/ErrorOverlay.svelte +118 -104
  112. package/src/client/app/ui/Field.svelte +393 -258
  113. package/src/client/app/ui/FieldGroup.svelte +106 -94
  114. package/src/client/app/ui/FieldSection.svelte +127 -116
  115. package/src/client/app/ui/FieldSpace.svelte +29 -30
  116. package/src/client/app/ui/FieldTrigger.svelte +256 -244
  117. package/src/client/app/ui/FieldTriggers.svelte +46 -46
  118. package/src/client/app/ui/FloatingParams.svelte +29 -30
  119. package/src/client/app/ui/Layout.svelte +31 -32
  120. package/src/client/app/ui/LayoutColumn.svelte +4 -4
  121. package/src/client/app/ui/LayoutComponent.svelte +239 -225
  122. package/src/client/app/ui/LayoutResizer.svelte +195 -176
  123. package/src/client/app/ui/LayoutRoot.svelte +6 -6
  124. package/src/client/app/ui/LayoutRow.svelte +4 -4
  125. package/src/client/app/ui/LayoutToolbar.svelte +191 -194
  126. package/src/client/app/ui/Module.svelte +134 -135
  127. package/src/client/app/ui/ModuleHeaderAction.svelte +81 -78
  128. package/src/client/app/ui/ModuleHeaderButton.svelte +12 -12
  129. package/src/client/app/ui/ModuleHeaderSelect.svelte +47 -37
  130. package/src/client/app/ui/ModuleRenderer.svelte +26 -27
  131. package/src/client/app/ui/OutputRenderer.svelte +112 -105
  132. package/src/client/app/ui/ParamsMultisampling.svelte +96 -95
  133. package/src/client/app/ui/ParamsOutput.svelte +130 -113
  134. package/src/client/app/ui/Preview.svelte +7 -8
  135. package/src/client/app/ui/SelectChevrons.svelte +27 -15
  136. package/src/client/app/ui/SketchRenderer.svelte +780 -667
  137. package/src/client/app/ui/SketchSelect.svelte +50 -44
  138. package/src/client/app/ui/fields/ButtonInput.svelte +61 -48
  139. package/src/client/app/ui/fields/CheckboxInput.svelte +67 -61
  140. package/src/client/app/ui/fields/ColorInput.svelte +294 -238
  141. package/src/client/app/ui/fields/FieldInputRow.svelte +8 -8
  142. package/src/client/app/ui/fields/ImageInput.svelte +123 -121
  143. package/src/client/app/ui/fields/Input.svelte +100 -111
  144. package/src/client/app/ui/fields/IntervalInput.svelte +268 -0
  145. package/src/client/app/ui/fields/ListInput.svelte +96 -96
  146. package/src/client/app/ui/fields/NumberInput.svelte +120 -116
  147. package/src/client/app/ui/fields/ProgressInput.svelte +99 -73
  148. package/src/client/app/ui/fields/Select.svelte +137 -124
  149. package/src/client/app/ui/fields/TextInput.svelte +10 -11
  150. package/src/client/app/ui/fields/VectorInput.svelte +86 -82
  151. package/src/client/app/utils/canvas.utils.js +189 -208
  152. package/src/client/app/utils/color.utils.js +138 -101
  153. package/src/client/app/utils/fields.utils.js +131 -0
  154. package/src/client/app/utils/file.utils.js +209 -37
  155. package/src/client/app/utils/glsl.utils.js +2 -2
  156. package/src/client/app/utils/glslErrors.js +49 -31
  157. package/src/client/app/utils/index.js +32 -29
  158. package/src/client/app/utils/math.utils.js +14 -10
  159. package/src/client/index.html +16 -16
  160. package/src/client/main.js +4 -4
  161. package/src/client/public/css/global.css +26 -16
  162. package/src/cli/db.js +0 -17
  163. package/src/cli/index.js +0 -198
  164. package/src/cli/plugins/db.js +0 -12
  165. package/src/cli/plugins/hot-shader-reload.js +0 -86
  166. package/src/cli/plugins/screenshot.js +0 -46
  167. package/src/cli/server.js +0 -153
  168. package/src/cli/templates/2d.js +0 -15
  169. package/src/cli/templates/blank.js +0 -13
  170. package/src/cli/templates/fragment.js +0 -18
  171. package/src/cli/templates/index.js +0 -27
  172. package/src/cli/templates/p5.js +0 -13
  173. package/src/cli/templates/three-fragment.js +0 -53
  174. package/src/cli/templates/three-orthographic.js +0 -23
  175. package/src/cli/templates/three-perspective.js +0 -20
  176. package/src/client/app/lib/canvas-recorder/FFMPEGRecorder.js +0 -56
  177. package/src/client/app/utils/props.utils.js +0 -51
  178. package/src/client/public/fonts/Inter-Bold.woff2 +0 -0
  179. package/src/client/public/fonts/Inter-Italic.woff2 +0 -0
  180. package/src/client/public/fonts/Inter-Regular.woff2 +0 -0
  181. package/src/client/public/fonts/Inter-SemiBold.woff2 +0 -0
  182. package/src/client/public/js/ffmpeg.min.js +0 -2
  183. package/src/client/public/js/ffmpeg.min.js.map +0 -1
  184. /package/src/cli/templates/{fragment.fs → fragment-gl/fragment.fs} +0 -0
@@ -1,218 +1,237 @@
1
1
  <script context="module">
2
- export const MIN_HEIGHT_ROW = 25;
3
- export const MIN_WIDTH_COL = 25;
4
- export const DIRECTIONS = {
5
- HORIZONTAL: "horizontal",
6
- VERTICAL: "vertical",
7
- };
2
+ export const MIN_HEIGHT_ROW = 25;
3
+ export const MIN_WIDTH_COL = 25;
4
+ export const DIRECTIONS = {
5
+ HORIZONTAL: 'horizontal',
6
+ VERTICAL: 'vertical',
7
+ };
8
8
  </script>
9
9
 
10
10
  <script>
11
- import { layout, resize, traverse, tree } from "../stores/layout.js";
12
- import { clamp, map } from "../utils/math.utils.js";
11
+ import { layout, resize, traverse, tree } from '../stores/layout.js';
12
+ import { clamp, map } from '../utils/math.utils.js';
13
13
 
14
- export let direction = DIRECTIONS.HORIZONTAL;
15
- export let current;
16
- export let parent = {};
14
+ export let direction = DIRECTIONS.HORIZONTAL;
15
+ export let current;
16
+ export let parent = {};
17
17
 
18
- const { children } = parent;
18
+ const { children } = parent;
19
19
 
20
- let visible = false;
21
- let isDragging = false;
22
- let next;
20
+ let visible = false;
21
+ let isDragging = false;
22
+ let next;
23
23
 
24
- function findNext() {
25
- if (children && current.node && current.node) {
26
- const { parentNode } = current.node;
27
- const childNodes = [...parentNode.children]
24
+ function findNext() {
25
+ if (children && current.node && current.node) {
26
+ const { parentNode } = current.node;
27
+ const childNodes = [...parentNode.children];
28
28
 
29
- const index = childNodes.findIndex(c => c === current.node);
30
- const nextNode = childNodes[index+2];
29
+ const index = childNodes.findIndex((c) => c === current.node);
30
+ const nextNode = childNodes[index + 2];
31
31
 
32
- next = $children.find(c => c.node === nextNode);
32
+ next = $children.find((c) => c.node === nextNode);
33
33
 
34
- traverse((c) => {
35
- if (c.id === next.id) {
36
- nextSize = c.size;
37
- }
34
+ traverse((c) => {
35
+ if (c.id === next.id) {
36
+ nextSize = c.size;
37
+ }
38
38
 
39
- if (c.id === current.id) {
40
- currentSize = c.size;
41
- }
42
- }, $tree);
39
+ if (c.id === current.id) {
40
+ currentSize = c.size;
41
+ }
42
+ }, $tree);
43
+ }
43
44
  }
44
- }
45
45
 
46
- let currentRect, nextRect;
47
- let currentSize, nextSize, totalSize;
46
+ let currentRect, nextRect;
47
+ let currentSize, nextSize, totalSize;
48
48
 
49
- function handleMouseDown() {
50
- findNext();
49
+ function handleMouseDown() {
50
+ findNext();
51
51
 
52
- if (!isDragging && next) {
53
- isDragging = true;
52
+ if (!isDragging && next) {
53
+ isDragging = true;
54
54
 
55
- document.body.style.userSelect = "none";
56
- document.body.style.cursor = direction === DIRECTIONS.HORIZONTAL ? "ns-resize" : "ew-resize";
55
+ document.body.style.userSelect = 'none';
56
+ document.body.style.cursor =
57
+ direction === DIRECTIONS.HORIZONTAL ? 'ns-resize' : 'ew-resize';
57
58
 
58
- totalSize = currentSize + nextSize;
59
+ totalSize = currentSize + nextSize;
59
60
 
60
- currentRect = current.node.getBoundingClientRect();
61
- nextRect = next.node.getBoundingClientRect();
61
+ currentRect = current.node.getBoundingClientRect();
62
+ nextRect = next.node.getBoundingClientRect();
62
63
 
63
- visible = currentSize === nextSize;
64
- }
65
- }
64
+ visible = currentSize === nextSize;
65
+ }
66
+ }
67
+
68
+ function handleMouseUp(event) {
69
+ if (isDragging) {
70
+ isDragging = false;
71
+ visible = false;
72
+ document.body.style.userSelect = null;
73
+ document.body.style.cursor = null;
74
+ }
75
+ }
76
+
77
+ function handleMouseMove(event) {
78
+ if (!isDragging) return;
79
+ let prevFlex, nextFlex;
80
+
81
+ if (direction === DIRECTIONS.HORIZONTAL) {
82
+ const top = currentRect.top;
83
+ const bottom = nextRect.bottom;
84
+
85
+ const y = clamp(event.clientY, top, bottom);
86
+
87
+ prevFlex =
88
+ Math.round(map(y, top, bottom, 0, totalSize) * 10000) / 10000;
89
+ nextFlex =
90
+ Math.round(map(y, bottom, top, 0, totalSize) * 10000) / 10000;
91
+ } else if (direction === DIRECTIONS.VERTICAL) {
92
+ const left = currentRect.left;
93
+ const right = nextRect.right;
94
+
95
+ const x = clamp(
96
+ event.clientX,
97
+ left + MIN_WIDTH_COL,
98
+ right - MIN_WIDTH_COL,
99
+ );
100
+ prevFlex =
101
+ Math.round(map(x, left, right, 0, totalSize) * 10000) / 10000;
102
+ nextFlex =
103
+ Math.round(map(x, right, left, 0, totalSize) * 10000) / 10000;
104
+ }
105
+
106
+ let totalWidth = currentRect.width + nextRect.width;
107
+ let totalHeight = currentRect.height + nextRect.height;
108
+
109
+ if (Math.abs(nextFlex - prevFlex) < 0.05) {
110
+ prevFlex = totalSize * 0.5;
111
+ nextFlex = totalSize * 0.5;
112
+ }
113
+
114
+ let ratioWidth = totalWidth / totalSize;
115
+ let ratioHeight = totalHeight / totalSize;
116
+
117
+ visible = prevFlex === nextFlex;
118
+
119
+ function isMinimized(size) {
120
+ return (
121
+ size *
122
+ (direction === DIRECTIONS.HORIZONTAL
123
+ ? ratioHeight
124
+ : ratioWidth) <=
125
+ 25
126
+ );
127
+ }
128
+
129
+ if (isMinimized(prevFlex)) {
130
+ nextFlex = totalSize;
131
+ prevFlex = 0;
132
+ } else if (isMinimized(nextFlex)) {
133
+ prevFlex = totalSize;
134
+ nextFlex = 0;
135
+ }
136
+
137
+ resize([
138
+ { id: current.id, size: prevFlex },
139
+ { id: next.id, size: nextFlex },
140
+ ]);
141
+ }
142
+ </script>
143
+
144
+ <div
145
+ class="resizer resizer--{direction}"
146
+ class:dragging={isDragging}
147
+ class:editing={$layout.editing}
148
+ >
149
+ <div
150
+ class="resizer-hover"
151
+ class:visible
152
+ on:mousedown={handleMouseDown}
153
+ ></div>
154
+ </div>
155
+ <svelte:window on:mouseup={handleMouseUp} on:mousemove={handleMouseMove} />
156
+
157
+ <style>
158
+ .resizer {
159
+ --area-size: 10px;
160
+ --thickness: 2px;
161
+
162
+ position: relative;
163
+ }
66
164
 
67
- function handleMouseUp(event) {
68
- if (isDragging) {
69
- isDragging = false;
70
- visible = false;
71
- document.body.style.userSelect = null;
72
- document.body.style.cursor = null;
73
- }
74
- }
165
+ [class~='resizer']:last-of-type {
166
+ display: none;
167
+ }
75
168
 
76
- function handleMouseMove(event) {
77
- if (!isDragging) return;
78
- let prevFlex, nextFlex;
169
+ .resizer-hover {
170
+ position: absolute;
171
+ z-index: 100;
79
172
 
80
- if (direction === DIRECTIONS.HORIZONTAL) {
81
- const top = currentRect.top;
82
- const bottom = nextRect.bottom;
173
+ display: flex;
174
+ justify-content: center;
175
+ align-items: center;
176
+ }
83
177
 
84
- const y = clamp(event.clientY, top, bottom);
178
+ .resizer-hover:before {
179
+ content: '';
85
180
 
86
- prevFlex = Math.round(map(y, top, bottom, 0, totalSize) * 10000) / 10000;
87
- nextFlex = Math.round(map(y, bottom, top, 0, totalSize) * 10000) / 10000;
88
- } else if (direction === DIRECTIONS.VERTICAL) {
89
- const left = currentRect.left;
90
- const right = nextRect.right;
181
+ width: var(--thickness);
182
+ height: 100%;
91
183
 
92
- const x = clamp(event.clientX, left + MIN_WIDTH_COL, right - MIN_WIDTH_COL);
93
- prevFlex = Math.round(map(x, left, right, 0, totalSize) * 10000) / 10000;
94
- nextFlex = Math.round(map(x, right, left, 0, totalSize) * 10000) / 10000;
184
+ background-color: white;
185
+ opacity: 0;
95
186
  }
96
187
 
97
- let totalWidth = currentRect.width + nextRect.width;
98
- let totalHeight = currentRect.height + nextRect.height;
99
-
188
+ .resizer.editing .resizer-hover:before {
189
+ opacity: 0.1;
190
+ }
100
191
 
192
+ .resizer .resizer-hover:hover:before {
193
+ opacity: 0.25;
194
+ }
101
195
 
102
- if (Math.abs(nextFlex - prevFlex) < 0.05) {
103
- prevFlex = totalSize * 0.5;
104
- nextFlex = totalSize * 0.5;
196
+ .resizer.dragging .resizer-hover:before {
197
+ opacity: 0.5;
105
198
  }
106
199
 
107
- let ratioWidth = totalWidth / totalSize;
108
- let ratioHeight = totalHeight / totalSize;
109
-
110
- visible = prevFlex === nextFlex;
200
+ .resizer.dragging .resizer-hover.visible:before {
201
+ opacity: 1;
202
+ background-color: #177bd0;
203
+ }
111
204
 
112
- function isMinimized(size) {
113
- return size * (direction === DIRECTIONS.HORIZONTAL ? ratioHeight : ratioWidth) <= 25;
205
+ .resizer--horizontal {
206
+ height: 0;
114
207
  }
115
208
 
116
- if (isMinimized(prevFlex)) {
117
- nextFlex = totalSize;
118
- prevFlex = 0;
119
- } else if (isMinimized(nextFlex)) {
120
- prevFlex = totalSize;
121
- nextFlex = 0;
209
+ .resizer--horizontal .resizer-hover {
210
+ top: calc(-0.5 * var(--area-size));
211
+ right: 0;
212
+ bottom: calc(-0.5 * var(--area-size));
213
+ left: 0;
214
+
215
+ cursor: row-resize;
122
216
  }
123
217
 
124
- resize([
125
- { id: current.id, size: prevFlex },
126
- { id: next.id, size: nextFlex }
127
- ]);
128
- }
218
+ .resizer--horizontal .resizer-hover:before {
219
+ width: 100%;
220
+ height: var(--thickness);
221
+ }
129
222
 
130
- </script>
223
+ .resizer--vertical {
224
+ width: 0;
225
+ }
131
226
 
132
- <div class="resizer resizer--{direction}" class:dragging={isDragging} class:editing={$layout.editing}>
133
- <div class="resizer-hover" class:visible={visible} on:mousedown={handleMouseDown}></div>
134
- </div>
135
- <svelte:window on:mouseup={handleMouseUp} on:mousemove={handleMouseMove} />
227
+ .resizer--vertical .resizer-hover {
228
+ top: 0;
229
+ right: calc(-0.5 * var(--area-size));
230
+ bottom: 0;
231
+ left: calc(-0.5 * var(--area-size));
136
232
 
137
- <style>
138
- .resizer {
139
- --area-size: 10px;
140
- --thickness: 2px;
141
-
142
- position: relative;
143
- }
144
-
145
- [class~='resizer']:last-of-type {
146
- display: none;
147
- }
148
-
149
- .resizer-hover {
150
- position: absolute;
151
- z-index: 100;
152
-
153
- display: flex;
154
- justify-content: center;
155
- align-items: center;
156
- }
157
-
158
- .resizer-hover:before {
159
- content: '';
160
-
161
- width: var(--thickness);
162
- height: 100%;
163
-
164
- background-color: white;
165
- opacity: 0;
166
- }
167
-
168
- .resizer.editing .resizer-hover:before {
169
- opacity: 0.1;
170
- }
171
-
172
- .resizer .resizer-hover:hover:before {
173
- opacity: 0.25;
174
- }
175
-
176
- .resizer.dragging .resizer-hover:before {
177
- opacity: 0.5;
178
- }
179
-
180
- .resizer.dragging .resizer-hover.visible:before {
181
- opacity: 1;
182
- background-color: #177bd0;
183
- }
184
-
185
- .resizer--horizontal {
186
- height: 0;
187
- }
188
-
189
- .resizer--horizontal .resizer-hover {
190
- top: calc(-0.5 * var(--area-size));
191
- right: 0;
192
- bottom: calc(-0.5 * var(--area-size));
193
- left: 0;
194
-
195
- cursor: row-resize;
196
- }
197
-
198
- .resizer--horizontal .resizer-hover:before {
199
- width: 100%;
200
- height: var(--thickness);
201
- }
202
-
203
- .resizer--vertical {
204
- width: 0;
205
- }
206
-
207
- .resizer--vertical .resizer-hover {
208
- top: 0;
209
- right: calc(-0.5 * var(--area-size));
210
- bottom: 0;
211
- left: calc(-0.5 * var(--area-size));
212
-
213
- cursor: col-resize;
214
-
215
- /* background: rgba(0, 255, 0, 0.5); */
216
- }
233
+ cursor: col-resize;
217
234
 
235
+ /* background: rgba(0, 255, 0, 0.5); */
236
+ }
218
237
  </style>
@@ -1,11 +1,11 @@
1
1
  <script>
2
- import { tree } from "../stores/layout";
3
- import LayoutComponent from "./LayoutComponent.svelte";
2
+ import { tree } from '../stores/layout';
3
+ import LayoutComponent from './LayoutComponent.svelte';
4
4
 
5
- $: type = $tree.type;
6
- $: size = $tree.size;
5
+ $: type = $tree.type;
6
+ $: size = $tree.size;
7
7
  </script>
8
8
 
9
- <LayoutComponent tree={$tree} type={type} size={size}>
10
- <slot></slot>
9
+ <LayoutComponent tree={$tree} {type} {size}>
10
+ <slot />
11
11
  </LayoutComponent>
@@ -1,9 +1,9 @@
1
1
  <script>
2
- import LayoutComponent from "./LayoutComponent.svelte";
2
+ import LayoutComponent from './LayoutComponent.svelte';
3
3
 
4
- export let size = 1;
4
+ export let size = 1;
5
5
  </script>
6
6
 
7
- <LayoutComponent size={size} type="row">
8
- <slot></slot>
7
+ <LayoutComponent {size} type="row">
8
+ <slot />
9
9
  </LayoutComponent>