iobroker.mywebui 1.42.21 → 1.42.22

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 (167) hide show
  1. package/io-package.json +1 -1
  2. package/package.json +1 -1
  3. package/www/3d-editor/css/main.css +1030 -0
  4. package/www/3d-editor/images/icon.png +0 -0
  5. package/www/3d-editor/images/icon.xcf +0 -0
  6. package/www/3d-editor/images/rotate.svg +4 -0
  7. package/www/3d-editor/images/scale.svg +4 -0
  8. package/www/3d-editor/images/translate.svg +4 -0
  9. package/www/3d-editor/index.html +216 -0
  10. package/www/3d-editor/js/Animation.js +618 -0
  11. package/www/3d-editor/js/AnimationResizer.js +73 -0
  12. package/www/3d-editor/js/Command.js +40 -0
  13. package/www/3d-editor/js/Config.js +86 -0
  14. package/www/3d-editor/js/Editor.js +885 -0
  15. package/www/3d-editor/js/EditorControls.js +489 -0
  16. package/www/3d-editor/js/GLTFImportDialog.js +112 -0
  17. package/www/3d-editor/js/History.js +321 -0
  18. package/www/3d-editor/js/Loader.js +1151 -0
  19. package/www/3d-editor/js/LoaderUtils.js +90 -0
  20. package/www/3d-editor/js/Menubar.Add.js +559 -0
  21. package/www/3d-editor/js/Menubar.Edit.js +155 -0
  22. package/www/3d-editor/js/Menubar.File.js +586 -0
  23. package/www/3d-editor/js/Menubar.Help.js +73 -0
  24. package/www/3d-editor/js/Menubar.Render.js +858 -0
  25. package/www/3d-editor/js/Menubar.Status.js +51 -0
  26. package/www/3d-editor/js/Menubar.View.js +193 -0
  27. package/www/3d-editor/js/Menubar.js +29 -0
  28. package/www/3d-editor/js/Player.js +53 -0
  29. package/www/3d-editor/js/Resizer.js +65 -0
  30. package/www/3d-editor/js/Script.js +532 -0
  31. package/www/3d-editor/js/Selector.js +124 -0
  32. package/www/3d-editor/js/Sidebar.Geometry.BoxGeometry.js +121 -0
  33. package/www/3d-editor/js/Sidebar.Geometry.BufferGeometry.js +124 -0
  34. package/www/3d-editor/js/Sidebar.Geometry.CapsuleGeometry.js +109 -0
  35. package/www/3d-editor/js/Sidebar.Geometry.CircleGeometry.js +97 -0
  36. package/www/3d-editor/js/Sidebar.Geometry.CylinderGeometry.js +121 -0
  37. package/www/3d-editor/js/Sidebar.Geometry.DodecahedronGeometry.js +73 -0
  38. package/www/3d-editor/js/Sidebar.Geometry.ExtrudeGeometry.js +196 -0
  39. package/www/3d-editor/js/Sidebar.Geometry.IcosahedronGeometry.js +73 -0
  40. package/www/3d-editor/js/Sidebar.Geometry.LatheGeometry.js +98 -0
  41. package/www/3d-editor/js/Sidebar.Geometry.Modifiers.js +73 -0
  42. package/www/3d-editor/js/Sidebar.Geometry.OctahedronGeometry.js +74 -0
  43. package/www/3d-editor/js/Sidebar.Geometry.PlaneGeometry.js +97 -0
  44. package/www/3d-editor/js/Sidebar.Geometry.RingGeometry.js +121 -0
  45. package/www/3d-editor/js/Sidebar.Geometry.ShapeGeometry.js +76 -0
  46. package/www/3d-editor/js/Sidebar.Geometry.SphereGeometry.js +133 -0
  47. package/www/3d-editor/js/Sidebar.Geometry.TetrahedronGeometry.js +74 -0
  48. package/www/3d-editor/js/Sidebar.Geometry.TextGeometry.js +136 -0
  49. package/www/3d-editor/js/Sidebar.Geometry.TorusGeometry.js +109 -0
  50. package/www/3d-editor/js/Sidebar.Geometry.TorusKnotGeometry.js +121 -0
  51. package/www/3d-editor/js/Sidebar.Geometry.TubeGeometry.js +135 -0
  52. package/www/3d-editor/js/Sidebar.Geometry.js +411 -0
  53. package/www/3d-editor/js/Sidebar.Material.BooleanProperty.js +60 -0
  54. package/www/3d-editor/js/Sidebar.Material.ColorProperty.js +87 -0
  55. package/www/3d-editor/js/Sidebar.Material.ConstantProperty.js +62 -0
  56. package/www/3d-editor/js/Sidebar.Material.MapProperty.js +277 -0
  57. package/www/3d-editor/js/Sidebar.Material.NumberProperty.js +60 -0
  58. package/www/3d-editor/js/Sidebar.Material.Program.js +73 -0
  59. package/www/3d-editor/js/Sidebar.Material.RangeValueProperty.js +63 -0
  60. package/www/3d-editor/js/Sidebar.Material.js +751 -0
  61. package/www/3d-editor/js/Sidebar.Object.js +892 -0
  62. package/www/3d-editor/js/Sidebar.Project.App.js +218 -0
  63. package/www/3d-editor/js/Sidebar.Project.Materials.js +82 -0
  64. package/www/3d-editor/js/Sidebar.Project.Renderer.js +205 -0
  65. package/www/3d-editor/js/Sidebar.Project.Resources.js +242 -0
  66. package/www/3d-editor/js/Sidebar.Project.js +21 -0
  67. package/www/3d-editor/js/Sidebar.Properties.js +73 -0
  68. package/www/3d-editor/js/Sidebar.Scene.js +594 -0
  69. package/www/3d-editor/js/Sidebar.Script.js +129 -0
  70. package/www/3d-editor/js/Sidebar.Settings.History.js +146 -0
  71. package/www/3d-editor/js/Sidebar.Settings.Shortcuts.js +198 -0
  72. package/www/3d-editor/js/Sidebar.Settings.js +58 -0
  73. package/www/3d-editor/js/Sidebar.js +41 -0
  74. package/www/3d-editor/js/Storage.js +98 -0
  75. package/www/3d-editor/js/Strings.js +2718 -0
  76. package/www/3d-editor/js/TextureParametersDialog.js +293 -0
  77. package/www/3d-editor/js/Toolbar.js +75 -0
  78. package/www/3d-editor/js/Viewport.Controls.js +98 -0
  79. package/www/3d-editor/js/Viewport.Info.js +144 -0
  80. package/www/3d-editor/js/Viewport.Pathtracer.js +91 -0
  81. package/www/3d-editor/js/Viewport.ViewHelper.js +41 -0
  82. package/www/3d-editor/js/Viewport.XR.js +233 -0
  83. package/www/3d-editor/js/Viewport.js +983 -0
  84. package/www/3d-editor/js/commands/AddObjectCommand.js +68 -0
  85. package/www/3d-editor/js/commands/AddScriptCommand.js +75 -0
  86. package/www/3d-editor/js/commands/Commands.js +24 -0
  87. package/www/3d-editor/js/commands/MoveObjectCommand.js +117 -0
  88. package/www/3d-editor/js/commands/MultiCmdsCommand.js +85 -0
  89. package/www/3d-editor/js/commands/RemoveObjectCommand.js +88 -0
  90. package/www/3d-editor/js/commands/RemoveScriptCommand.js +81 -0
  91. package/www/3d-editor/js/commands/SetColorCommand.js +73 -0
  92. package/www/3d-editor/js/commands/SetGeometryCommand.js +86 -0
  93. package/www/3d-editor/js/commands/SetGeometryValueCommand.js +70 -0
  94. package/www/3d-editor/js/commands/SetMaterialColorCommand.js +87 -0
  95. package/www/3d-editor/js/commands/SetMaterialCommand.js +80 -0
  96. package/www/3d-editor/js/commands/SetMaterialMapCommand.js +144 -0
  97. package/www/3d-editor/js/commands/SetMaterialRangeCommand.js +92 -0
  98. package/www/3d-editor/js/commands/SetMaterialValueCommand.js +91 -0
  99. package/www/3d-editor/js/commands/SetMaterialVectorCommand.js +88 -0
  100. package/www/3d-editor/js/commands/SetPositionCommand.js +84 -0
  101. package/www/3d-editor/js/commands/SetRotationCommand.js +84 -0
  102. package/www/3d-editor/js/commands/SetScaleCommand.js +84 -0
  103. package/www/3d-editor/js/commands/SetSceneCommand.js +104 -0
  104. package/www/3d-editor/js/commands/SetScriptValueCommand.js +80 -0
  105. package/www/3d-editor/js/commands/SetShadowValueCommand.js +73 -0
  106. package/www/3d-editor/js/commands/SetTextureParametersCommand.js +143 -0
  107. package/www/3d-editor/js/commands/SetUuidCommand.js +70 -0
  108. package/www/3d-editor/js/commands/SetValueCommand.js +75 -0
  109. package/www/3d-editor/js/libs/acorn/acorn.js +3236 -0
  110. package/www/3d-editor/js/libs/acorn/acorn_loose.js +1299 -0
  111. package/www/3d-editor/js/libs/acorn/walk.js +344 -0
  112. package/www/3d-editor/js/libs/app/index.html +51 -0
  113. package/www/3d-editor/js/libs/app.js +307 -0
  114. package/www/3d-editor/js/libs/codemirror/addon/dialog.css +32 -0
  115. package/www/3d-editor/js/libs/codemirror/addon/dialog.js +163 -0
  116. package/www/3d-editor/js/libs/codemirror/addon/show-hint.css +36 -0
  117. package/www/3d-editor/js/libs/codemirror/addon/show-hint.js +529 -0
  118. package/www/3d-editor/js/libs/codemirror/addon/tern.css +87 -0
  119. package/www/3d-editor/js/libs/codemirror/addon/tern.js +750 -0
  120. package/www/3d-editor/js/libs/codemirror/codemirror.css +344 -0
  121. package/www/3d-editor/js/libs/codemirror/codemirror.js +9849 -0
  122. package/www/3d-editor/js/libs/codemirror/mode/glsl.js +233 -0
  123. package/www/3d-editor/js/libs/codemirror/mode/javascript.js +959 -0
  124. package/www/3d-editor/js/libs/codemirror/theme/monokai.css +41 -0
  125. package/www/3d-editor/js/libs/esprima.js +6401 -0
  126. package/www/3d-editor/js/libs/jsonlint.js +453 -0
  127. package/www/3d-editor/js/libs/signals.min.js +14 -0
  128. package/www/3d-editor/js/libs/tern-threejs/build-defs.js +233 -0
  129. package/www/3d-editor/js/libs/ternjs/comment.js +87 -0
  130. package/www/3d-editor/js/libs/ternjs/def.js +588 -0
  131. package/www/3d-editor/js/libs/ternjs/doc_comment.js +401 -0
  132. package/www/3d-editor/js/libs/ternjs/infer.js +1635 -0
  133. package/www/3d-editor/js/libs/ternjs/polyfill.js +80 -0
  134. package/www/3d-editor/js/libs/ternjs/signal.js +26 -0
  135. package/www/3d-editor/js/libs/ternjs/tern.js +993 -0
  136. package/www/3d-editor/js/libs/ui.js +1305 -0
  137. package/www/3d-editor/js/libs/ui.three.js +874 -0
  138. package/www/3d-lib/jsm/controls/OrbitControls.js +1963 -0
  139. package/www/3d-lib/jsm/controls/TransformControls.js +1950 -0
  140. package/www/3d-lib/jsm/environments/ColorEnvironment.js +59 -0
  141. package/www/3d-lib/jsm/environments/RoomEnvironment.js +185 -0
  142. package/www/3d-lib/jsm/geometries/TextGeometry.js +102 -0
  143. package/www/3d-lib/jsm/helpers/AnimationPathHelper.js +302 -0
  144. package/www/3d-lib/jsm/helpers/VertexNormalsHelper.js +155 -0
  145. package/www/3d-lib/jsm/helpers/ViewHelper.js +519 -0
  146. package/www/3d-lib/jsm/interactive/HTMLMesh.js +601 -0
  147. package/www/3d-lib/jsm/interactive/InteractiveGroup.js +224 -0
  148. package/www/3d-lib/jsm/libs/fflate.module.js +2672 -0
  149. package/www/3d-lib/jsm/libs/ktx-parse.module.js +1 -0
  150. package/www/3d-lib/jsm/libs/mikktspace.module.js +128 -0
  151. package/www/3d-lib/jsm/libs/motion-controllers.module.js +397 -0
  152. package/www/3d-lib/jsm/libs/zstddec.module.js +1 -0
  153. package/www/3d-lib/jsm/loaders/DRACOLoader.js +739 -0
  154. package/www/3d-lib/jsm/loaders/FontLoader.js +260 -0
  155. package/www/3d-lib/jsm/loaders/GLTFLoader.js +4860 -0
  156. package/www/3d-lib/jsm/loaders/KTX2Loader.js +1257 -0
  157. package/www/3d-lib/jsm/loaders/TGALoader.js +538 -0
  158. package/www/3d-lib/jsm/math/ColorSpaces.js +147 -0
  159. package/www/3d-lib/jsm/postprocessing/Pass.js +191 -0
  160. package/www/3d-lib/jsm/utils/BufferGeometryUtils.js +1434 -0
  161. package/www/3d-lib/jsm/utils/SkeletonUtils.js +496 -0
  162. package/www/3d-lib/jsm/utils/WorkerPool.js +167 -0
  163. package/www/3d-lib/jsm/webxr/XRControllerModelFactory.js +403 -0
  164. package/www/3d-lib/three.module.js +19552 -0
  165. package/www/dist/frontend/config/IobrokerWebui3DScreenEditor.js +150 -1244
  166. package/www/dist/importmaps/importmap-config.js +2 -2
  167. package/www/dist/importmaps/importmap-runtime.js +2 -2
