sunrize 1.11.8 → 1.11.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +7 -7
- package/src/Application/Document.js +4 -0
- package/src/Editors/OutlineView.js +29 -5
- package/src/Editors/Primitives.js +22 -0
- package/src/Editors/ScriptEditor.js +45 -39
- package/src/Undo/Editor.js +35 -8
- package/src/assets/images/OutlineEditor/Values/FALSE-out.svg +84 -0
- package/src/assets/images/OutlineEditor/Values/TRUE-out.svg +84 -0
- package/src/assets/themes/default.css +22 -13
- package/src/assets/themes/system-colors.css +2 -6
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sunrize",
|
|
3
3
|
"productName": "Sunrize X3D Editor",
|
|
4
|
-
"version": "1.11.
|
|
4
|
+
"version": "1.11.10",
|
|
5
5
|
"description": "A Multi-Platform X3D Editor",
|
|
6
6
|
"main": "src/main.js",
|
|
7
7
|
"bin": {
|
|
@@ -88,10 +88,10 @@
|
|
|
88
88
|
"shell-tools": "^1.1.9"
|
|
89
89
|
},
|
|
90
90
|
"dependencies": {
|
|
91
|
-
"@vscode/codicons": "^0.0.
|
|
91
|
+
"@vscode/codicons": "^0.0.43",
|
|
92
92
|
"capitalize": "^2.0.4",
|
|
93
93
|
"console": "^0.7.2",
|
|
94
|
-
"electron": "^39.2.
|
|
94
|
+
"electron": "^39.2.4",
|
|
95
95
|
"electron-prompt": "^1.7.0",
|
|
96
96
|
"electron-squirrel-startup": "^1.0.1",
|
|
97
97
|
"electron-tabs": "^1.0.4",
|
|
@@ -100,17 +100,17 @@
|
|
|
100
100
|
"jquery-ui-dist": "^1.13.3",
|
|
101
101
|
"jstree": "^3.3.17",
|
|
102
102
|
"material-icons": "^1.13.14",
|
|
103
|
-
"material-symbols": "^0.
|
|
103
|
+
"material-symbols": "^0.40.0",
|
|
104
104
|
"md5": "^2.3.0",
|
|
105
|
-
"mime-types": "^3.0.
|
|
106
|
-
"monaco-editor": "^0.
|
|
105
|
+
"mime-types": "^3.0.2",
|
|
106
|
+
"monaco-editor": "^0.55.1",
|
|
107
107
|
"node-localstorage": "^3.0.5",
|
|
108
108
|
"qtip2": "^3.0.3",
|
|
109
109
|
"spectrum-colorpicker2": "^2.0.10",
|
|
110
110
|
"string-similarity": "^4.0.4",
|
|
111
111
|
"tweakpane": "^3.1.10",
|
|
112
112
|
"update-electron-app": "^3.1.1",
|
|
113
|
-
"x_ite": "^12.1.
|
|
113
|
+
"x_ite": "^12.1.10",
|
|
114
114
|
"x3d-traverse": "^1.0.22"
|
|
115
115
|
}
|
|
116
116
|
}
|
|
@@ -80,6 +80,8 @@ module .exports = class Document extends Interface
|
|
|
80
80
|
electron .ipcRenderer .on ("scene-properties", (event) => require ("../Editors/SceneProperties") .open ());
|
|
81
81
|
electron .ipcRenderer .on ("close", (event) => this .close ());
|
|
82
82
|
|
|
83
|
+
$(window) .on ("beforeunload", () => this .close ());
|
|
84
|
+
|
|
83
85
|
// Edit Menu
|
|
84
86
|
|
|
85
87
|
electron .ipcRenderer .on ("undo", () => this .undo ());
|
|
@@ -577,6 +579,8 @@ Viewpoint {
|
|
|
577
579
|
|
|
578
580
|
close ()
|
|
579
581
|
{
|
|
582
|
+
this .footer .scriptEditor ?.apply ();
|
|
583
|
+
|
|
580
584
|
if (UndoManager .shared .saveNeeded)
|
|
581
585
|
this .saveFile ();
|
|
582
586
|
|
|
@@ -1633,7 +1633,7 @@ module .exports = class OutlineView extends Interface
|
|
|
1633
1633
|
case X3D .X3DConstants .SFBool:
|
|
1634
1634
|
{
|
|
1635
1635
|
$("<img></img>")
|
|
1636
|
-
.addClass (["boolean-button", "field-button", "button"
|
|
1636
|
+
.addClass (["boolean-button", "field-button", "button"])
|
|
1637
1637
|
.attr ("src", `../images/OutlineEditor/Values/${field .getValue () ? "TRUE" : "FALSE"}.svg`)
|
|
1638
1638
|
.attr ("title", _("Toggle value."))
|
|
1639
1639
|
.appendTo (child);
|
|
@@ -1645,7 +1645,7 @@ module .exports = class OutlineView extends Interface
|
|
|
1645
1645
|
case X3D .X3DConstants .SFColorRGBA:
|
|
1646
1646
|
{
|
|
1647
1647
|
$("<div></div>")
|
|
1648
|
-
.addClass (["color-button", "field-button", "button"
|
|
1648
|
+
.addClass (["color-button", "field-button", "button"])
|
|
1649
1649
|
.attr ("title", _("Open color picker."))
|
|
1650
1650
|
.css ("background-color", this .getColorFromField (node, field))
|
|
1651
1651
|
.appendTo (child);
|
|
@@ -1656,7 +1656,7 @@ module .exports = class OutlineView extends Interface
|
|
|
1656
1656
|
case X3D .X3DConstants .SFTime:
|
|
1657
1657
|
{
|
|
1658
1658
|
$("<img></img>")
|
|
1659
|
-
.addClass (["time-button", "field-button", "button"
|
|
1659
|
+
.addClass (["time-button", "field-button", "button"])
|
|
1660
1660
|
.attr ("src", `../images/OutlineEditor/Values/Bell.svg`)
|
|
1661
1661
|
.attr ("title", _("Set current time."))
|
|
1662
1662
|
.appendTo (child);
|
|
@@ -1680,7 +1680,23 @@ module .exports = class OutlineView extends Interface
|
|
|
1680
1680
|
break;
|
|
1681
1681
|
}
|
|
1682
1682
|
}
|
|
1683
|
+
else if (field .isOutput ())
|
|
1684
|
+
{
|
|
1685
|
+
switch (field .getType ())
|
|
1686
|
+
{
|
|
1687
|
+
case X3D .X3DConstants .SFBool:
|
|
1688
|
+
{
|
|
1689
|
+
$("<img></img>")
|
|
1690
|
+
.addClass (["boolean-out-button", "field-button"])
|
|
1691
|
+
.attr ("src", `../images/OutlineEditor/Values/${field .getValue () ? "TRUE" : "FALSE"}-out.svg`)
|
|
1692
|
+
.attr ("title", _("State of value."))
|
|
1693
|
+
.appendTo (child);
|
|
1683
1694
|
|
|
1695
|
+
field .addFieldCallback (this .#fieldButtonSymbol, this .updateBoolean .bind (this, parent, node, field));
|
|
1696
|
+
break;
|
|
1697
|
+
}
|
|
1698
|
+
}
|
|
1699
|
+
}
|
|
1684
1700
|
|
|
1685
1701
|
// Access type
|
|
1686
1702
|
|
|
@@ -1943,8 +1959,16 @@ module .exports = class OutlineView extends Interface
|
|
|
1943
1959
|
|
|
1944
1960
|
updateBoolean (parent, node, field)
|
|
1945
1961
|
{
|
|
1946
|
-
|
|
1947
|
-
|
|
1962
|
+
if (field .isInitializable ())
|
|
1963
|
+
{
|
|
1964
|
+
parent .find (`.field[field-id=${field .getId ()}] > .item .boolean-button`)
|
|
1965
|
+
.attr ("src", `../images/OutlineEditor/Values/${field .getValue () ? "TRUE" : "FALSE"}.svg`)
|
|
1966
|
+
}
|
|
1967
|
+
else if (field .isOutput ())
|
|
1968
|
+
{
|
|
1969
|
+
parent .find (`.field[field-id=${field .getId ()}] > .item .boolean-out-button`)
|
|
1970
|
+
.attr ("src", `../images/OutlineEditor/Values/${field .getValue () ? "TRUE" : "FALSE"}-out.svg`)
|
|
1971
|
+
}
|
|
1948
1972
|
}
|
|
1949
1973
|
|
|
1950
1974
|
updateColor (parent, node, field)
|
|
@@ -102,6 +102,28 @@ DEF Sunny Background {
|
|
|
102
102
|
0.48 0.48 0.45
|
|
103
103
|
]
|
|
104
104
|
}
|
|
105
|
+
`
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
componentInfo: { name: "EnvironmentalEffects" },
|
|
109
|
+
typeName: "Background Sunset",
|
|
110
|
+
x3dSyntax: `
|
|
111
|
+
DEF Sunset Background {
|
|
112
|
+
skyAngle [
|
|
113
|
+
0.8, 1.2, 1.5, 1.55, 1.5708
|
|
114
|
+
]
|
|
115
|
+
skyColor [
|
|
116
|
+
0.0196078 0.0196078 0.0196078,
|
|
117
|
+
0.054902 0.0705882 0.0862745,
|
|
118
|
+
0.203922 0.243137 0.313726,
|
|
119
|
+
0.541176 0.462745 0.435294,
|
|
120
|
+
0.745098 0.541176 0.376471,
|
|
121
|
+
0.890196 0.537255 0.172549
|
|
122
|
+
]
|
|
123
|
+
groundColor [
|
|
124
|
+
0 0 0
|
|
125
|
+
]
|
|
126
|
+
}
|
|
105
127
|
`
|
|
106
128
|
},
|
|
107
129
|
{
|
|
@@ -147,7 +147,7 @@ module .exports = class ScriptEditor extends Interface
|
|
|
147
147
|
{
|
|
148
148
|
return new Promise (resolve =>
|
|
149
149
|
{
|
|
150
|
-
monacoLoader .require (["vs/editor/editor.main"],
|
|
150
|
+
monacoLoader .require (["vs/editor/editor.main"], resolve);
|
|
151
151
|
});
|
|
152
152
|
}
|
|
153
153
|
|
|
@@ -189,19 +189,23 @@ module .exports = class ScriptEditor extends Interface
|
|
|
189
189
|
};
|
|
190
190
|
|
|
191
191
|
const keywords = [
|
|
192
|
-
'
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
'
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
'dFdx', 'dFdy', 'fwidth', '
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
'
|
|
192
|
+
'break', 'case', 'const', 'continue', 'discard', 'do', 'else', 'flat', 'for', 'highp', 'if', 'in', 'inout', 'invariant', 'lowp', 'mediump', 'out', 'precision', 'return', 'smooth', 'struct', 'switch', 'uniform', 'while',
|
|
193
|
+
];
|
|
194
|
+
|
|
195
|
+
const types = [
|
|
196
|
+
'bool', 'bvec2', 'bvec3', 'bvec4', 'float', 'int', 'ivec2', 'ivec3', 'ivec4', 'mat2', 'mat2x2', 'mat2x3', 'mat2x4', 'mat3', 'mat3x2', 'mat3x3', 'mat3x4', 'mat4', 'mat4x2', 'mat4x3', 'mat4x4', 'sampler2D', 'sampler3D', 'samplerCube', 'uint', 'uvec2', 'uvec3', 'uvec4', 'vec2', 'vec3', 'vec4', 'void',
|
|
197
|
+
];
|
|
198
|
+
|
|
199
|
+
const functions = [
|
|
200
|
+
'abs', 'acos', 'acosh', 'all', 'any', 'asin', 'asinh', 'atan', 'atanh', 'ceil', 'clamp', 'cos', 'cosh', 'cross ', 'degrees', 'determinant', 'dFdx', 'dFdy', 'distance', 'dot', 'equal', 'exp', 'exp2', 'faceforward', 'floatBitsToInt', 'floatBitsToUint', 'floor', 'fract', 'fwidth', 'greaterThan', 'greaterThanEqual', 'intBitsToFloat', 'inverse', 'inversesqrt', 'isinf', 'isnan', 'length', 'lessThan ', 'lessThanEqual', 'log', 'log2', 'main', 'matrixCompMult', 'max', 'min', 'mix', 'mod', 'modf', 'normalize', 'not', 'notEqual', 'outerProduct', 'packUnorm2x16', 'pow', 'radians', 'reflect', 'refract', 'round', 'roundEven', 'sign', 'sin', 'sinh', 'smoothstep', 'sqrt', 'step', 'tan', 'tanh', 'texelFetch', 'texelFetchOffset', 'texture', 'textureGrad', 'textureGradOffset', 'textureLod', 'textureLodOffset', 'textureProj', 'textureProjGrad', 'textureProjLod', 'textureProjLodOffset', 'textureSize', 'transpose', 'trunc', 'uintBitsToFloat',
|
|
201
|
+
];
|
|
202
|
+
|
|
203
|
+
const constants = [
|
|
204
|
+
'false', 'true',
|
|
205
|
+
];
|
|
206
|
+
|
|
207
|
+
const builtins = [
|
|
208
|
+
'gl_ClipDistance', 'gl_CullDistance', 'gl_FragCoord', 'gl_FragDepth', 'gl_FrontFacing', 'gl_GlobalInvocationID', 'gl_HelperInvocation', 'gl_InstanceID', 'gl_InvocationID', 'gl_Layer', 'gl_LocalInvocationID', 'gl_LocalInvocationIndex', 'gl_NumSamples', 'gl_NumWorkGroups', 'gl_PatchVerticesIn', 'gl_PointCoord', 'gl_PointSize', 'gl_Position', 'gl_PrimitiveID', 'gl_PrimitiveIDIn', 'gl_SampleID', 'gl_SampleMask', 'gl_SampleMaskIn', 'gl_SamplePosition', 'gl_TessCoord', 'gl_TessLevelInner', 'gl_TessLevelOuter', 'gl_VertexID', 'gl_ViewportIndex', 'gl_WorkGroupID', 'gl_WorkGroupSize',
|
|
205
209
|
];
|
|
206
210
|
|
|
207
211
|
const language = {
|
|
@@ -209,6 +213,10 @@ module .exports = class ScriptEditor extends Interface
|
|
|
209
213
|
// Set defaultToken to invalid to see what you do not tokenize yet
|
|
210
214
|
defaultToken: 'invalid',
|
|
211
215
|
keywords,
|
|
216
|
+
types,
|
|
217
|
+
functions,
|
|
218
|
+
constants,
|
|
219
|
+
builtins,
|
|
212
220
|
operators: [
|
|
213
221
|
'=',
|
|
214
222
|
'>',
|
|
@@ -256,33 +264,43 @@ module .exports = class ScriptEditor extends Interface
|
|
|
256
264
|
|
|
257
265
|
tokenizer: {
|
|
258
266
|
root: [
|
|
267
|
+
// data:mime-type,
|
|
268
|
+
[/data:x-shader\/x-(?:vertex|fragment),/, 'string'],
|
|
269
|
+
|
|
270
|
+
// x3d_SpecialVariable
|
|
271
|
+
[/x3d_\w+/, 'keyword'],
|
|
272
|
+
|
|
259
273
|
// identifiers and keywords
|
|
260
|
-
|
|
261
|
-
/[a-zA-Z_]\w*/,
|
|
274
|
+
|
|
275
|
+
[/[a-zA-Z_]\w*/,
|
|
262
276
|
{
|
|
263
277
|
cases: {
|
|
264
278
|
'@keywords': { token: 'keyword.$0' },
|
|
265
|
-
'@
|
|
279
|
+
'@types': { token: 'type.identifier' },
|
|
280
|
+
'@functions': { token: 'attribute.name' },
|
|
281
|
+
'@constants': { token: 'constant' },
|
|
282
|
+
'@builtins': { token: 'regexp' },
|
|
283
|
+
'@default': 'identifier',
|
|
266
284
|
}
|
|
267
|
-
}
|
|
268
|
-
],
|
|
269
|
-
|
|
270
|
-
// Preprocessor directive (#define)
|
|
271
|
-
[/^\s*#\s*\w+/, 'keyword.directive'],
|
|
285
|
+
}],
|
|
272
286
|
|
|
273
287
|
// Version
|
|
274
288
|
[/#version\s+\d+\s+es/, 'keyword.directive'],
|
|
275
289
|
|
|
290
|
+
// Preprocessor directive (#define)
|
|
291
|
+
[/^\s*#\s*\w+/, 'keyword.directive'],
|
|
292
|
+
|
|
276
293
|
// whitespace
|
|
277
294
|
{ include: '@whitespace' },
|
|
278
295
|
|
|
279
296
|
// delimiters and operators
|
|
280
297
|
[/[{}()\[\]]/, '@brackets'],
|
|
281
|
-
[/@symbols/,
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
298
|
+
[/@symbols/,
|
|
299
|
+
{
|
|
300
|
+
cases: {
|
|
301
|
+
'@operators': 'operator',
|
|
302
|
+
'@default': ''
|
|
303
|
+
}
|
|
286
304
|
}],
|
|
287
305
|
|
|
288
306
|
// numbers
|
|
@@ -305,18 +323,6 @@ module .exports = class ScriptEditor extends Interface
|
|
|
305
323
|
[/[\/*]/, 'comment']
|
|
306
324
|
],
|
|
307
325
|
|
|
308
|
-
// Does it have strings?
|
|
309
|
-
string: [
|
|
310
|
-
[/[^\\"]+/, 'string'],
|
|
311
|
-
[/@escapes/, 'string.escape'],
|
|
312
|
-
[/\\./, 'string.escape.invalid'],
|
|
313
|
-
[/"/, {
|
|
314
|
-
token: 'string.quote',
|
|
315
|
-
bracket: '@close',
|
|
316
|
-
next: '@pop'
|
|
317
|
-
}]
|
|
318
|
-
],
|
|
319
|
-
|
|
320
326
|
whitespace: [
|
|
321
327
|
[/[ \t\r\n]+/, 'white'],
|
|
322
328
|
[/\/\*/, 'comment', '@comment'],
|
package/src/Undo/Editor.js
CHANGED
|
@@ -465,16 +465,38 @@ module .exports = class Editor
|
|
|
465
465
|
<meta charset="utf-8">
|
|
466
466
|
<script defer src="https://cdn.jsdelivr.net/npm/x_ite@latest/dist/x_ite.min.js"></script>
|
|
467
467
|
<style>
|
|
468
|
+
@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400&family=Source+Sans+3:ital,wght@0,400&display=swap");
|
|
469
|
+
|
|
470
|
+
@media (prefers-color-scheme: light) {
|
|
471
|
+
:root {
|
|
472
|
+
--text-color: rgb(42, 42, 42);
|
|
473
|
+
--background-color: white;
|
|
474
|
+
--link-color: rgb(0, 86, 178);
|
|
475
|
+
--link-hover-color: rgb(210, 96, 58);
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
@media (prefers-color-scheme: dark) {
|
|
480
|
+
:root {
|
|
481
|
+
--text-color: rgb(175, 176, 177);
|
|
482
|
+
--background-color: rgb(27, 27, 30);
|
|
483
|
+
--link-color: rgb(82, 108, 150);
|
|
484
|
+
--link-hover-color: rgb(210, 96, 58);
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
|
|
468
488
|
body {
|
|
469
489
|
color-scheme: light dark;
|
|
490
|
+
box-sizing: border-box;
|
|
470
491
|
display: flex;
|
|
471
492
|
flex-direction: column;
|
|
472
493
|
margin: 0px;
|
|
473
494
|
padding: 0px;
|
|
474
495
|
height: 100vh;
|
|
475
|
-
background-color:
|
|
476
|
-
color:
|
|
477
|
-
font-family: sans-serif;
|
|
496
|
+
background-color: var(--background-color);
|
|
497
|
+
color: var(--text-color);
|
|
498
|
+
font-family: "Source Sans 3", sans-serif;
|
|
499
|
+
font-size: 1.08rem;
|
|
478
500
|
}
|
|
479
501
|
|
|
480
502
|
body > * {
|
|
@@ -482,21 +504,26 @@ body > * {
|
|
|
482
504
|
padding: 0px 1rem;
|
|
483
505
|
}
|
|
484
506
|
|
|
507
|
+
h1 {
|
|
508
|
+
font-family: Lato, sans-serif;
|
|
509
|
+
}
|
|
510
|
+
|
|
485
511
|
x3d-canvas {
|
|
486
512
|
flex: 1 1 auto;
|
|
487
|
-
|
|
488
|
-
border-
|
|
513
|
+
box-sizing: border-box;
|
|
514
|
+
border-top: 1px solid color-mix(in srgb, var(--text-color), transparent 90%);
|
|
515
|
+
border-bottom: 1px solid color-mix(in srgb, var(--text-color), transparent 90%);
|
|
489
516
|
padding: 0px;
|
|
490
517
|
width: 100%;
|
|
491
518
|
height: 100%;
|
|
492
519
|
}
|
|
493
520
|
|
|
494
521
|
a {
|
|
495
|
-
color:
|
|
522
|
+
color: var(--link-color);
|
|
496
523
|
}
|
|
497
524
|
|
|
498
525
|
a:hover {
|
|
499
|
-
color:
|
|
526
|
+
color: var(--link-hover-color);
|
|
500
527
|
}
|
|
501
528
|
</style>
|
|
502
529
|
</head>
|
|
@@ -505,7 +532,7 @@ a:hover {
|
|
|
505
532
|
<x3d-canvas>
|
|
506
533
|
${scene .toXMLString ({ html: true, indent: " " .repeat (6) }) .trimEnd () }
|
|
507
534
|
</x3d-canvas>
|
|
508
|
-
<p>Made with <a href="https://create3000.github.io/sunrize/" target="_blank">Sunrize X3D Editor
|
|
535
|
+
<p>Made with <a href="https://create3000.github.io/sunrize/" target="_blank">Sunrize X3D Editor</a>. If local files are not loaded <a href="https://create3000.github.io/x_ite/setup-a-localhost-server">consider setup a localhost server</a> or use <a href="https://create3000.github.io/x_ite/dom-integration">DOM integration methods</a>.</p>
|
|
509
536
|
</body>
|
|
510
537
|
</html>`
|
|
511
538
|
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<svg
|
|
3
|
+
width="12"
|
|
4
|
+
height="12"
|
|
5
|
+
viewBox="0 0 3.175 3.1750001"
|
|
6
|
+
version="1.1"
|
|
7
|
+
id="svg8"
|
|
8
|
+
inkscape:version="1.4.2 (ebf0e940, 2025-05-08)"
|
|
9
|
+
sodipodi:docname="FALSE-out.svg"
|
|
10
|
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
11
|
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
12
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
13
|
+
xmlns:svg="http://www.w3.org/2000/svg"
|
|
14
|
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
15
|
+
xmlns:cc="http://creativecommons.org/ns#"
|
|
16
|
+
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
|
17
|
+
<defs
|
|
18
|
+
id="defs2" />
|
|
19
|
+
<sodipodi:namedview
|
|
20
|
+
id="base"
|
|
21
|
+
pagecolor="#e6e6e6"
|
|
22
|
+
bordercolor="#666666"
|
|
23
|
+
borderopacity="1.0"
|
|
24
|
+
inkscape:pageopacity="0"
|
|
25
|
+
inkscape:pageshadow="2"
|
|
26
|
+
inkscape:zoom="26.354658"
|
|
27
|
+
inkscape:cx="13.375245"
|
|
28
|
+
inkscape:cy="4.7619666"
|
|
29
|
+
inkscape:document-units="mm"
|
|
30
|
+
inkscape:current-layer="layer1"
|
|
31
|
+
inkscape:document-rotation="0"
|
|
32
|
+
showgrid="true"
|
|
33
|
+
inkscape:window-width="1472"
|
|
34
|
+
inkscape:window-height="840"
|
|
35
|
+
inkscape:window-x="-1"
|
|
36
|
+
inkscape:window-y="34"
|
|
37
|
+
inkscape:window-maximized="0"
|
|
38
|
+
units="px"
|
|
39
|
+
inkscape:object-nodes="true"
|
|
40
|
+
inkscape:snap-bbox="true"
|
|
41
|
+
inkscape:bbox-nodes="true"
|
|
42
|
+
inkscape:showpageshadow="2"
|
|
43
|
+
inkscape:pagecheckerboard="0"
|
|
44
|
+
inkscape:deskcolor="#d1d1d1">
|
|
45
|
+
<inkscape:grid
|
|
46
|
+
type="xygrid"
|
|
47
|
+
id="grid42"
|
|
48
|
+
empspacing="1"
|
|
49
|
+
originx="0"
|
|
50
|
+
originy="0"
|
|
51
|
+
spacingy="1"
|
|
52
|
+
spacingx="1"
|
|
53
|
+
units="px" />
|
|
54
|
+
</sodipodi:namedview>
|
|
55
|
+
<metadata
|
|
56
|
+
id="metadata5">
|
|
57
|
+
<rdf:RDF>
|
|
58
|
+
<cc:Work
|
|
59
|
+
rdf:about="">
|
|
60
|
+
<dc:format>image/svg+xml</dc:format>
|
|
61
|
+
<dc:type
|
|
62
|
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
63
|
+
</cc:Work>
|
|
64
|
+
</rdf:RDF>
|
|
65
|
+
</metadata>
|
|
66
|
+
<g
|
|
67
|
+
inkscape:label="Ebene 1"
|
|
68
|
+
inkscape:groupmode="layer"
|
|
69
|
+
id="layer1">
|
|
70
|
+
<circle
|
|
71
|
+
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.265;stroke-dasharray:none;stroke-opacity:1"
|
|
72
|
+
id="path1"
|
|
73
|
+
cx="1.5875001"
|
|
74
|
+
cy="1.5875001"
|
|
75
|
+
r="1.455" />
|
|
76
|
+
<ellipse
|
|
77
|
+
ry="0.92604178"
|
|
78
|
+
rx="0.92604172"
|
|
79
|
+
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
|
80
|
+
id="path890"
|
|
81
|
+
cx="1.5875"
|
|
82
|
+
cy="1.5875" />
|
|
83
|
+
</g>
|
|
84
|
+
</svg>
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<svg
|
|
3
|
+
width="12"
|
|
4
|
+
height="12"
|
|
5
|
+
viewBox="0 0 3.175 3.1750001"
|
|
6
|
+
version="1.1"
|
|
7
|
+
id="svg8"
|
|
8
|
+
inkscape:version="1.4.2 (ebf0e940, 2025-05-08)"
|
|
9
|
+
sodipodi:docname="TRUE-out.svg"
|
|
10
|
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
11
|
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
12
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
13
|
+
xmlns:svg="http://www.w3.org/2000/svg"
|
|
14
|
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
15
|
+
xmlns:cc="http://creativecommons.org/ns#"
|
|
16
|
+
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
|
17
|
+
<defs
|
|
18
|
+
id="defs2" />
|
|
19
|
+
<sodipodi:namedview
|
|
20
|
+
id="base"
|
|
21
|
+
pagecolor="#e6e6e6"
|
|
22
|
+
bordercolor="#666666"
|
|
23
|
+
borderopacity="1.0"
|
|
24
|
+
inkscape:pageopacity="0"
|
|
25
|
+
inkscape:pageshadow="2"
|
|
26
|
+
inkscape:zoom="26.354658"
|
|
27
|
+
inkscape:cx="5.2931819"
|
|
28
|
+
inkscape:cy="3.7754237"
|
|
29
|
+
inkscape:document-units="mm"
|
|
30
|
+
inkscape:current-layer="layer1"
|
|
31
|
+
inkscape:document-rotation="0"
|
|
32
|
+
showgrid="true"
|
|
33
|
+
inkscape:window-width="976"
|
|
34
|
+
inkscape:window-height="840"
|
|
35
|
+
inkscape:window-x="0"
|
|
36
|
+
inkscape:window-y="34"
|
|
37
|
+
inkscape:window-maximized="0"
|
|
38
|
+
units="px"
|
|
39
|
+
inkscape:object-nodes="true"
|
|
40
|
+
inkscape:snap-bbox="true"
|
|
41
|
+
inkscape:bbox-nodes="true"
|
|
42
|
+
inkscape:showpageshadow="2"
|
|
43
|
+
inkscape:pagecheckerboard="0"
|
|
44
|
+
inkscape:deskcolor="#d1d1d1">
|
|
45
|
+
<inkscape:grid
|
|
46
|
+
type="xygrid"
|
|
47
|
+
id="grid42"
|
|
48
|
+
empspacing="1"
|
|
49
|
+
originx="0"
|
|
50
|
+
originy="0"
|
|
51
|
+
spacingy="1"
|
|
52
|
+
spacingx="1"
|
|
53
|
+
units="px" />
|
|
54
|
+
</sodipodi:namedview>
|
|
55
|
+
<metadata
|
|
56
|
+
id="metadata5">
|
|
57
|
+
<rdf:RDF>
|
|
58
|
+
<cc:Work
|
|
59
|
+
rdf:about="">
|
|
60
|
+
<dc:format>image/svg+xml</dc:format>
|
|
61
|
+
<dc:type
|
|
62
|
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
63
|
+
</cc:Work>
|
|
64
|
+
</rdf:RDF>
|
|
65
|
+
</metadata>
|
|
66
|
+
<g
|
|
67
|
+
inkscape:label="Ebene 1"
|
|
68
|
+
inkscape:groupmode="layer"
|
|
69
|
+
id="layer1">
|
|
70
|
+
<circle
|
|
71
|
+
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.265;stroke-dasharray:none;stroke-opacity:1"
|
|
72
|
+
id="path1"
|
|
73
|
+
cx="1.5875001"
|
|
74
|
+
cy="1.5875001"
|
|
75
|
+
r="1.455" />
|
|
76
|
+
<ellipse
|
|
77
|
+
ry="0.92604178"
|
|
78
|
+
rx="0.92604172"
|
|
79
|
+
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
|
80
|
+
id="path890"
|
|
81
|
+
cx="1.5875001"
|
|
82
|
+
cy="1.5875001" />
|
|
83
|
+
</g>
|
|
84
|
+
</svg>
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
@import url(system-colors.css);
|
|
5
5
|
|
|
6
6
|
html {
|
|
7
|
+
color-scheme: light dark;
|
|
7
8
|
overflow: hidden;
|
|
8
9
|
height: 100%;
|
|
9
10
|
}
|
|
@@ -1319,6 +1320,18 @@ body.light .console-output .selected {
|
|
|
1319
1320
|
inset: 0;
|
|
1320
1321
|
}
|
|
1321
1322
|
|
|
1323
|
+
/* monaco editor */
|
|
1324
|
+
|
|
1325
|
+
.monaco-editor,
|
|
1326
|
+
.monaco-editor * {
|
|
1327
|
+
all: revert;
|
|
1328
|
+
}
|
|
1329
|
+
|
|
1330
|
+
/* Hide monaco tooltips. */
|
|
1331
|
+
.context-view.monaco-component {
|
|
1332
|
+
display: none;
|
|
1333
|
+
}
|
|
1334
|
+
|
|
1322
1335
|
/* Animation Editor */
|
|
1323
1336
|
|
|
1324
1337
|
.animation-editor {
|
|
@@ -1604,7 +1617,7 @@ body.light .console-output .selected {
|
|
|
1604
1617
|
color: var(--system-brown);
|
|
1605
1618
|
}
|
|
1606
1619
|
|
|
1607
|
-
.scene-graph .exported-node > .item .boolean-button {
|
|
1620
|
+
.scene-graph .exported-node > .item :is(.boolean-button, .boolean-out-button) {
|
|
1608
1621
|
top: 2px
|
|
1609
1622
|
}
|
|
1610
1623
|
|
|
@@ -1635,6 +1648,14 @@ body.light .console-output .selected {
|
|
|
1635
1648
|
top: 4px;
|
|
1636
1649
|
}
|
|
1637
1650
|
|
|
1651
|
+
.scene-graph .boolean-out-button {
|
|
1652
|
+
position: relative;
|
|
1653
|
+
margin-left: 10px;
|
|
1654
|
+
width: 12px;
|
|
1655
|
+
height: 12px;
|
|
1656
|
+
top: 4px;
|
|
1657
|
+
}
|
|
1658
|
+
|
|
1638
1659
|
.scene-graph .color-button {
|
|
1639
1660
|
position: relative;
|
|
1640
1661
|
box-sizing: border-box;
|
|
@@ -1912,15 +1933,3 @@ body.light .console-output .selected {
|
|
|
1912
1933
|
.tp-ckbv_w svg path {
|
|
1913
1934
|
stroke: var(--system-green) !important;
|
|
1914
1935
|
}
|
|
1915
|
-
|
|
1916
|
-
/* monaco editor */
|
|
1917
|
-
|
|
1918
|
-
.monaco-editor,
|
|
1919
|
-
.monaco-editor * {
|
|
1920
|
-
all: revert;
|
|
1921
|
-
}
|
|
1922
|
-
|
|
1923
|
-
/* Fix stange tooltip with placehoder in Find widget */
|
|
1924
|
-
.context-view.monaco-component {
|
|
1925
|
-
display: none;
|
|
1926
|
-
}
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
@media (prefers-color-scheme: light) {
|
|
4
4
|
:root {
|
|
5
|
-
color-scheme: light;
|
|
6
|
-
|
|
7
5
|
/* Colors */
|
|
8
6
|
|
|
9
7
|
--system-red: rgb(255, 56, 60);
|
|
@@ -43,8 +41,8 @@
|
|
|
43
41
|
/* Special Colors */
|
|
44
42
|
|
|
45
43
|
--sidebar-background-color: rgb(208, 219, 231);
|
|
46
|
-
--tint-color1: rgba(255, 255, 255, 0.
|
|
47
|
-
--tint-color2: rgba(255, 255, 255,
|
|
44
|
+
--tint-color1: rgba(255, 255, 255, 0.4);
|
|
45
|
+
--tint-color2: rgba(255, 255, 255, 0.6);
|
|
48
46
|
|
|
49
47
|
/* TweakPanel colors */
|
|
50
48
|
|
|
@@ -79,8 +77,6 @@
|
|
|
79
77
|
|
|
80
78
|
@media (prefers-color-scheme: dark) {
|
|
81
79
|
:root {
|
|
82
|
-
color-scheme: dark;
|
|
83
|
-
|
|
84
80
|
/* Colors */
|
|
85
81
|
|
|
86
82
|
--system-red: rgb(255, 66, 69);
|