sunrize 1.7.34 → 1.7.36
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/bin/sunrize.js +2 -6
- package/package.json +3 -3
- package/src/Controls/MaterialPreviewPopover.js +1 -1
- package/src/Controls/TexturePreviewPopover.js +2 -2
- package/src/Editors/OutlineEditor.js +11 -11
- package/src/Editors/ScriptEditor.js +56 -31
- package/src/Tools/Core/X3DNodeTool.js +1 -1
- package/src/Undo/Editor.js +20 -12
- package/src/assets/themes/default-template.css +0 -7
- package/src/assets/themes/default.css +0 -7
- package/src/main.js +3 -0
package/bin/sunrize.js
CHANGED
|
@@ -6,15 +6,11 @@ const path = require ("path");
|
|
|
6
6
|
const { spawn } = require ("child_process");
|
|
7
7
|
const cwd = process .cwd ();
|
|
8
8
|
const cmd = os .platform () === "win32" ? "npm.cmd" : "npm";
|
|
9
|
-
const args = process .argv .slice (2);
|
|
9
|
+
const args = [... process .argv .slice (2), cwd];
|
|
10
10
|
|
|
11
11
|
process .chdir (path .resolve (__dirname, ".."));
|
|
12
12
|
|
|
13
|
-
const p = spawn (cmd, ["start", "--silent", "--", btoa (JSON .stringify (args))],
|
|
14
|
-
{
|
|
15
|
-
shell: true,
|
|
16
|
-
cwd: cwd,
|
|
17
|
-
});
|
|
13
|
+
const p = spawn (cmd, ["start", "--silent", "--", btoa (JSON .stringify (args))], { shell: true });
|
|
18
14
|
|
|
19
15
|
p .stdout .pipe (process .stdout);
|
|
20
16
|
p .stderr .pipe (process .stderr);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sunrize",
|
|
3
3
|
"productName": "Sunrize X3D Editor",
|
|
4
|
-
"version": "1.7.
|
|
4
|
+
"version": "1.7.36",
|
|
5
5
|
"description": "A Multi-Platform X3D Editor",
|
|
6
6
|
"main": "src/main.js",
|
|
7
7
|
"bin": {
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
"jquery-ui-dist": "^1.13.3",
|
|
100
100
|
"jstree": "^3.3.17",
|
|
101
101
|
"material-icons": "^1.13.12",
|
|
102
|
-
"material-symbols": "^0.27.
|
|
102
|
+
"material-symbols": "^0.27.2",
|
|
103
103
|
"md5": "^2.3.0",
|
|
104
104
|
"mime-types": "^2.1.35",
|
|
105
105
|
"monaco-editor": "^0.50.0",
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
"string-similarity": "^4.0.4",
|
|
110
110
|
"tweakpane": "^3.1.10",
|
|
111
111
|
"update-electron-app": "^3.0.0",
|
|
112
|
-
"x_ite": "^
|
|
112
|
+
"x_ite": "^11.0.0",
|
|
113
113
|
"x3d-traverse": "^1.0.6"
|
|
114
114
|
}
|
|
115
115
|
}
|
|
@@ -28,7 +28,7 @@ $.fn.materialPreviewPopover = async function (node)
|
|
|
28
28
|
|
|
29
29
|
const
|
|
30
30
|
browser = canvas .prop ("browser"),
|
|
31
|
-
scene = browser .createScene (browser .getProfile ("Core"));
|
|
31
|
+
scene = await browser .createScene (browser .getProfile ("Core"));
|
|
32
32
|
|
|
33
33
|
scene .setWorldURL (node .getExecutionContext () .worldURL);
|
|
34
34
|
|
|
@@ -52,7 +52,7 @@ $.fn.texturePreviewPopover = async function (node)
|
|
|
52
52
|
|
|
53
53
|
const
|
|
54
54
|
browser = canvas .prop ("browser"),
|
|
55
|
-
scene = browser .createScene (browser .getProfile ("Core"));
|
|
55
|
+
scene = await browser .createScene (browser .getProfile ("Core"));
|
|
56
56
|
|
|
57
57
|
scene .setWorldURL (node .getExecutionContext () .worldURL);
|
|
58
58
|
|
|
@@ -61,7 +61,7 @@ $.fn.texturePreviewPopover = async function (node)
|
|
|
61
61
|
// Create texture node.
|
|
62
62
|
|
|
63
63
|
const
|
|
64
|
-
x3dSyntax = Editor .exportX3D (node .getExecutionContext (), [node]),
|
|
64
|
+
x3dSyntax = await Editor .exportX3D (node .getExecutionContext (), [node]),
|
|
65
65
|
nodes = await Editor .importX3D (scene, x3dSyntax, new UndoManager ()),
|
|
66
66
|
previewNode = nodes [0],
|
|
67
67
|
appearanceNode = browser .currentScene .getExportedNode ("Appearance");
|
|
@@ -794,17 +794,17 @@ module .exports = class OutlineEditor extends OutlineRouteGraph
|
|
|
794
794
|
Editor .removeImportedNode (importedNode .getExecutionContext (), importedNode .getImportedName ());
|
|
795
795
|
}
|
|
796
796
|
|
|
797
|
-
cutNodes ()
|
|
797
|
+
async cutNodes ()
|
|
798
798
|
{
|
|
799
799
|
UndoManager .shared .beginUndo (_("Cut Nodes"));
|
|
800
800
|
|
|
801
|
-
this .copyNodes ();
|
|
802
|
-
this .deleteNodes ();
|
|
801
|
+
await this .copyNodes ();
|
|
802
|
+
await this .deleteNodes ();
|
|
803
803
|
|
|
804
804
|
UndoManager .shared .endUndo ();
|
|
805
805
|
}
|
|
806
806
|
|
|
807
|
-
copyNodes (deselect)
|
|
807
|
+
async copyNodes (deselect)
|
|
808
808
|
{
|
|
809
809
|
const
|
|
810
810
|
primary = $(".node.primary, .proto.primary, .externproto.primary"),
|
|
@@ -829,7 +829,7 @@ module .exports = class OutlineEditor extends OutlineRouteGraph
|
|
|
829
829
|
|
|
830
830
|
undoManager .endUndo ();
|
|
831
831
|
|
|
832
|
-
const x3dSyntax = Editor .exportX3D (this .executionContext, nodes, { importedNodes: true });
|
|
832
|
+
const x3dSyntax = await Editor .exportX3D (this .executionContext, nodes, { importedNodes: true });
|
|
833
833
|
|
|
834
834
|
//console .log (x3dSyntax)
|
|
835
835
|
|
|
@@ -841,7 +841,7 @@ module .exports = class OutlineEditor extends OutlineRouteGraph
|
|
|
841
841
|
this .deselectAll ();
|
|
842
842
|
}
|
|
843
843
|
|
|
844
|
-
copyExternPrototype ()
|
|
844
|
+
async copyExternPrototype ()
|
|
845
845
|
{
|
|
846
846
|
const
|
|
847
847
|
elements = $(".proto.primary, .proto.manually"),
|
|
@@ -849,7 +849,7 @@ module .exports = class OutlineEditor extends OutlineRouteGraph
|
|
|
849
849
|
|
|
850
850
|
const
|
|
851
851
|
browser = this .executionContext .getBrowser (),
|
|
852
|
-
scene = browser .createScene (),
|
|
852
|
+
scene = await browser .createScene (browser .getProfile ("Full")),
|
|
853
853
|
worldURL = new URL (this .executionContext .worldURL),
|
|
854
854
|
basename = path .basename (worldURL .pathname);
|
|
855
855
|
|
|
@@ -1366,7 +1366,7 @@ module .exports = class OutlineEditor extends OutlineRouteGraph
|
|
|
1366
1366
|
const
|
|
1367
1367
|
rootNodes = executionContext .rootNodes .copy (),
|
|
1368
1368
|
nodesToImport = [... inlineNode .getInternalScene () .rootNodes] .map (node => node .getValue ()),
|
|
1369
|
-
x3dSyntax = Editor .exportX3D (inlineNode .getInternalScene (), nodesToImport, { importedNodes: true }),
|
|
1369
|
+
x3dSyntax = await Editor .exportX3D (inlineNode .getInternalScene (), nodesToImport, { importedNodes: true }),
|
|
1370
1370
|
nodes = await Editor .importX3D (executionContext, x3dSyntax);
|
|
1371
1371
|
|
|
1372
1372
|
// Remove imported nodes from root nodes.
|
|
@@ -2865,7 +2865,7 @@ module .exports = class OutlineEditor extends OutlineRouteGraph
|
|
|
2865
2865
|
{
|
|
2866
2866
|
UndoManager .shared .beginUndo (_("Copy Extern Proto »%s«"), sourceExternProto .getName ());
|
|
2867
2867
|
|
|
2868
|
-
await Editor .importX3D (destinationExecutionContext, Editor .exportX3D (sourceExecutionContext, [sourceExternProto]));
|
|
2868
|
+
await Editor .importX3D (destinationExecutionContext, await Editor .exportX3D (sourceExecutionContext, [sourceExternProto]));
|
|
2869
2869
|
|
|
2870
2870
|
const
|
|
2871
2871
|
externprotos = Array .from (destinationExecutionContext .externprotos),
|
|
@@ -2939,7 +2939,7 @@ module .exports = class OutlineEditor extends OutlineRouteGraph
|
|
|
2939
2939
|
{
|
|
2940
2940
|
UndoManager .shared .beginUndo (_("Copy Prototype »%s«"), sourceProto .getName ());
|
|
2941
2941
|
|
|
2942
|
-
await Editor .importX3D (destinationExecutionContext, Editor .exportX3D (sourceExecutionContext, [sourceProto]));
|
|
2942
|
+
await Editor .importX3D (destinationExecutionContext, await Editor .exportX3D (sourceExecutionContext, [sourceProto]));
|
|
2943
2943
|
|
|
2944
2944
|
const
|
|
2945
2945
|
protos = Array .from (destinationExecutionContext .protos),
|
|
@@ -3044,7 +3044,7 @@ module .exports = class OutlineEditor extends OutlineRouteGraph
|
|
|
3044
3044
|
}
|
|
3045
3045
|
|
|
3046
3046
|
const copiedNodes = sourceNodes .length
|
|
3047
|
-
? await Editor .importX3D (destinationExecutionContext, Editor .exportX3D (this .executionContext, sourceNodes, { importedNodes: true }))
|
|
3047
|
+
? await Editor .importX3D (destinationExecutionContext, await Editor .exportX3D (this .executionContext, sourceNodes, { importedNodes: true }))
|
|
3048
3048
|
: [ ];
|
|
3049
3049
|
|
|
3050
3050
|
if (copiedNodes .length)
|
|
@@ -256,40 +256,63 @@ module .exports = class ScriptEditor extends Interface
|
|
|
256
256
|
|
|
257
257
|
const fields = Array .from (this .node .getUserDefinedFields (), field =>
|
|
258
258
|
{
|
|
259
|
-
|
|
259
|
+
if (field .getAccessType () === X3D .X3DConstants .inputOnly)
|
|
260
|
+
return "";
|
|
261
|
+
|
|
262
|
+
const accessType = [ ];
|
|
263
|
+
|
|
264
|
+
if (field .isInput ())
|
|
265
|
+
accessType .push ("in");
|
|
266
|
+
|
|
267
|
+
if (field .isOutput ())
|
|
268
|
+
accessType .push ("out");
|
|
269
|
+
|
|
270
|
+
let value = "";
|
|
271
|
+
|
|
272
|
+
if (field instanceof X3D .X3DArrayField)
|
|
273
|
+
{
|
|
274
|
+
value += `(${field .length} elements)`;
|
|
275
|
+
}
|
|
276
|
+
else
|
|
260
277
|
{
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
278
|
+
const STRING_MAX = 16;
|
|
279
|
+
|
|
280
|
+
if (field instanceof X3D .SFString)
|
|
281
|
+
value += `"${X3D .SFString .escape (field .valueOf ()) .substring (0, STRING_MAX)}${field .length <= STRING_MAX ? "" : "..."}"`;
|
|
282
|
+
else
|
|
283
|
+
value += String (field);
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
let string = "";
|
|
287
|
+
|
|
288
|
+
string += `/** This is the user-defined field ${field .getTypeName ()} [${accessType .join (", ")}] *${field .getName ()}* ${value}. */\n`;
|
|
289
|
+
string += `declare let ${field .getName ()}: `;
|
|
290
|
+
|
|
291
|
+
switch (field .getType ())
|
|
292
|
+
{
|
|
293
|
+
case X3D .X3DConstants .SFNode:
|
|
264
294
|
{
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
{
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
if (types .length)
|
|
279
|
-
return `declare let ${field .getName ()}: X3D .MFNode <${types .join ("|")}|null>;`;
|
|
280
|
-
else
|
|
281
|
-
return `declare let ${field .getName ()}: X3D .MFNode;`;
|
|
282
|
-
}
|
|
283
|
-
default:
|
|
284
|
-
{
|
|
285
|
-
return `declare let ${field .getName ()}: ${
|
|
286
|
-
this .#internalTypes .get (field .getType ()) ?? "X3D ." + field .getTypeName ()
|
|
287
|
-
};`;
|
|
288
|
-
}
|
|
289
|
-
}
|
|
295
|
+
if (field .getValue ())
|
|
296
|
+
string += `X3D .${field .getNodeTypeName ()}Proxy;`;
|
|
297
|
+
else
|
|
298
|
+
string += `X3D .SFNode | null;`;
|
|
299
|
+
}
|
|
300
|
+
case X3D .X3DConstants .MFNode:
|
|
301
|
+
{
|
|
302
|
+
const types = Array .from (new Set (Array .from (field, node => node ? `${node .getNodeTypeName ()}Proxy` : "null")));
|
|
303
|
+
|
|
304
|
+
if (types .length)
|
|
305
|
+
string += `X3D .MFNode <${types .join ("|")}|null>;`;
|
|
306
|
+
else
|
|
307
|
+
string += `X3D .MFNode;`;
|
|
290
308
|
}
|
|
291
309
|
default:
|
|
292
|
-
|
|
310
|
+
{
|
|
311
|
+
string += this .#internalTypes .get (field .getType ()) ?? `X3D .${field .getTypeName ()}`;
|
|
312
|
+
string += "";"";
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
return string;
|
|
293
316
|
}
|
|
294
317
|
});
|
|
295
318
|
|
|
@@ -380,11 +403,13 @@ module .exports = class ScriptEditor extends Interface
|
|
|
380
403
|
bracketPairColorization: { enabled: true },
|
|
381
404
|
});
|
|
382
405
|
|
|
406
|
+
editor .onDidFocusEditorWidget (() => this .setDeclarations (monaco));
|
|
383
407
|
editor .onDidBlurEditorWidget (() => this .apply ());
|
|
384
408
|
|
|
385
409
|
editor .viewState = editor .saveViewState ();
|
|
386
410
|
|
|
387
|
-
element .on ("
|
|
411
|
+
element .on ("mouseenter", () => this .setDeclarations (monaco))
|
|
412
|
+
element .on ("contextmenu", () => this .showContextMenu ());
|
|
388
413
|
element .detach ();
|
|
389
414
|
|
|
390
415
|
// this .debugFindActions (editor)
|
|
@@ -156,7 +156,7 @@ class X3DNodeTool extends X3DBaseTool
|
|
|
156
156
|
{
|
|
157
157
|
const scene = await this .getBrowser () .createX3DFromURL (new X3D .MFString (protoURL));
|
|
158
158
|
|
|
159
|
-
scene .setExecutionContext (
|
|
159
|
+
scene .setExecutionContext (this .getBrowser () .getPrivateScene ());
|
|
160
160
|
scene .setCountPrimitives (false);
|
|
161
161
|
|
|
162
162
|
for (const externproto of scene .externprotos)
|
package/src/Undo/Editor.js
CHANGED
|
@@ -75,7 +75,7 @@ module .exports = class Editor
|
|
|
75
75
|
* @param {Object} options
|
|
76
76
|
* @returns {string} x3dSyntax
|
|
77
77
|
*/
|
|
78
|
-
static exportX3D (executionContext, objects = [ ], { type = "x3d", importedNodes = false, exportedNodes = false } = { })
|
|
78
|
+
static async exportX3D (executionContext, objects = [ ], { type = "x3d", importedNodes = false, exportedNodes = false } = { })
|
|
79
79
|
{
|
|
80
80
|
const
|
|
81
81
|
externprotos = new Set (),
|
|
@@ -84,7 +84,7 @@ module .exports = class Editor
|
|
|
84
84
|
|
|
85
85
|
const
|
|
86
86
|
browser = executionContext .getBrowser (),
|
|
87
|
-
scene = browser .createScene ();
|
|
87
|
+
scene = await browser .createScene (browser .getProfile ("Core"));
|
|
88
88
|
|
|
89
89
|
// Determine protos.
|
|
90
90
|
|
|
@@ -220,6 +220,7 @@ module .exports = class Editor
|
|
|
220
220
|
|
|
221
221
|
// Dispose scene.
|
|
222
222
|
|
|
223
|
+
scene .routes .clear ();
|
|
223
224
|
scene .dispose ();
|
|
224
225
|
nodes .dispose ();
|
|
225
226
|
|
|
@@ -245,7 +246,7 @@ module .exports = class Editor
|
|
|
245
246
|
externprotos = new Map (Array .from (executionContext .externprotos, p => [p .getName (), p])),
|
|
246
247
|
protos = new Map (Array .from (executionContext .protos, p => [p .getName (), p])),
|
|
247
248
|
rootNodes = executionContext .rootNodes .copy (),
|
|
248
|
-
tempScene = browser .createScene (browser .getProfile ("Core"));
|
|
249
|
+
tempScene = await browser .createScene (browser .getProfile ("Core"));
|
|
249
250
|
|
|
250
251
|
scene .setProfile (browser .getProfile ("Full"));
|
|
251
252
|
scene .updateComponent (browser .getComponent ("X_ITE"));
|
|
@@ -398,8 +399,8 @@ module .exports = class Editor
|
|
|
398
399
|
{
|
|
399
400
|
const
|
|
400
401
|
browser = executionContext .getBrowser (),
|
|
401
|
-
scene = browser .createScene (),
|
|
402
|
-
x3dSyntax = this .exportX3D (executionContext, nodes, { importedNodes: true, exportedNodes: true }),
|
|
402
|
+
scene = await browser .createScene (browser .getProfile ("Core")),
|
|
403
|
+
x3dSyntax = await this .exportX3D (executionContext, nodes, { importedNodes: true, exportedNodes: true }),
|
|
403
404
|
loadUrlObjects = browser .getBrowserOption ("LoadUrlObjects");
|
|
404
405
|
|
|
405
406
|
browser .setBrowserOption ("LoadUrlObjects", false);
|
|
@@ -408,6 +409,7 @@ module .exports = class Editor
|
|
|
408
409
|
|
|
409
410
|
await this .importX3D (scene, x3dSyntax, new UndoManager ());
|
|
410
411
|
|
|
412
|
+
this .rewriteURLs (scene, scene, executionContext .worldURL, scene .worldURL, new UndoManager ());
|
|
411
413
|
this .inferProfileAndComponents (scene, new UndoManager ());
|
|
412
414
|
|
|
413
415
|
fs .writeFileSync (filePath, this .getContents (scene, path .extname (filePath)));
|
|
@@ -525,7 +527,7 @@ ${scene .toXMLString ({ html: true, indent: " " .repeat (6) }) .trimEnd () }
|
|
|
525
527
|
{
|
|
526
528
|
try
|
|
527
529
|
{
|
|
528
|
-
const filePath =
|
|
530
|
+
const filePath = url .fileURLToPath (new URL (fileURL, oldWorldURL));
|
|
529
531
|
|
|
530
532
|
let relativePath = path .relative (path .dirname (url .fileURLToPath (newWorldURL)), filePath);
|
|
531
533
|
|
|
@@ -537,8 +539,10 @@ ${scene .toXMLString ({ html: true, indent: " " .repeat (6) }) .trimEnd () }
|
|
|
537
539
|
newURL .push (encodeURI (relativePath));
|
|
538
540
|
continue;
|
|
539
541
|
}
|
|
540
|
-
catch
|
|
541
|
-
{
|
|
542
|
+
catch (error)
|
|
543
|
+
{
|
|
544
|
+
// console .log (error)
|
|
545
|
+
}
|
|
542
546
|
|
|
543
547
|
newURL .push (fileURL);
|
|
544
548
|
}
|
|
@@ -1350,13 +1354,17 @@ ${scene .toXMLString ({ html: true, indent: " " .repeat (6) }) .trimEnd () }
|
|
|
1350
1354
|
{
|
|
1351
1355
|
const
|
|
1352
1356
|
browser = executionContext .getBrowser (),
|
|
1353
|
-
scene = browser .createScene (),
|
|
1354
|
-
x3dSyntax = this .exportX3D (executionContext, [proto]);
|
|
1357
|
+
scene = await browser .createScene (browser .getProfile ("Core")),
|
|
1358
|
+
x3dSyntax = await this .exportX3D (executionContext, [proto]);
|
|
1355
1359
|
|
|
1356
1360
|
undoManager .beginUndo (_("Turn Prototype »%s« into Extern Prototype"), proto .getName ());
|
|
1357
1361
|
|
|
1362
|
+
scene .setWorldURL (url .pathToFileURL (filePath));
|
|
1363
|
+
|
|
1358
1364
|
await this .importX3D (scene, x3dSyntax, new UndoManager ());
|
|
1359
|
-
|
|
1365
|
+
|
|
1366
|
+
this .rewriteURLs (scene, scene, executionContext .worldURL, scene .worldURL, new UndoManager ());
|
|
1367
|
+
this .inferProfileAndComponents (scene, new UndoManager ());
|
|
1360
1368
|
|
|
1361
1369
|
fs .writeFileSync (filePath, this .getContents (scene, path .extname (filePath)));
|
|
1362
1370
|
scene .dispose ();
|
|
@@ -1530,7 +1538,7 @@ ${scene .toXMLString ({ html: true, indent: " " .repeat (6) }) .trimEnd () }
|
|
|
1530
1538
|
{
|
|
1531
1539
|
const
|
|
1532
1540
|
numProtos = executionContext .protos .length,
|
|
1533
|
-
x3dSyntax = this .exportX3D (externproto .getInternalScene (), [externproto .getProtoDeclaration ()])
|
|
1541
|
+
x3dSyntax = await this .exportX3D (externproto .getInternalScene (), [externproto .getProtoDeclaration ()])
|
|
1534
1542
|
|
|
1535
1543
|
undoManager .beginUndo (_("Turn Extern Prototype »%s« into Prototype"), externproto .getName ())
|
|
1536
1544
|
|
|
@@ -171,7 +171,6 @@ tr.disabled ~ tr > td > div {
|
|
|
171
171
|
/* Vertical splitter */
|
|
172
172
|
|
|
173
173
|
.vertical-splitter {
|
|
174
|
-
overflow: hidden;
|
|
175
174
|
position: absolute;
|
|
176
175
|
box-sizing: border-box;
|
|
177
176
|
inset: 0;
|
|
@@ -365,7 +364,6 @@ tr.disabled ~ tr > td > div {
|
|
|
365
364
|
}
|
|
366
365
|
|
|
367
366
|
.ui-tabs > .ui-tabs-panel {
|
|
368
|
-
overflow: hidden;
|
|
369
367
|
box-sizing: border-box;
|
|
370
368
|
position: relative;
|
|
371
369
|
padding: unset;
|
|
@@ -380,7 +378,6 @@ tr.disabled ~ tr > td > div {
|
|
|
380
378
|
|
|
381
379
|
.tabs-panel {
|
|
382
380
|
position: absolute;
|
|
383
|
-
overflow: hidden;
|
|
384
381
|
inset: 0;
|
|
385
382
|
}
|
|
386
383
|
|
|
@@ -728,7 +725,6 @@ body.dark .ui-widget .library-list .component {
|
|
|
728
725
|
/* Footer */
|
|
729
726
|
|
|
730
727
|
#footer {
|
|
731
|
-
overflow: hidden;
|
|
732
728
|
position: absolute;
|
|
733
729
|
box-sizing: border-box;
|
|
734
730
|
width: 100%;
|
|
@@ -743,7 +739,6 @@ body.dark .ui-widget .library-list .component {
|
|
|
743
739
|
}
|
|
744
740
|
|
|
745
741
|
.console {
|
|
746
|
-
overflow: hidden;
|
|
747
742
|
box-sizing: border-box;
|
|
748
743
|
}
|
|
749
744
|
|
|
@@ -882,7 +877,6 @@ body.dark .ui-widget .library-list .component {
|
|
|
882
877
|
}
|
|
883
878
|
|
|
884
879
|
.script-editor .script-editor-left {
|
|
885
|
-
overflow: hidden;
|
|
886
880
|
position: absolute;
|
|
887
881
|
box-sizing: border-box;
|
|
888
882
|
left: 0;
|
|
@@ -928,7 +922,6 @@ body.dark .ui-widget .library-list .component {
|
|
|
928
922
|
/* Animation Editor */
|
|
929
923
|
|
|
930
924
|
.animation-editor {
|
|
931
|
-
overflow: hidden;
|
|
932
925
|
box-sizing: border-box;
|
|
933
926
|
}
|
|
934
927
|
|
|
@@ -171,7 +171,6 @@ tr.disabled ~ tr > td > div {
|
|
|
171
171
|
/* Vertical splitter */
|
|
172
172
|
|
|
173
173
|
.vertical-splitter {
|
|
174
|
-
overflow: hidden;
|
|
175
174
|
position: absolute;
|
|
176
175
|
box-sizing: border-box;
|
|
177
176
|
inset: 0;
|
|
@@ -365,7 +364,6 @@ tr.disabled ~ tr > td > div {
|
|
|
365
364
|
}
|
|
366
365
|
|
|
367
366
|
.ui-tabs > .ui-tabs-panel {
|
|
368
|
-
overflow: hidden;
|
|
369
367
|
box-sizing: border-box;
|
|
370
368
|
position: relative;
|
|
371
369
|
padding: unset;
|
|
@@ -380,7 +378,6 @@ tr.disabled ~ tr > td > div {
|
|
|
380
378
|
|
|
381
379
|
.tabs-panel {
|
|
382
380
|
position: absolute;
|
|
383
|
-
overflow: hidden;
|
|
384
381
|
inset: 0;
|
|
385
382
|
}
|
|
386
383
|
|
|
@@ -728,7 +725,6 @@ body.dark .ui-widget .library-list .component {
|
|
|
728
725
|
/* Footer */
|
|
729
726
|
|
|
730
727
|
#footer {
|
|
731
|
-
overflow: hidden;
|
|
732
728
|
position: absolute;
|
|
733
729
|
box-sizing: border-box;
|
|
734
730
|
width: 100%;
|
|
@@ -743,7 +739,6 @@ body.dark .ui-widget .library-list .component {
|
|
|
743
739
|
}
|
|
744
740
|
|
|
745
741
|
.console {
|
|
746
|
-
overflow: hidden;
|
|
747
742
|
box-sizing: border-box;
|
|
748
743
|
}
|
|
749
744
|
|
|
@@ -882,7 +877,6 @@ body.dark .ui-widget .library-list .component {
|
|
|
882
877
|
}
|
|
883
878
|
|
|
884
879
|
.script-editor .script-editor-left {
|
|
885
|
-
overflow: hidden;
|
|
886
880
|
position: absolute;
|
|
887
881
|
box-sizing: border-box;
|
|
888
882
|
left: 0;
|
|
@@ -928,7 +922,6 @@ body.dark .ui-widget .library-list .component {
|
|
|
928
922
|
/* Animation Editor */
|
|
929
923
|
|
|
930
924
|
.animation-editor {
|
|
931
|
-
overflow: hidden;
|
|
932
925
|
box-sizing: border-box;
|
|
933
926
|
}
|
|
934
927
|
|
package/src/main.js
CHANGED