@@ -0,0 +1,1030 @@
1
+ :root {
2
+ color-scheme: light dark;
3
+ }
4
+
5
+ [hidden] {
6
+ display: none !important;
7
+ }
8
+
9
+ body {
10
+ font-family: Helvetica, Arial, sans-serif;
11
+ font-size: 14px;
12
+ margin: 0;
13
+ overflow: hidden;
14
+ }
15
+
16
+ hr {
17
+ border: 0;
18
+ border-top: 1px solid #ccc;
19
+ }
20
+
21
+ .Button {
22
+ position: relative;
23
+ }
24
+
25
+ .Input {
26
+ vertical-align: middle;
27
+ }
28
+
29
+ .Input[type="color"]::-webkit-color-swatch-wrapper {
30
+ padding: 0;
31
+ }
32
+ .Input[type="color"]::-webkit-color-swatch {
33
+ border: none;
34
+ }
35
+
36
+ .TextArea {
37
+ tab-size: 4;
38
+ white-space: pre;
39
+ word-wrap: normal;
40
+ }
41
+
42
+ .TextArea.success {
43
+ border-color: #8b8 !important;
44
+ }
45
+
46
+ .TextArea.fail {
47
+ border-color: #f00 !important;
48
+ background-color: rgba(255,0,0,0.05);
49
+ }
50
+
51
+ .TextArea, .Input { outline: none; } /* osx */
52
+
53
+ .Panel {
54
+ -moz-user-select: none;
55
+ -webkit-user-select: none;
56
+ -ms-user-select: none;
57
+
58
+ /* No support for these yet */
59
+ -o-user-select: none;
60
+ user-select: none;
61
+ }
62
+
63
+ .TabbedPanel {
64
+ -moz-user-select: none;
65
+ -webkit-user-select: none;
66
+ -ms-user-select: none;
67
+
68
+ /* No support for these yet */
69
+ -o-user-select: none;
70
+ user-select: none;
71
+ position: relative;
72
+ display: block;
73
+ width: 100%;
74
+ min-width: 335px;
75
+ }
76
+
77
+ .TabbedPanel .Tabs {
78
+ position: relative;
79
+ z-index: 1; /** Above .Panels **/
80
+ display: block;
81
+ width: 100%;
82
+ white-space: pre;
83
+ overflow: hidden;
84
+ overflow-x: auto;
85
+ }
86
+
87
+ .TabbedPanel .Tabs::-webkit-scrollbar {
88
+ height: 5px;
89
+ background: #eee;
90
+ }
91
+ .TabbedPanel .Tabs::-webkit-scrollbar-thumb {
92
+ background: #08f3;
93
+ }
94
+ .TabbedPanel .Tabs:hover::-webkit-scrollbar-thumb {
95
+ background: #08f;
96
+ cursor: ew-resize;
97
+ }
98
+
99
+ .TabbedPanel .Tabs .Tab {
100
+ padding: 10px 9px;
101
+ text-transform: uppercase;
102
+ }
103
+
104
+ .TabbedPanel .Panels {
105
+ position: absolute;
106
+ top: 36px;
107
+ display: block;
108
+ width: 100%;
109
+ }
110
+
111
+ /* Listbox */
112
+ .Listbox {
113
+ color: #444;
114
+ background-color: #fff;
115
+ padding: 0;
116
+ width: 100%;
117
+ min-height: 180px;
118
+ font-size: 12px;
119
+ cursor: default;
120
+ overflow: auto;
121
+ }
122
+
123
+ .Listbox .ListboxItem {
124
+ padding: 4px;
125
+ color: #666;
126
+ white-space: nowrap;
127
+ }
128
+
129
+ .Listbox .ListboxItem:hover {
130
+ background-color: rgba(0, 0, 0, 0.02);
131
+ }
132
+
133
+ .Listbox .ListboxItem.active {
134
+ background-color: rgba(0, 0, 0, 0.04);
135
+ }
136
+
137
+ /* CodeMirror */
138
+
139
+ .CodeMirror {
140
+
141
+ position: absolute !important;
142
+ top: 37px;
143
+ width: 100% !important;
144
+ height: calc(100% - 37px) !important;
145
+
146
+ }
147
+
148
+ .CodeMirror .errorLine {
149
+
150
+ background: rgba(255,0,0,0.25);
151
+
152
+ }
153
+
154
+ .CodeMirror .esprima-error {
155
+
156
+ color: #f00;
157
+ text-align: right;
158
+ padding: 0 20px;
159
+
160
+ }
161
+
162
+ /* outliner */
163
+
164
+ #outliner .opener {
165
+ display: inline-block;
166
+ width: 14px;
167
+ height: 14px;
168
+ margin: 0px 4px;
169
+ vertical-align: top;
170
+ text-align: center;
171
+ }
172
+
173
+ #outliner .opener.open:after {
174
+ content: '−';
175
+ }
176
+
177
+ #outliner .opener.closed:after {
178
+ content: '+';
179
+ }
180
+
181
+ #outliner .option {
182
+
183
+ border: 1px solid transparent;
184
+
185
+ }
186
+
187
+ #outliner .option.drag {
188
+
189
+ border: 1px dashed #999;
190
+
191
+ }
192
+
193
+ #outliner .option.dragTop {
194
+
195
+ border-top: 1px dashed #999;
196
+
197
+ }
198
+
199
+ #outliner .option.dragBottom {
200
+
201
+ border-bottom: 1px dashed #999;
202
+
203
+ }
204
+
205
+ #outliner .type {
206
+ display: inline-block;
207
+ width: 14px;
208
+ height: 14px;
209
+ color: #ddd;
210
+ text-align: center;
211
+ }
212
+
213
+ #outliner .type:after {
214
+ content: '●';
215
+ }
216
+
217
+ /* */
218
+
219
+ #outliner .Scene {
220
+ color: #8888dd;
221
+ }
222
+
223
+ #outliner .Camera {
224
+ color: #dd8888;
225
+ }
226
+
227
+ #outliner .Light {
228
+ color: #dddd88;
229
+ }
230
+
231
+ /* */
232
+
233
+ #outliner .Object3D {
234
+ color: #aaaaee;
235
+ }
236
+
237
+ #outliner .Mesh {
238
+ color: #8888ee;
239
+ }
240
+
241
+ #outliner .Line {
242
+ color: #88ee88;
243
+ }
244
+
245
+ #outliner .LineSegments {
246
+ color: #88ee88;
247
+ }
248
+
249
+ #outliner .Points {
250
+ color: #ee8888;
251
+ }
252
+
253
+ /* */
254
+
255
+ #outliner .Geometry {
256
+ color: #aaeeaa;
257
+ }
258
+
259
+ #outliner .Material {
260
+ color: #eeaaee;
261
+ }
262
+
263
+ /* */
264
+
265
+ #outliner .Script:after {
266
+ content: '◎'
267
+ }
268
+
269
+ /* */
270
+
271
+ .Button {
272
+ color: #555;
273
+ background-color: #ddd;
274
+ border: 0px;
275
+ margin: 0px; /* GNOME Web */
276
+ padding: 5px 8px;
277
+ font-size: 12px;
278
+ text-transform: uppercase;
279
+ cursor: pointer;
280
+ outline: none;
281
+ }
282
+
283
+ .Button:hover {
284
+ background-color: #fff;
285
+ }
286
+
287
+ .Button.selected {
288
+ background-color: #fff;
289
+ }
290
+
291
+ .Input, .TextArea {
292
+ border: 1px solid transparent;
293
+ color: #444;
294
+ }
295
+
296
+ .Input.Number {
297
+ color: #08f!important;
298
+ font-size: 12px;
299
+ border: 0px;
300
+ padding: 2px;
301
+ }
302
+
303
+ .Select {
304
+ color: #666;
305
+ background-color: #ddd;
306
+ border: 3px solid #ddd;
307
+ border-radius: 4px;
308
+ text-transform: uppercase;
309
+ cursor: pointer;
310
+ outline: none;
311
+ }
312
+
313
+ .Select:hover {
314
+ background-color: #fff;
315
+ }
316
+
317
+ /* UI */
318
+
319
+ #resizer {
320
+ position: absolute;
321
+ z-index: 2; /* Above #sidebar */
322
+ top: 36px;
323
+ right: 350px;
324
+ width: 5px;
325
+ bottom: 0px;
326
+ transform: translatex(2.5px);
327
+ cursor: col-resize;
328
+ }
329
+
330
+ #resizer:hover {
331
+ background-color: #08f8;
332
+ transition-property: background-color;
333
+ transition-delay: 0.1s;
334
+ transition-duration: 0.2s;
335
+ }
336
+
337
+ #resizer:active {
338
+ background-color: #08f;
339
+ }
340
+
341
+ #viewport {
342
+ position: absolute;
343
+ top: 36px;
344
+ left: 0;
345
+ right: 350px;
346
+ bottom: 36px;
347
+ }
348
+
349
+ #viewport .Text {
350
+ text-shadow: 1px 1px 0 rgba(0,0,0,0.25);
351
+ pointer-events: none;
352
+ }
353
+
354
+ #animation {
355
+ position: absolute;
356
+ left: 0;
357
+ right: 350px;
358
+ bottom: 0;
359
+ height: 36px;
360
+ background: #eee;
361
+ border-top: 1px solid #ccc;
362
+ display: none;
363
+ flex-direction: row;
364
+ }
365
+
366
+ #animation .Panel {
367
+ color: #888;
368
+ }
369
+
370
+ #animation input[type="range"] {
371
+ accent-color: #08f;
372
+ }
373
+
374
+ #animation-resizer {
375
+ position: absolute;
376
+ left: 0;
377
+ right: 350px;
378
+ bottom: 36px;
379
+ height: 5px;
380
+ transform: translateY(2.5px);
381
+ cursor: row-resize;
382
+ z-index: 2;
383
+ }
384
+
385
+ #animation-resizer:hover {
386
+ background-color: #08f8;
387
+ transition-property: background-color;
388
+ transition-delay: 0.1s;
389
+ transition-duration: 0.2s;
390
+ }
391
+
392
+ #animation-resizer:active {
393
+ background-color: #08f;
394
+ }
395
+
396
+ #script {
397
+ position: absolute;
398
+ top: 36px;
399
+ left: 0;
400
+ right: 350px;
401
+ bottom: 0;
402
+ opacity: 0.9;
403
+ }
404
+
405
+ #player {
406
+ position: absolute;
407
+ top: 36px;
408
+ left: 0;
409
+ right: 350px;
410
+ bottom: 0;
411
+ }
412
+
413
+ #menubar {
414
+ position: absolute;
415
+ width: 100%;
416
+ height: 36px;
417
+ background: #eee;
418
+ padding: 0;
419
+ margin: 0;
420
+ right: 0;
421
+ top: 0;
422
+ }
423
+
424
+ #menubar .menu {
425
+ float: left;
426
+ cursor: pointer;
427
+ padding-right: 8px;
428
+ }
429
+
430
+ #menubar .menu.right {
431
+ float: right;
432
+ cursor: auto;
433
+ padding-right: 0;
434
+ text-align: right;
435
+ }
436
+
437
+ #menubar .menu .title {
438
+ display: inline-block;
439
+ color: #888;
440
+ margin: 0;
441
+ padding: 10px;
442
+ line-height: 16px;
443
+ }
444
+
445
+ #menubar .menu .key {
446
+ position: absolute;
447
+ right: 10px;
448
+ color: #ccc;
449
+ border: 1px solid #ccc;
450
+ border-radius: 4px;
451
+ font-size: 9px;
452
+ line-height: normal;
453
+ padding: 2px 4px;
454
+ right: 10px;
455
+ pointer-events: none;
456
+ }
457
+
458
+ #menubar .menu .options {
459
+ position: fixed;
460
+ z-index: 1; /* higher than resizer */
461
+ display: none;
462
+ padding: 5px 0;
463
+ background: #eee;
464
+ min-width: 150px;
465
+ max-height: calc(100vh - 80px);
466
+ overflow: auto;
467
+ }
468
+
469
+ #menubar .menu:hover .options {
470
+ display: block;
471
+ box-shadow: 0 10px 10px -5px #00000033;
472
+ }
473
+
474
+ #menubar .menu .options hr {
475
+ border-color: #ddd;
476
+ }
477
+
478
+ #menubar .menu .options .option {
479
+ color: #666;
480
+ background-color: transparent;
481
+ padding: 5px 10px;
482
+ line-height: 25px;
483
+ margin: 0 !important;
484
+ }
485
+
486
+ #menubar .menu .options .option:hover {
487
+ color: #fff;
488
+ background-color: #08f;
489
+ }
490
+
491
+ #menubar .menu .options .option:not(.submenu-title):active {
492
+ color: #666;
493
+ background: transparent;
494
+ }
495
+
496
+ #menubar .menu .options .option.toggle::before {
497
+
498
+ content: ' ';
499
+ display: inline-block;
500
+ width: 16px;
501
+
502
+ }
503
+
504
+ #menubar .menu .options .option.toggle-on::before {
505
+
506
+ content: '✔';
507
+ font-size: 12px;
508
+
509
+ }
510
+
511
+ #menubar .submenu-title::after {
512
+ content: '⏵';
513
+ float: right;
514
+ }
515
+
516
+ #menubar .menu .options .inactive {
517
+ color: #bbb;
518
+ background-color: transparent;
519
+ padding: 5px 10px;
520
+ line-height: 25px;
521
+ margin: 0 !important;
522
+ cursor: not-allowed;
523
+ }
524
+
525
+
526
+
527
+ #sidebar {
528
+ position: absolute;
529
+ right: 0;
530
+ top: 36px;
531
+ bottom: 0;
532
+ width: 350px;
533
+ background: #eee;
534
+ overflow: auto;
535
+ overflow-x: hidden;
536
+ }
537
+
538
+ #sidebar .Panel {
539
+ color: #888;
540
+ padding: 10px;
541
+ border-top: 1px solid #ccc;
542
+ }
543
+
544
+ #sidebar .Panel.collapsed {
545
+ margin-bottom: 0;
546
+ }
547
+
548
+ #sidebar .Row {
549
+ display: flex;
550
+ align-items: center;
551
+ min-height: 24px;
552
+ margin-bottom: 10px;
553
+ }
554
+
555
+ #sidebar .Row .Label {
556
+
557
+ width: 120px;
558
+
559
+ }
560
+
561
+ #tabs {
562
+ background-color: #ddd;
563
+ border-top: 1px solid #ccc;
564
+ }
565
+
566
+ #tabs span {
567
+ color: #aaa;
568
+ border-right: 1px solid #ccc;
569
+ padding: 10px;
570
+ }
571
+
572
+ #tabs span.selected {
573
+ color: #888;
574
+ background-color: #eee;
575
+ }
576
+
577
+ #toolbar {
578
+ position: absolute;
579
+ left: calc(50% - 175px);
580
+ transform: translateX(-50%);
581
+ bottom: 56px;
582
+ height: 32px;
583
+ background: #eee;
584
+ text-align: center;
585
+ display: flex;
586
+ align-items: center;
587
+ gap: 2px;
588
+ border-radius: 6px;
589
+ border: 3px solid #eee;
590
+ overflow: hidden;
591
+ }
592
+
593
+ #toolbar .Button, #toolbar .Input {
594
+ height: 32px;
595
+ border-radius: 4px;
596
+ display: flex;
597
+ align-items: center;
598
+ justify-content: center;
599
+ }
600
+
601
+ #toolbar .Button img {
602
+ width: 16px;
603
+ opacity: 0.5;
604
+ }
605
+
606
+ .Outliner {
607
+ color: #444;
608
+ background-color: #fff;
609
+ padding: 0;
610
+ width: 100%;
611
+ height: 180px;
612
+ font-size: 12px;
613
+ cursor: default;
614
+ overflow: auto;
615
+ resize: vertical;
616
+ outline: none !important;
617
+ }
618
+
619
+ .Outliner .option {
620
+ padding: 4px;
621
+ color: #666;
622
+ white-space: nowrap;
623
+ }
624
+
625
+ .Outliner .option:hover {
626
+ background-color: rgba(0,0,0,0.02);
627
+ }
628
+
629
+ .Outliner .option.active {
630
+ background-color: rgba(0,0,0,0.04);
631
+ }
632
+
633
+
634
+ .TabbedPanel .Tabs {
635
+ background-color: #ddd;
636
+ border-top: 1px solid #ccc;
637
+ }
638
+
639
+ .TabbedPanel .Tab {
640
+ color: #aaa;
641
+ border-right: 1px solid #ccc;
642
+ }
643
+
644
+ .TabbedPanel .Tab.selected {
645
+ color: #888;
646
+ background-color: #eee;
647
+ }
648
+
649
+ .Listbox {
650
+ color: #444;
651
+ background-color: #fff;
652
+ }
653
+
654
+ .Panel {
655
+ color: #888;
656
+ }
657
+
658
+ /* */
659
+
660
+ @media all and ( max-width: 600px ) {
661
+
662
+ #resizer {
663
+ display: none;
664
+ }
665
+
666
+ #animation-resizer {
667
+ display: none;
668
+ }
669
+
670
+ #menubar .menu .options {
671
+ max-height: calc(100% - 80px);
672
+ }
673
+
674
+ #menubar .menu.right {
675
+ display: none;
676
+ }
677
+
678
+ #viewport {
679
+ left: 0;
680
+ right: 0;
681
+ top: 36px;
682
+ height: calc(100% - 356px);
683
+ }
684
+
685
+ #script {
686
+ left: 0;
687
+ right: 0;
688
+ top: 36px;
689
+ height: calc(100% - 356px);
690
+ }
691
+
692
+ #player {
693
+ left: 0;
694
+ right: 0;
695
+ top: 36px;
696
+ height: calc(100% - 356px);
697
+ }
698
+
699
+ #sidebar {
700
+ left: 0;
701
+ width: 100%;
702
+ top: calc(100% - 320px);
703
+ bottom: 0;
704
+ }
705
+
706
+ #toolbar {
707
+ left: 50%;
708
+ transform: translateX(-50%);
709
+ bottom: 330px;
710
+ }
711
+
712
+ #animation {
713
+ display: none !important;
714
+ }
715
+
716
+ }
717
+
718
+ /* DARK MODE */
719
+
720
+ @media ( prefers-color-scheme: dark ) {
721
+
722
+ .Button {
723
+ color: #aaa;
724
+ background-color: #222;
725
+ }
726
+
727
+ .Button:hover {
728
+ color: #ccc;
729
+ background-color: #444;
730
+ }
731
+
732
+ .Button.selected {
733
+ color: #fff;
734
+ background-color: #08f;
735
+ }
736
+
737
+ .Input, .TextArea {
738
+ background-color: #222;
739
+ border: 1px solid transparent;
740
+ color: #888;
741
+ }
742
+
743
+ .Select {
744
+ color: #aaa;
745
+ background-color: #222;
746
+ border-color: #222;
747
+ }
748
+
749
+ .Select:hover {
750
+ color: #ccc;
751
+ background-color: #444;
752
+ }
753
+
754
+ /* UI */
755
+
756
+ #menubar {
757
+ background: #111;
758
+ }
759
+
760
+ #menubar .menu .key {
761
+ color: #444;
762
+ border-color: #444;
763
+ }
764
+
765
+ #menubar .menu .options {
766
+ background: #111;
767
+ }
768
+
769
+ #menubar .menu .options hr {
770
+ border-color: #222;
771
+ }
772
+
773
+ #menubar .menu .options .option {
774
+ color: #888;
775
+ }
776
+
777
+ #menubar .menu .options .inactive {
778
+ color: #444;
779
+ }
780
+
781
+ #sidebar {
782
+ background-color: #111;
783
+ }
784
+
785
+ #sidebar .Panel {
786
+ border-top: 1px solid #222;
787
+ }
788
+
789
+ #sidebar .Panel.Material canvas {
790
+ border: solid 1px #5A5A5A;
791
+ }
792
+
793
+ #animation {
794
+ background-color: #111;
795
+ border-top: 1px solid #222;
796
+ }
797
+
798
+ #animation .Panel {
799
+ border-bottom: 1px solid #222;
800
+ }
801
+
802
+ #animation .timeline-container {
803
+ background: rgba(255, 255, 255, 0.05);
804
+ }
805
+
806
+ #tabs {
807
+ background-color: #1b1b1b;
808
+ border-top: 1px solid #222;
809
+ }
810
+
811
+ #tabs span {
812
+ color: #555;
813
+ border-right: 1px solid #222;
814
+ }
815
+
816
+ #tabs span.selected {
817
+ background-color: #111;
818
+ }
819
+
820
+ #toolbar {
821
+ background-color: #111;
822
+ border-color: #111;
823
+ }
824
+
825
+ #toolbar img {
826
+ filter: invert(1);
827
+ }
828
+
829
+ .Outliner {
830
+ background: #222;
831
+ }
832
+
833
+ .Outliner .option {
834
+ color: #999;
835
+ }
836
+
837
+ .Outliner .option:hover {
838
+ background-color: rgba(21,60,94,0.5);
839
+ }
840
+
841
+ .Outliner .option.active {
842
+ background-color: rgba(21,60,94,1);
843
+ }
844
+
845
+ .TabbedPanel .Tabs {
846
+ background-color: #1b1b1b;
847
+ border-top: 1px solid #222;
848
+ }
849
+
850
+ .TabbedPanel .Tabs::-webkit-scrollbar {
851
+ background: #111;
852
+ }
853
+
854
+ .TabbedPanel .Tab {
855
+ color: #555;
856
+ border-right: 1px solid #222;
857
+ }
858
+
859
+ .TabbedPanel .Tab.selected {
860
+ color: #888;
861
+ background-color: #111;
862
+ }
863
+
864
+ .Listbox {
865
+ color: #888;
866
+ background: #222;
867
+ }
868
+
869
+ .Listbox .ListboxItem:hover {
870
+ background-color: rgba(21,60,94,0.5);
871
+ }
872
+
873
+ .Listbox .ListboxItem.active {
874
+ background-color: rgba(21,60,94,1);
875
+ }
876
+
877
+ }
878
+
879
+ /* Dialog */
880
+
881
+ .Dialog {
882
+ position: fixed;
883
+ top: 0;
884
+ left: 0;
885
+ right: 0;
886
+ bottom: 0;
887
+ z-index: 100;
888
+ display: flex;
889
+ align-items: center;
890
+ justify-content: center;
891
+ }
892
+
893
+ .Dialog-background {
894
+ position: absolute;
895
+ top: 0;
896
+ left: 0;
897
+ right: 0;
898
+ bottom: 0;
899
+ background: rgba(0, 0, 0, 0.5);
900
+ }
901
+
902
+ .Dialog-content {
903
+ position: relative;
904
+ background: #eee;
905
+ min-width: 300px;
906
+ max-width: 90%;
907
+ max-height: 90%;
908
+ overflow: auto;
909
+ }
910
+
911
+ .Dialog-title {
912
+ padding: 10px 15px;
913
+ color: #666;
914
+ text-transform: uppercase;
915
+ }
916
+
917
+ .Dialog-body {
918
+ padding: 15px;
919
+ }
920
+
921
+ .Dialog-body .Row {
922
+ display: flex;
923
+ align-items: center;
924
+ min-height: 24px;
925
+ margin-bottom: 10px;
926
+ }
927
+
928
+ .Dialog-body .Row .Label {
929
+ width: 120px;
930
+ color: #888;
931
+ }
932
+
933
+ .Dialog-buttons {
934
+ display: flex;
935
+ justify-content: flex-end;
936
+ margin-top: 15px;
937
+ }
938
+
939
+ .TextureParametersDialog-content {
940
+ min-width: 480px;
941
+ }
942
+
943
+ .TextureParametersDialog-split {
944
+ display: flex;
945
+ gap: 20px;
946
+ }
947
+
948
+ .TextureParametersDialog-preview {
949
+ flex: 0 0 auto;
950
+ }
951
+
952
+ .TextureParametersDialog-preview canvas {
953
+ border: 1px solid #888;
954
+ background: #000;
955
+ display: block;
956
+ max-width: 100%;
957
+ height: auto;
958
+ }
959
+
960
+ .TextureParametersDialog-form {
961
+ flex: 1 1 auto;
962
+ min-width: 0;
963
+ }
964
+
965
+ @media all and ( max-width: 600px ) {
966
+
967
+ .TextureParametersDialog-content {
968
+ min-width: 0;
969
+ width: 90vw;
970
+ }
971
+
972
+ .TextureParametersDialog-split {
973
+ flex-direction: column;
974
+ }
975
+
976
+ .TextureParametersDialog-preview {
977
+ align-self: center;
978
+ max-width: 100%;
979
+ }
980
+
981
+ }
982
+
983
+ .TextureParametersDialog-groupHeading {
984
+ margin: 12px 0 6px;
985
+ padding-bottom: 2px;
986
+ border-bottom: 1px solid #ccc;
987
+ font-weight: bold;
988
+ text-transform: uppercase;
989
+ font-size: 11px;
990
+ color: #666;
991
+ }
992
+
993
+ .TextureParametersDialog-groupHeading:first-child {
994
+ margin-top: 0;
995
+ }
996
+
997
+ @media ( prefers-color-scheme: dark ) {
998
+
999
+ .TextureParametersDialog-groupHeading {
1000
+ border-bottom-color: #444;
1001
+ color: #888;
1002
+ }
1003
+
1004
+ }
1005
+
1006
+ .TextureSettingsButton {
1007
+ padding: 0 4px;
1008
+ line-height: 16px;
1009
+ }
1010
+
1011
+ @media ( prefers-color-scheme: dark ) {
1012
+
1013
+ .Dialog-content {
1014
+ background: #111;
1015
+ }
1016
+
1017
+ .Dialog-title {
1018
+ color: #888;
1019
+ }
1020
+
1021
+
1022
+
1023
+ }
1024
+
1025
+ /* Temporary Chrome fix (#24794) */
1026
+
1027
+ [draggable="true"] {
1028
+ transform: translate(0, 0);
1029
+ z-index: 0;
1030
+ }