sunrize 1.6.15 → 1.7.1

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.
@@ -0,0 +1,182 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 4.0//EN" "http://www.web3d.org/specifications/x3d-4.0.dtd">
3
+ <X3D profile='Interchange' version='4.0' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='http://www.web3d.org/specifications/x3d-4.0.xsd'>
4
+ <head>
5
+ <component name='CADGeometry' level='2'/>
6
+ <component name='EnvironmentalSensor' level='3'/>
7
+ <component name='Scripting' level='1'/>
8
+ <component name='Shaders' level='1'/>
9
+ <component name='Texturing3D' level='2'/>
10
+ <meta name='comment' content='World of Titania'/>
11
+ <meta name='created' content='Tue, 14 May 2019 10:58:30 GMT'/>
12
+ <meta name='creator' content='Holger Seelig'/>
13
+ <meta name='generator' content='Titania V4.5.3, http://titania.create3000.de'/>
14
+ <meta name='generator' content='Sunrize X3D Editor V1.6.15, https://create3000.github.io/sunrize/'/>
15
+ <meta name='identifier' content='file:///home/holger/Projekte/Library/Tests/Components/Texturing3D/Volume.x3d'/>
16
+ <meta name='modified' content='Thu, 30 May 2024 21:35:33 GMT'/>
17
+ <meta name='titania-output-style' content='Nicest'/>
18
+ </head>
19
+ <Scene>
20
+ <ProtoDeclare name='Volume'>
21
+ <ProtoInterface>
22
+ <field accessType='inputOutput' type='SFVec3f' name='dimensions' value='1 1 1'/>
23
+ <field accessType='inputOutput' type='SFNode' name='voxels'/>
24
+ </ProtoInterface>
25
+ <ProtoBody>
26
+ <Group>
27
+ <ProximitySensor DEF='_1'
28
+ size='-1 -1 -1'/>
29
+ <Transform DEF='_2'>
30
+ <Shape>
31
+ <Appearance>
32
+ <IS>
33
+ <connect nodeField='texture' protoField='voxels'/>
34
+ </IS>
35
+ <TextureTransform3D DEF='_3'
36
+ translation='0.5 0.5 0.5'
37
+ center='-0.5 -0.5 -0.5'/>
38
+ <ComposedShader DEF='ComposedShader'
39
+ language='GLSL'>
40
+ <ShaderPart DEF='VertexShader'>
41
+ <![CDATA[data:x-shader/x-vertex,#version 300 es
42
+
43
+ precision mediump float;
44
+
45
+ uniform mat4 x3d_ProjectionMatrix;
46
+ uniform mat4 x3d_ModelViewMatrix;
47
+ uniform mat4 x3d_TextureMatrix [1];
48
+
49
+ in vec4 x3d_Vertex;
50
+ in vec4 x3d_TexCoord0;
51
+
52
+ out vec3 vertex;
53
+ out vec4 texCoord;
54
+
55
+ void
56
+ main ()
57
+ {
58
+ vec4 position = x3d_ModelViewMatrix * x3d_Vertex;
59
+
60
+ vertex = position .xyz;
61
+ texCoord = x3d_TextureMatrix [0] * x3d_TexCoord0;
62
+
63
+ gl_Position = x3d_ProjectionMatrix * position;
64
+ }]]>
65
+ </ShaderPart>
66
+ <ShaderPart DEF='FragmentShader'
67
+ type='FRAGMENT'>
68
+ <![CDATA[data:x-shader/x-fragment,#version 300 es
69
+
70
+ precision mediump float;
71
+ precision mediump sampler3D;
72
+
73
+ uniform int x3d_NumTextures;
74
+ uniform sampler3D x3d_Texture3D [1];
75
+
76
+ #define NUM_CLIP_PLANES 1
77
+ uniform vec4 x3d_ClipPlane [NUM_CLIP_PLANES];
78
+
79
+ in vec3 vertex;
80
+ in vec4 texCoord;
81
+
82
+ out vec4 x3d_FragColor;
83
+
84
+ void
85
+ clip ()
86
+ {
87
+ for (int i = 0; i %3C NUM_CLIP_PLANES; ++ i)
88
+ {
89
+ if (dot (vertex, x3d_ClipPlane [i] .xyz) - x3d_ClipPlane [i] .w %3C 0.0)
90
+ discard;
91
+ }
92
+ }
93
+
94
+ vec4
95
+ getTextureColor (in vec3 texCoord)
96
+ {
97
+ if (x3d_NumTextures == 0)
98
+ vec4 (1.0, 1.0, 1.0, 1.0);
99
+
100
+ if (texCoord .s %3C 0.0 %7C%7C texCoord .s %3E 1.0)
101
+ discard;
102
+
103
+ if (texCoord .t %3C 0.0 %7C%7C texCoord .t %3E 1.0)
104
+ discard;
105
+
106
+ if (texCoord .p %3C 0.0 %7C%7C texCoord .p %3E 1.0)
107
+ discard;
108
+
109
+ vec4 voxelColor = texture (x3d_Texture3D [0], vec3 (texCoord .s, texCoord .t, 1.0 - texCoord .p));
110
+
111
+ return voxelColor;
112
+ }
113
+
114
+ void
115
+ main ()
116
+ {
117
+ clip ();
118
+
119
+ x3d_FragColor = getTextureColor (texCoord .stp / texCoord .q);
120
+ }]]>
121
+ </ShaderPart>
122
+ </ComposedShader>
123
+ </Appearance>
124
+ <QuadSet DEF='_4'>
125
+ <TextureCoordinate3D/>
126
+ <Coordinate/>
127
+ </QuadSet>
128
+ </Shape>
129
+ </Transform>
130
+ </Group>
131
+ <Script DEF='VolumeScript'>
132
+ <field accessType='inputOutput' type='SFVec3f' name='dimensions'/>
133
+ <field accessType='initializeOnly' type='SFNode' name='textureTransform'>
134
+ <TextureTransform3D USE='_3'/>
135
+ </field>
136
+ <field accessType='initializeOnly' type='SFNode' name='geometry'>
137
+ <QuadSet USE='_4'/>
138
+ </field>
139
+ <IS>
140
+ <connect nodeField='dimensions' protoField='dimensions'/>
141
+ </IS>
142
+ <![CDATA[vrmlscript:
143
+
144
+ var NUM_PLANES = 200;
145
+
146
+ function initialize ()
147
+ {
148
+ set_dimension ();
149
+ }
150
+
151
+ function set_dimension ()
152
+ {
153
+ var
154
+ size = dimensions .length (),
155
+ size1_2 = size / 2,
156
+ coord = geometry .coord,
157
+ texCoord = geometry .texCoord;
158
+
159
+ coord .point .length = 0;
160
+
161
+ for (var i = 0; i < NUM_PLANES; ++ i)
162
+ {
163
+ var z = i / (NUM_PLANES - 1) - 0.5;
164
+
165
+ coord .point .push (new SFVec3f ( size1_2, size1_2, size * z),
166
+ new SFVec3f (-size1_2, size1_2, size * z),
167
+ new SFVec3f (-size1_2, -size1_2, size * z),
168
+ new SFVec3f ( size1_2, -size1_2, size * z));
169
+ }
170
+
171
+ texCoord .point = coord .point;
172
+
173
+ textureTransform .scale = new SFVec3f (1 / dimensions .x, 1 / dimensions .y, 1 / dimensions .z);
174
+ }
175
+ ]]>
176
+ </Script>
177
+ <ROUTE fromNode='_1' fromField='orientation_changed' toNode='_2' toField='set_rotation'/>
178
+ <ROUTE fromNode='_1' fromField='orientation_changed' toNode='_3' toField='set_rotation'/>
179
+ </ProtoBody>
180
+ </ProtoDeclare>
181
+ </Scene>
182
+ </X3D>
@@ -28,13 +28,8 @@ body {
28
28
  }
29
29
 
30
30
  ::selection {
31
- color: var(--system-gray0);
32
- background: var(--system-gray4);
33
- }
34
-
35
- .monaco-findInput ::selection {
36
- color: var(--system-gray5);
37
- background: var(--system-gray1);
31
+ color: var(--selection-color);
32
+ background: var(--selection-background-color);
38
33
  }
39
34
 
40
35
  /* common */
@@ -288,11 +283,10 @@ tr.disabled ~ tr > td > div {
288
283
 
289
284
  .ui-tabs {
290
285
  position: absolute;
291
- overflow: hidden;
292
286
  inset: 0;
293
287
  border: 0;
294
288
  padding: 0;
295
- background: none;
289
+ background: inherit;
296
290
  }
297
291
 
298
292
  .ui-tabs.ui-widget.ui-widget-content {
@@ -308,7 +302,8 @@ tr.disabled ~ tr > td > div {
308
302
  padding: 0;
309
303
  height: var(--tabs-height);
310
304
  width: 100%;
311
- background: none;
305
+ background: inherit;
306
+ z-index: 2000;
312
307
  }
313
308
 
314
309
  .ui-tabs.top > .ui-tabs-nav {
@@ -389,16 +384,39 @@ tr.disabled ~ tr > td > div {
389
384
  background: none;
390
385
  }
391
386
 
387
+ .qtip {
388
+ max-width: unset;
389
+ }
390
+
392
391
  .qtip-tipsy.qtip {
393
- border: var(--tool-border);
394
- background: var(--tool-background-color);
395
- backdrop-filter: var(--tool-backdrop-filter);
392
+ border: var(--qtip-border);
393
+ background: var(--qtip-background-color);
394
+ box-shadow: var(--qtip-shadow);
395
+ }
396
+
397
+ .qtip-tipsy .qtip-tip {
398
+ background: inherit !important;
399
+ }
400
+
401
+ .qtip-preview.qtip {
402
+ border: var(--preview-border);
403
+ background: var(--preview-background-color);
404
+ backdrop-filter: none;
405
+ }
406
+
407
+ .qtip-audio.qtip {
408
+ background: rgb(241, 243, 244);
396
409
  }
397
410
 
398
411
  .qtip-tipsy .qtip-content {
399
412
  padding: 5px;
400
413
  }
401
414
 
415
+ body.light .qtip-tipsy {
416
+ color: black;
417
+ text-shadow: none;
418
+ }
419
+
402
420
  .qtip input,
403
421
  .qtip select,
404
422
  .qtip button {
@@ -551,11 +569,6 @@ tr.disabled ~ tr > td > div {
551
569
 
552
570
  /* Dialog */
553
571
 
554
- .dialog ::selection {
555
- color: var(--system-gray0);
556
- background: var(--system-gray2);
557
- }
558
-
559
572
  .dialog ::placeholder {
560
573
  color: var(--system-gray1);
561
574
  }
@@ -568,6 +581,10 @@ body.dark .dialog ::placeholder {
568
581
  padding: 0.5em 1em;
569
582
  }
570
583
 
584
+ .dialog.ui-dialog {
585
+ z-index: 3000 !important;
586
+ }
587
+
571
588
  .dialog.ui-dialog.ui-widget.ui-widget-content {
572
589
  cursor: move;
573
590
  backdrop-filter: var(--tool-backdrop-filter);
@@ -902,10 +919,6 @@ body.dark .ui-widget .library-list .component {
902
919
 
903
920
  /* Sidebar */
904
921
 
905
- .sidebar {
906
- overflow: hidden;
907
- }
908
-
909
922
  .sidebar.ui-widget.ui-widget-content {
910
923
  position: absolute;
911
924
  box-sizing: border-box;
@@ -917,7 +930,9 @@ body.dark .ui-widget .library-list .component {
917
930
  }
918
931
 
919
932
  .sidebar.ui-tabs .ui-tabs-nav {
920
- background: unset;
933
+ left: -1px;
934
+ width: calc(100% + 1px);
935
+ border-left: 1px solid var(--border-color);
921
936
  }
922
937
 
923
938
  /* Tree View */
@@ -1355,13 +1370,8 @@ body.dark .ui-widget .library-list .component {
1355
1370
 
1356
1371
  /* Tweakpane */
1357
1372
 
1358
- @media (prefers-color-scheme: dark) {
1359
- .tp-dfwv ::selection {
1360
- background-color: var(--system-gray5);
1361
- }
1362
- }
1363
-
1364
1373
  .tp-dfwv {
1374
+ z-index: 3000 !important;
1365
1375
  max-height: calc(100vh - 16px);
1366
1376
  overflow: auto;
1367
1377
  }
@@ -1385,3 +1395,18 @@ body.dark .ui-widget .library-list .component {
1385
1395
  .tp-mllv_i:read-only {
1386
1396
  background-color: var(--tp-monitor-background-color-readonly);
1387
1397
  }
1398
+
1399
+ /* monaco editor */
1400
+
1401
+ .monaco-editor,
1402
+ .monaco-editor * {
1403
+ all: revert;
1404
+ }
1405
+
1406
+ .monaco-scrollable-element > .shadow {
1407
+ display: none !important;
1408
+ }
1409
+
1410
+ .monaco-inputbox > .ibwrapper {
1411
+ height: auto !important;
1412
+ }
@@ -28,13 +28,8 @@ body {
28
28
  }
29
29
 
30
30
  ::selection {
31
- color: var(--system-gray0);
32
- background: var(--system-gray4);
33
- }
34
-
35
- .monaco-findInput ::selection {
36
- color: var(--system-gray5);
37
- background: var(--system-gray1);
31
+ color: var(--selection-color);
32
+ background: var(--selection-background-color);
38
33
  }
39
34
 
40
35
  /* common */
@@ -288,11 +283,10 @@ tr.disabled ~ tr > td > div {
288
283
 
289
284
  .ui-tabs {
290
285
  position: absolute;
291
- overflow: hidden;
292
286
  inset: 0;
293
287
  border: 0;
294
288
  padding: 0;
295
- background: none;
289
+ background: inherit;
296
290
  }
297
291
 
298
292
  .ui-tabs.ui-widget.ui-widget-content {
@@ -308,7 +302,8 @@ tr.disabled ~ tr > td > div {
308
302
  padding: 0;
309
303
  height: var(--tabs-height);
310
304
  width: 100%;
311
- background: none;
305
+ background: inherit;
306
+ z-index: 2000;
312
307
  }
313
308
 
314
309
  .ui-tabs.top > .ui-tabs-nav {
@@ -389,16 +384,39 @@ tr.disabled ~ tr > td > div {
389
384
  background: none;
390
385
  }
391
386
 
387
+ .qtip {
388
+ max-width: unset;
389
+ }
390
+
392
391
  .qtip-tipsy.qtip {
393
- border: var(--tool-border);
394
- background: var(--tool-background-color);
395
- backdrop-filter: var(--tool-backdrop-filter);
392
+ border: var(--qtip-border);
393
+ background: var(--qtip-background-color);
394
+ box-shadow: var(--qtip-shadow);
395
+ }
396
+
397
+ .qtip-tipsy .qtip-tip {
398
+ background: inherit !important;
399
+ }
400
+
401
+ .qtip-preview.qtip {
402
+ border: var(--preview-border);
403
+ background: var(--preview-background-color);
404
+ backdrop-filter: none;
405
+ }
406
+
407
+ .qtip-audio.qtip {
408
+ background: rgb(241, 243, 244);
396
409
  }
397
410
 
398
411
  .qtip-tipsy .qtip-content {
399
412
  padding: 5px;
400
413
  }
401
414
 
415
+ body.light .qtip-tipsy {
416
+ color: black;
417
+ text-shadow: none;
418
+ }
419
+
402
420
  .qtip input,
403
421
  .qtip select,
404
422
  .qtip button {
@@ -551,11 +569,6 @@ tr.disabled ~ tr > td > div {
551
569
 
552
570
  /* Dialog */
553
571
 
554
- .dialog ::selection {
555
- color: var(--system-gray0);
556
- background: var(--system-gray2);
557
- }
558
-
559
572
  .dialog ::placeholder {
560
573
  color: var(--system-gray1);
561
574
  }
@@ -568,6 +581,10 @@ body.dark .dialog ::placeholder {
568
581
  padding: 0.5em 1em;
569
582
  }
570
583
 
584
+ .dialog.ui-dialog {
585
+ z-index: 3000 !important;
586
+ }
587
+
571
588
  .dialog.ui-dialog.ui-widget.ui-widget-content {
572
589
  cursor: move;
573
590
  backdrop-filter: var(--tool-backdrop-filter);
@@ -902,10 +919,6 @@ body.dark .ui-widget .library-list .component {
902
919
 
903
920
  /* Sidebar */
904
921
 
905
- .sidebar {
906
- overflow: hidden;
907
- }
908
-
909
922
  .sidebar.ui-widget.ui-widget-content {
910
923
  position: absolute;
911
924
  box-sizing: border-box;
@@ -917,7 +930,9 @@ body.dark .ui-widget .library-list .component {
917
930
  }
918
931
 
919
932
  .sidebar.ui-tabs .ui-tabs-nav {
920
- background: unset;
933
+ left: -1px;
934
+ width: calc(100% + 1px);
935
+ border-left: 1px solid var(--border-color);
921
936
  }
922
937
 
923
938
  /* Tree View */
@@ -1355,13 +1370,8 @@ body.dark .ui-widget .library-list .component {
1355
1370
 
1356
1371
  /* Tweakpane */
1357
1372
 
1358
- @media (prefers-color-scheme: dark) {
1359
- .tp-dfwv ::selection {
1360
- background-color: var(--system-gray5);
1361
- }
1362
- }
1363
-
1364
1373
  .tp-dfwv {
1374
+ z-index: 3000 !important;
1365
1375
  max-height: calc(100vh - 16px);
1366
1376
  overflow: auto;
1367
1377
  }
@@ -1385,3 +1395,18 @@ body.dark .ui-widget .library-list .component {
1385
1395
  .tp-mllv_i:read-only {
1386
1396
  background-color: var(--tp-monitor-background-color-readonly);
1387
1397
  }
1398
+
1399
+ /* monaco editor */
1400
+
1401
+ .monaco-editor,
1402
+ .monaco-editor * {
1403
+ all: revert;
1404
+ }
1405
+
1406
+ .monaco-scrollable-element > .shadow {
1407
+ display: none !important;
1408
+ }
1409
+
1410
+ .monaco-inputbox > .ibwrapper {
1411
+ height: auto !important;
1412
+ }
@@ -1,33 +1,36 @@
1
1
  @charset "utf-8";
2
2
 
3
- body {
4
- /* Colors */
3
+ @media (prefers-color-scheme: light) {
4
+ body {
5
+ /* Colors */
5
6
 
6
- --system-red: rgb(255, 59, 48);
7
- --system-orange: rgb(255, 149, 0);
8
- --system-yellow: rgb(255, 214, 10);
9
- --system-green: rgb(52, 199, 89);
10
- --system-mint: rgb(0, 199, 190);
11
- --system-teal: rgb(48, 176, 199);
12
- --system-cyan: rgb(50, 173, 230);
13
- --system-blue: rgb(0, 122, 255);
14
- --system-indigo: rgb(88, 86, 214);
15
- --system-purple: rgb(175, 82, 222);
16
- --system-pink: rgb(255, 45, 85);
17
- --system-brown: rgb(162, 132, 94);
18
-
19
- --system-gray0: rgb(72, 72, 77);
20
- --system-gray1: rgb(122, 122, 127);
21
- --system-gray2: rgb(174, 174, 178);
22
- --system-gray3: rgb(199, 199, 204);
23
- --system-gray4: rgb(209, 209, 214);
24
- --system-gray5: rgb(229, 229, 234);
25
- --system-gray6: rgb(242, 242, 247);
26
- --system-gray7: rgb(249, 249, 255);
27
- --system-gray8: rgb(255, 255, 255);
28
- }
7
+ --system-red: rgb(255, 59, 48);
8
+ --system-orange: rgb(255, 149, 0);
9
+ --system-yellow: rgb(255, 214, 10);
10
+ --system-green: rgb(52, 199, 89);
11
+ --system-mint: rgb(0, 199, 190);
12
+ --system-teal: rgb(48, 176, 199);
13
+ --system-cyan: rgb(50, 173, 230);
14
+ --system-blue: rgb(0, 122, 255);
15
+ --system-indigo: rgb(88, 86, 214);
16
+ --system-purple: rgb(175, 82, 222);
17
+ --system-pink: rgb(255, 45, 85);
18
+ --system-brown: rgb(162, 132, 94);
19
+
20
+ --system-gray0: rgb(72, 72, 77);
21
+ --system-gray1: rgb(122, 122, 127);
22
+ --system-gray2: rgb(174, 174, 178);
23
+ --system-gray3: rgb(199, 199, 204);
24
+ --system-gray4: rgb(209, 209, 214);
25
+ --system-gray5: rgb(229, 229, 234);
26
+ --system-gray6: rgb(242, 242, 247);
27
+ --system-gray7: rgb(249, 249, 255);
28
+ --system-gray8: rgb(255, 255, 255);
29
+
30
+ --selection-color: black;
31
+ --selection-background-color: rgb(246, 196, 197);
32
+ }
29
33
 
30
- @media (prefers-color-scheme: light) {
31
34
  /* TweakPanel colors */
32
35
  :root {
33
36
  --tp-base-background-color: hsl(230, 7%, 85%);
@@ -84,6 +87,9 @@ body {
84
87
  --system-gray6: rgb(28, 28, 30);
85
88
  --system-gray7: rgb(21, 21, 23);
86
89
  --system-gray8: rgb(14, 14, 16);
90
+
91
+ --selection-color: white;
92
+ --selection-background-color: rgb(167, 118, 119);
87
93
  }
88
94
 
89
95
  /* TweakPanel colors */
@@ -187,6 +193,9 @@ body {
187
193
  --tool-border: 1px solid var(--system-gray8);
188
194
  --tool-shadow: 3px 3px 9px rgba(0, 0, 0, 0.6);
189
195
 
196
+ --preview-background-color: white;
197
+ --preview-border: 1px solid var(--system-gray6);
198
+
190
199
  --background-disabled: repeating-linear-gradient(
191
200
  -45deg,
192
201
  var(--tint-color1),
@@ -216,5 +225,14 @@ body {
216
225
  --tool-background-color: rgba(42, 50, 63, 0.8); /* --sidebar-background-color */
217
226
  --tool-border: 1px solid var(--system-gray2);
218
227
  --tool-shadow: 3px 3px 9px var(--system-gray8);
228
+
229
+ --preview-background-color: black;
230
+ --preview-border: 1px solid var(--system-gray4);
219
231
  }
220
232
  }
233
+
234
+ body {
235
+ --qtip-background-color: var(--sidebar-background-color);
236
+ --qtip-border: var(--tool-border);
237
+ --qtip-shadow: var(--tool-shadow);
238
+ }
package/src/main.js CHANGED
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
 
3
- require ("./Application/Application") .run ();
3
+ const app = require ("./Application/Application") .run ();