From 3c4e073874679c911189eb381687454f46deac01 Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Fri, 28 Feb 2020 23:52:24 -0500 Subject: [PATCH] Properties Editor using tabs Properties Editor using tabs instead of collapsible sections to avoid painful scrolling. --- .../html/entityProperties.html | 21 +- .../html/js/entityProperties.js | 261 +++++++++++------- .../entityProperties/html/tabs/base.png | Bin 0 -> 671 bytes .../entityProperties/html/tabs/behavior.png | Bin 0 -> 754 bytes .../entityProperties/html/tabs/collision.png | Bin 0 -> 693 bytes .../entityProperties/html/tabs/grid.png | Bin 0 -> 711 bytes .../entityProperties/html/tabs/image.png | Bin 0 -> 707 bytes .../entityProperties/html/tabs/light.png | Bin 0 -> 811 bytes .../entityProperties/html/tabs/material.png | Bin 0 -> 445 bytes .../entityProperties/html/tabs/model.png | Bin 0 -> 902 bytes .../entityProperties/html/tabs/particles.png | Bin 0 -> 770 bytes .../html/tabs/particles_acceleration.png | Bin 0 -> 914 bytes .../html/tabs/particles_alpha.png | Bin 0 -> 891 bytes .../html/tabs/particles_color.png | Bin 0 -> 1753 bytes .../html/tabs/particles_constraints.png | Bin 0 -> 1049 bytes .../html/tabs/particles_emit.png | Bin 0 -> 915 bytes .../html/tabs/particles_size.png | Bin 0 -> 757 bytes .../html/tabs/particles_spin.png | Bin 0 -> 772 bytes .../entityProperties/html/tabs/physics.png | Bin 0 -> 719 bytes .../entityProperties/html/tabs/shape.png | Bin 0 -> 815 bytes .../entityProperties/html/tabs/spatial.png | Bin 0 -> 692 bytes .../entityProperties/html/tabs/tabs.css | 53 ++++ .../entityProperties/html/tabs/text.png | Bin 0 -> 567 bytes .../create/entityProperties/html/tabs/web.png | Bin 0 -> 835 bytes .../entityProperties/html/tabs/zone.png | Bin 0 -> 552 bytes .../html/tabs/zone_ambient_light.png | Bin 0 -> 1549 bytes .../html/tabs/zone_avatar_priority.png | Bin 0 -> 784 bytes .../entityProperties/html/tabs/zone_bloom.png | Bin 0 -> 767 bytes .../entityProperties/html/tabs/zone_haze.png | Bin 0 -> 594 bytes .../html/tabs/zone_key_light.png | Bin 0 -> 947 bytes .../html/tabs/zone_skybox.png | Bin 0 -> 921 bytes 31 files changed, 241 insertions(+), 94 deletions(-) create mode 100644 scripts/system/create/entityProperties/html/tabs/base.png create mode 100644 scripts/system/create/entityProperties/html/tabs/behavior.png create mode 100644 scripts/system/create/entityProperties/html/tabs/collision.png create mode 100644 scripts/system/create/entityProperties/html/tabs/grid.png create mode 100644 scripts/system/create/entityProperties/html/tabs/image.png create mode 100644 scripts/system/create/entityProperties/html/tabs/light.png create mode 100644 scripts/system/create/entityProperties/html/tabs/material.png create mode 100644 scripts/system/create/entityProperties/html/tabs/model.png create mode 100644 scripts/system/create/entityProperties/html/tabs/particles.png create mode 100644 scripts/system/create/entityProperties/html/tabs/particles_acceleration.png create mode 100644 scripts/system/create/entityProperties/html/tabs/particles_alpha.png create mode 100644 scripts/system/create/entityProperties/html/tabs/particles_color.png create mode 100644 scripts/system/create/entityProperties/html/tabs/particles_constraints.png create mode 100644 scripts/system/create/entityProperties/html/tabs/particles_emit.png create mode 100644 scripts/system/create/entityProperties/html/tabs/particles_size.png create mode 100644 scripts/system/create/entityProperties/html/tabs/particles_spin.png create mode 100644 scripts/system/create/entityProperties/html/tabs/physics.png create mode 100644 scripts/system/create/entityProperties/html/tabs/shape.png create mode 100644 scripts/system/create/entityProperties/html/tabs/spatial.png create mode 100644 scripts/system/create/entityProperties/html/tabs/tabs.css create mode 100644 scripts/system/create/entityProperties/html/tabs/text.png create mode 100644 scripts/system/create/entityProperties/html/tabs/web.png create mode 100644 scripts/system/create/entityProperties/html/tabs/zone.png create mode 100644 scripts/system/create/entityProperties/html/tabs/zone_ambient_light.png create mode 100644 scripts/system/create/entityProperties/html/tabs/zone_avatar_priority.png create mode 100644 scripts/system/create/entityProperties/html/tabs/zone_bloom.png create mode 100644 scripts/system/create/entityProperties/html/tabs/zone_haze.png create mode 100644 scripts/system/create/entityProperties/html/tabs/zone_key_light.png create mode 100644 scripts/system/create/entityProperties/html/tabs/zone_skybox.png diff --git a/scripts/system/create/entityProperties/html/entityProperties.html b/scripts/system/create/entityProperties/html/entityProperties.html index 876e75ec35..241ddd1e75 100644 --- a/scripts/system/create/entityProperties/html/entityProperties.html +++ b/scripts/system/create/entityProperties/html/entityProperties.html @@ -1,4 +1,11 @@ + + + + + +
+
+
+
+ +
+
diff --git a/scripts/system/create/entityProperties/html/js/entityProperties.js b/scripts/system/create/entityProperties/html/js/entityProperties.js index e581fbd194..95f680b49b 100644 --- a/scripts/system/create/entityProperties/html/js/entityProperties.js +++ b/scripts/system/create/entityProperties/html/js/entityProperties.js @@ -1,3 +1,10 @@ +//VERSION 2.0 +// Modified by Alezia Kurdis on on 02/27/2020 +// for "Project Athena" +// +// Addition of a tab mechanism instead of collapsible sections to reduce the scrolling. +// +//VERSION 1.0 // entityProperties.js // // Created by Ryan Huffman on 13 Nov 2014 @@ -10,6 +17,8 @@ /* global alert, augmentSpinButtons, clearTimeout, console, document, Element, EventBridge, JSONEditor, openEventBridge, setTimeout, window, _, $ */ +var currentTab = "base"; + const DEGREES_TO_RADIANS = Math.PI / 180.0; const NO_SELECTION = ","; @@ -40,6 +49,7 @@ const PROPERTY_MULTI_DISPLAY_MODE = Object.freeze({ const GROUPS = [ { id: "base", + label: "ENTITY", properties: [ { label: NO_SELECTION, @@ -112,12 +122,12 @@ const GROUPS = [ lines: "Wireframe", }, propertyID: "primitiveMode", - }, + } ] }, { id: "shape", - addToGroup: "base", + label: "SHAPE", properties: [ { label: "Shape", @@ -132,12 +142,12 @@ const GROUPS = [ label: "Color", type: "color", propertyID: "color", - }, + } ] }, { id: "text", - addToGroup: "base", + label: "TEXT", properties: [ { label: "Text", @@ -220,12 +230,12 @@ const GROUPS = [ label: "Unlit", type: "bool", propertyID: "unlit", - }, + } ] }, { id: "zone", - addToGroup: "base", + label: "ZONE", properties: [ { label: "Shape Type", @@ -255,7 +265,13 @@ const GROUPS = [ label: "Filter", type: "string", propertyID: "filterURL", - }, + } + ] + }, + { + id: "zone_key_light", + label: "ZONE KEY LIGHT", + properties: [ { label: "Key Light", type: "dropdown", @@ -324,7 +340,13 @@ const GROUPS = [ decimals: 2, propertyID: "keyLight.shadowMaxDistance", showPropertyRule: { "keyLightMode": "enabled" }, - }, + } + ] + }, + { + id: "zone_skybox", + label: "ZONE SKYBOX", + properties: [ { label: "Skybox", type: "dropdown", @@ -342,7 +364,13 @@ const GROUPS = [ type: "string", propertyID: "skybox.url", showPropertyRule: { "skyboxMode": "enabled" }, - }, + } + ] + }, + { + id: "zone_ambient_light", + label: "ZONE AMBIENT LIGHT", + properties: [ { label: "Ambient Light", type: "dropdown", @@ -371,7 +399,13 @@ const GROUPS = [ className: "black", onClick: copySkyboxURLToAmbientURL } ], propertyID: "copyURLToAmbient", showPropertyRule: { "ambientLightMode": "enabled" }, - }, + } + ] + }, + { + id: "zone_haze", + label: "ZONE HAZE", + properties: [ { label: "Haze", type: "dropdown", @@ -454,7 +488,13 @@ const GROUPS = [ decimals: 0, propertyID: "haze.hazeGlareAngle", showPropertyRule: { "hazeMode": "enabled" }, - }, + } + ] + }, + { + id: "zone_bloom", + label: "ZONE BLOOM", + properties: [ { label: "Bloom", type: "dropdown", @@ -490,19 +530,24 @@ const GROUPS = [ decimals: 3, propertyID: "bloom.bloomSize", showPropertyRule: { "bloomMode": "enabled" }, - }, + } + ] + }, + { + id: "zone_avatar_priority", + label: "ZONE AVATAR PRIORITY", + properties: [ { label: "Avatar Priority", type: "dropdown", options: { inherit: "Inherit", crowd: "Crowd", hero: "Hero" }, propertyID: "avatarPriority", - }, - + } ] - }, + }, { id: "model", - addToGroup: "base", + label: "MODEL", properties: [ { label: "Model", @@ -587,12 +632,12 @@ const GROUPS = [ label: "Group Culled", type: "bool", propertyID: "groupCulled", - }, + } ] }, { id: "image", - addToGroup: "base", + label: "IMAGE", properties: [ { label: "Image", @@ -630,12 +675,12 @@ const GROUPS = [ label: "Keep Aspect Ratio", type: "bool", propertyID: "keepAspectRatio", - }, + } ] }, { id: "web", - addToGroup: "base", + label: "WEB", properties: [ { label: "Source", @@ -675,12 +720,12 @@ const GROUPS = [ type: "string", propertyID: "scriptURL", placeholder: "URL", - }, + } ] }, { id: "light", - addToGroup: "base", + label: "LIGHT", properties: [ { label: "Light Color", @@ -726,12 +771,12 @@ const GROUPS = [ step: 0.01, decimals: 2, propertyID: "cutoff", - }, + } ] }, { id: "material", - addToGroup: "base", + label: "MATERIAL", properties: [ { label: "Material URL", @@ -800,12 +845,12 @@ const GROUPS = [ label: "Material Repeat", type: "bool", propertyID: "materialRepeat", - }, + } ] }, { id: "grid", - addToGroup: "base", + label: "GRID", properties: [ { label: "Color", @@ -833,12 +878,12 @@ const GROUPS = [ step: 0.01, decimals: 2, propertyID: "minorGridEvery", - }, + } ] }, { id: "particles", - addToGroup: "base", + label: "PARTICLES", properties: [ { label: "Emit", @@ -864,13 +909,13 @@ const GROUPS = [ type: "texture", propertyID: "particleTextures", propertyName: "textures", // actual entity property name - }, + } ] }, { - id: "particles_emit", - label: "EMIT", - isMinor: true, + id: "particles_emit", + label: "PARTICLES EMIT", + //isMinor: true, properties: [ { label: "Emit Rate", @@ -937,13 +982,13 @@ const GROUPS = [ label: "Trails", type: "bool", propertyID: "emitterShouldTrail", - }, + } ] }, { - id: "particles_size", - label: "SIZE", - isMinor: true, + id: "particles_size", + label: "PARTICLES SIZE", + //isMinor: true, properties: [ { type: "triple", @@ -972,7 +1017,7 @@ const GROUPS = [ decimals: 2, propertyID: "radiusFinish", fallbackProperty: "particleRadius", - }, + } ] }, { @@ -981,13 +1026,13 @@ const GROUPS = [ step: 0.01, decimals: 2, propertyID: "radiusSpread", - }, + } ] }, { id: "particles_color", - label: "COLOR", - isMinor: true, + label: "PARTICLES COLOR", + //isMinor: true, properties: [ { type: "triple", @@ -1011,20 +1056,20 @@ const GROUPS = [ type: "color", propertyID: "colorFinish", fallbackProperty: "color", - }, + } ] }, { label: "Color Spread", type: "color", propertyID: "colorSpread", - }, + } ] }, { id: "particles_alpha", - label: "ALPHA", - isMinor: true, + label: "PARTICLES ALPHA", + //isMinor: true, properties: [ { type: "triple", @@ -1053,7 +1098,7 @@ const GROUPS = [ decimals: 3, propertyID: "alphaFinish", fallbackProperty: "alpha", - }, + } ] }, { @@ -1062,13 +1107,13 @@ const GROUPS = [ step: 0.001, decimals: 3, propertyID: "alphaSpread", - }, + } ] }, { id: "particles_acceleration", - label: "ACCELERATION", - isMinor: true, + label: "PARTICLES ACCELERATION", + //isMinor: true, properties: [ { label: "Emit Acceleration", @@ -1087,13 +1132,13 @@ const GROUPS = [ round: 100, subLabels: [ "x", "y", "z" ], propertyID: "accelerationSpread", - }, + } ] }, { id: "particles_spin", - label: "SPIN", - isMinor: true, + label: "PARTICLES SPIN", + //isMinor: true, properties: [ { type: "triple", @@ -1128,7 +1173,7 @@ const GROUPS = [ unit: "deg", propertyID: "spinFinish", fallbackProperty: "particleSpin", - }, + } ] }, { @@ -1144,13 +1189,13 @@ const GROUPS = [ label: "Rotate with Entity", type: "bool", propertyID: "rotateWithEntity", - }, + } ] }, { id: "particles_constraints", - label: "CONSTRAINTS", - isMinor: true, + label: "PARTICLES CONSTRAINTS", + //isMinor: true, properties: [ { type: "triple", @@ -1174,7 +1219,7 @@ const GROUPS = [ multiplier: DEGREES_TO_RADIANS, unit: "deg", propertyID: "polarFinish", - }, + } ], }, { @@ -1199,7 +1244,7 @@ const GROUPS = [ multiplier: DEGREES_TO_RADIANS, unit: "deg", propertyID: "azimuthFinish", - }, + } ] } ] @@ -1299,7 +1344,7 @@ const GROUPS = [ buttons: [ { id: "selection", label: "Selection to Grid", className: "black", onClick: moveSelectionToGrid }, { id: "all", label: "All to Grid", className: "black", onClick: moveAllToGrid } ], propertyID: "alignToGrid", - }, + } ] }, { @@ -1404,7 +1449,7 @@ const GROUPS = [ { id: "edit", label: "Edit as JSON", className: "blue", onClick: newJSONEditor }, { id: "save", label: "Save User Data", className: "black", onClick: saveUserData } ], propertyID: "userData", - }, + } ] }, { @@ -1469,7 +1514,7 @@ const GROUPS = [ label: "Dynamic", type: "bool", propertyID: "dynamic", - }, + } ] }, { @@ -1554,7 +1599,7 @@ const GROUPS = [ decimals: 4, unit: "m/s2", propertyID: "acceleration", - }, + } ] }, ]; @@ -1563,14 +1608,16 @@ const GROUPS_PER_TYPE = { None: [ 'base', 'spatial', 'behavior', 'collision', 'physics' ], Shape: [ 'base', 'shape', 'spatial', 'behavior', 'collision', 'physics' ], Text: [ 'base', 'text', 'spatial', 'behavior', 'collision', 'physics' ], - Zone: [ 'base', 'zone', 'spatial', 'behavior', 'physics' ], + Zone: [ 'base', 'zone', 'zone_key_light', 'zone_skybox', 'zone_ambient_light', 'zone_haze', + 'zone_bloom', 'zone_avatar_priority', 'spatial', 'behavior', 'physics' ], Model: [ 'base', 'model', 'spatial', 'behavior', 'collision', 'physics' ], Image: [ 'base', 'image', 'spatial', 'behavior', 'collision', 'physics' ], Web: [ 'base', 'web', 'spatial', 'behavior', 'collision', 'physics' ], Light: [ 'base', 'light', 'spatial', 'behavior', 'collision', 'physics' ], Material: [ 'base', 'material', 'spatial', 'behavior' ], ParticleEffect: [ 'base', 'particles', 'particles_emit', 'particles_size', 'particles_color', 'particles_alpha', - 'particles_acceleration', 'particles_spin', 'particles_constraints', 'spatial', 'behavior', 'physics' ], + 'particles_acceleration', 'particles_spin', 'particles_constraints', 'spatial', 'behavior', 'physics' ], + PolyLine: [ 'base', 'spatial', 'behavior', 'collision', 'physics' ], PolyLine: [ 'base', 'spatial', 'behavior', 'collision', 'physics' ], PolyVox: [ 'base', 'spatial', 'behavior', 'collision', 'physics' ], Grid: [ 'base', 'grid', 'spatial', 'behavior', 'physics' ], @@ -1842,9 +1889,15 @@ function resetServerScriptStatus() { function showGroupsForType(type) { if (type === "Box" || type === "Sphere") { showGroupsForTypes(["Shape"]); + showOnTheSamePage("Shape"); return; } + if (type === "None"){ + showGroupsForTypes(["None"]); + return; + } showGroupsForTypes([type]); + showOnTheSamePage(type); } function getGroupsForTypes(types) { @@ -1858,9 +1911,15 @@ function getGroupsForTypes(types) { function showGroupsForTypes(types) { Object.entries(elGroups).forEach(([groupKey, elGroup]) => { if (types.map(type => GROUPS_PER_TYPE[type].includes(groupKey)).every(function (hasGroup) { return hasGroup; })) { - elGroup.style.display = "block"; + elGroup.style.display = "none"; + if(types != "None"){ + document.getElementById("tab-" + groupKey).style.display = "block"; + }else{ + document.getElementById("tab-" + groupKey).style.display = "none"; + } } else { elGroup.style.display = "none"; + document.getElementById("tab-" + groupKey).style.display = "none"; } }); } @@ -3678,6 +3737,7 @@ function handleEntitySelectionUpdate(selections, isPropertiesToolUpdate) { const shownGroups = getGroupsForTypes(entityTypes); showGroupsForTypes(entityTypes); + showOnTheSamePage(entityTypes); const lockedMultiValue = getMultiplePropertyValue('locked'); @@ -3954,32 +4014,24 @@ function handleEntitySelectionUpdate(selections, isPropertiesToolUpdate) { function loaded() { openEventBridge(function() { - let elPropertiesList = document.getElementById("properties-list"); - + let elPropertiesList = document.getElementById("properties-pages"); + let tabs = ""; + GROUPS.forEach(function(group) { let elGroup; - if (group.addToGroup !== undefined) { - let fieldset = document.getElementById("properties-" + group.addToGroup); - elGroup = document.createElement('div'); - fieldset.appendChild(elGroup); - } else { - elGroup = document.createElement('div'); - elGroup.className = 'section ' + (group.isMinor ? "minor" : "major"); - elGroup.setAttribute("id", "properties-" + group.id); - elPropertiesList.appendChild(elGroup); - } + elGroup = document.createElement('div'); + elGroup.className = 'section ' + "major"; + elGroup.setAttribute("id", "properties-" + group.id); + elPropertiesList.appendChild(elGroup); + + if (group.label !== undefined) { let elLegend = document.createElement('div'); - elLegend.className = "section-header"; - - elLegend.appendChild(createElementFromHTML(`
${group.label}
`)); - - let elSpan = document.createElement('span'); - elSpan.className = "collapse-icon"; - elSpan.innerText = "M"; - elLegend.appendChild(elSpan); - elGroup.appendChild(elLegend); + elLegend.className = "tab-section-header"; + elLegend.appendChild(createElementFromHTML(`
${group.label}
`)); + elGroup.appendChild(elLegend); + tabs = tabs +''; } group.properties.forEach(function(propertyData) { @@ -3991,7 +4043,7 @@ function loaded() { propertyElementID = propertyElementID.replace('.', '-'); let elContainer, elLabel; - + if (propertyData.replaceID === undefined) { // Create subheader, or create new property and append it. if (propertyType === "sub-header") { @@ -4108,9 +4160,6 @@ function loaded() { elGroups[group.id] = elGroup; }); - let minorSections = document.querySelectorAll(".section.minor"); - minorSections[minorSections.length - 1].className += " last"; - updateVisibleSpaceModeProperties(); if (window.EventBridge !== undefined) { @@ -4252,7 +4301,7 @@ function loaded() { elDiv.insertBefore(elStaticMaterialData, elMaterialData); elDiv.insertBefore(elMaterialDataEditor, elMaterialData); elDiv.insertBefore(elMaterialDataEditorStatus, elMaterialData); - + /* // Collapsible sections let elCollapsible = document.getElementsByClassName("collapse-icon"); @@ -4268,7 +4317,8 @@ function loaded() { let curCollapsibleElement = elCollapsible[collapseIndex]; curCollapsibleElement.addEventListener("click", toggleCollapsedEvent, true); } - + */ + // Textarea scrollbars let elTextareas = document.getElementsByTagName("TEXTAREA"); @@ -4422,12 +4472,17 @@ function loaded() { e.target.select(); }; } - + + document.getElementById("tabs").innerHTML = tabs; + bindAllNonJSONEditorElements(); showGroupsForType("None"); + showPage("base"); resetProperties(); - disableProperties(); + disableProperties(); + + }); augmentSpinButtons(); @@ -4442,3 +4497,23 @@ function loaded() { EventBridge.emitWebEvent(JSON.stringify({ type: 'propertiesPageReady' })); }, 1000); } + +function showOnTheSamePage(entityType) { + if(GROUPS_PER_TYPE[entityType].includes(currentTab) == false){ + currentTab = "base"; + } + showPage(currentTab); +} + +function showPage(id) { + currentTab = id; + Object.entries(elGroups).forEach(([groupKey, elGroup]) => { + if (groupKey == id) { + elGroup.style.display = "block"; + document.getElementById("tab-" + groupKey).style.backgroundColor = "#2E2E2E"; + } else { + elGroup.style.display = "none"; + document.getElementById("tab-" + groupKey).style.backgroundColor = "#404040"; + } + }); +} \ No newline at end of file diff --git a/scripts/system/create/entityProperties/html/tabs/base.png b/scripts/system/create/entityProperties/html/tabs/base.png new file mode 100644 index 0000000000000000000000000000000000000000..1eed920742a3aee17134a9773018882ee83ab0ff GIT binary patch literal 671 zcmWm4ZAcRV9Dwov-Oby%Ik{=(oNu=`nzhi`QYm$}wM-**T7fgfu>@a0Y}s^(N5IR(`0(EF%ylOY1|anV>{!QfxM6?1A66r^i@wLBJF9060Mzxu@?wBC1pw0t5I6*2 zwg7Ay0NZAOGcJJmrh)3&0su6w$e_Do|6&Oq9%?a8hLc69d5%Rwg`#~w=^&pqIsDlV zLRg$O!snrby~qj1#V6?~ich&D$@B7*9gYR*OH`{32n}j!U^S<264v$9*Jz)+!u=gFx*1tCbH*rNeoEea=$Tt`I51vZX6A4q>>%Z@kK`(PEa>Hl?ba~D#YxQ z$0FZ!*8!U_N>a?6V5Hi3FFIeA2^`>%eBrzPl^ib*P+|zFr`?!st0On9N5DS9tY@=q zfcTs<5705ZN_u-YrNOJc70H0byLOzMG`T42Lu1z_VP=(O2#vhrc+gXPmNZPM5 zcaK^v`}ijoC#ZJo0xlR$wL1w;4r5nnn#{iNzwe+lW0|o+-pDgKg0e<=t7LC4uC3Ji zFba^abe6XLPLBD0M5aVg;d2&#tPHayYWUGPgABdB#|HD+N}*(H*C1<4JIo`t7k2v>Bz#4w>ZJO2Z88RU%s literal 0 HcmV?d00001 diff --git a/scripts/system/create/entityProperties/html/tabs/behavior.png b/scripts/system/create/entityProperties/html/tabs/behavior.png new file mode 100644 index 0000000000000000000000000000000000000000..9201fbfb721790b6c5ad3ff7451a2d28b53e165a GIT binary patch literal 754 zcmXBKYe-XJ7y#h+oSmH=C)3Y{rfcMvX{MNIF1wNYrc-Azvx_k^axKtx)fJ_M+1Wxp zmV~5`n&5;kQeX)aB)7tCSig0H|_I#w`F4 zK8IrgV4{5e3;+a_nF@{o1ghsy(AqXPm=c580MK);^7rOO0Kj`pTg(6_VgUHl0KfbI z{3n2;NdTX%0Bf58=9iu?8pr~m?Kwunwu(`k&+pgEmQe(flRe?UppEJbwUEe2Yw>&5 zmW5~OJ8de#ubzAwNyb4`dtxYBkPAonzF=XUb7nOf0tbi6DerMy9Bb__!gm>|3eU>K zt!`-;D`*Bibw%Mcg;?96JVrY(^2?-9V~seka}z0kNlQhfEl_+06w^Dg0PUx}@%C@N z>e0kawz76cs_4wzl^1!E<#2<1I~fj8P3!ZmZUZU7j{dM5 z4vUW|&nvqE-h*~Jr#9>G5(1OACL)^>SzCnGz?``^LJkCpKRqV)@+A#EL=8m#3wm8M zsUra!qy4pmjf-@ycA^#w?Z~W%qd8m|mXvWaq(0jmhc42NXr1dr`mg0yCD6i~-jAWW zhxek^e2nd-d5Bta{(eUsQ`mA_lRf^JBG7}D?y0FO?r!bi3reqD% z@lK2O`E2c#nvnRa0AXc!1dYf{0zdWchH+4_AT@=eg{Jyq)_lTcsidXv87bOMp+X_b z-8)r?^d&${%6?p&xxruM@g+rQ^z|0$%VIPJj-@Ej$xt+RL4MY`I;6GB&~=QJ_Svts zC{#fQ!UW2p)#V29|A+f|ta69y5M^6vuiL8-uXcx@)0ULD`(?TLK#8X5?Q#OIALdiY X3R8urbTtLlZUBIs%v@tvy4Cd;>L3MH literal 0 HcmV?d00001 diff --git a/scripts/system/create/entityProperties/html/tabs/collision.png b/scripts/system/create/entityProperties/html/tabs/collision.png new file mode 100644 index 0000000000000000000000000000000000000000..c9bed393854c2317061ba781ab2baf502886420a GIT binary patch literal 693 zcmXAiZ%7ky0EXY2o4d5>wb|*W*srvu=}&t^ z3!cGhii16IFwl}3_X)xq$}M4^I=B}FcV(bNsiH@2v`ld$VVctuu1MjQ@hJ$;v8Ax= zC!_7LXJld~Zw{Lr!h9U*(Z2TQ9j|ur=}`r#MD|8$?XN(}Hs+qQhT@R2*_|Y*B}Z+; zlsAq1YF#?~uh#q0M>aLWdn7icoUo3^mH+J{;p64yg)}z98KWk=`H`TeYL!fISyw>b zj!0&0%as31UwY-;TAbt(<%;_FIM#7;XC4_{FRlr0 z5WZ9Aqr^p5ggQC*m=1-vT{l;vg#pTYkc@_2-NjrA7MoqZBx5QEH#0|fjz2734Xe4P zW6zD*eJW;?Y<@c#4N^*JqE)J7F-*2NM;FJBC~JJWUMUB6r}bHLlqVz3>Tr2NfZA7sk`PFfx#` z%r<$Sd@8^jZGD@a;~Z+yR@!Wol*wRu$L9!Uf7{Z--0$7f)*jxmPeS+!_v|(%+%>$c zd6G5U%9dUPWq2T~ati}(J>$t&^uy;fIdqj%SvG~HblRT2K?o0!M&S3C6ARAgnoIyN MXwGki|@P7%Wo@}n@P(xasZ&Sj0O_` z1nopg0bsE%bsYfws*J@o0E%5ZVbFDdN08^za?${t?G4`i4gf%>jiwxc`X~Ut8DL`@ zfL{Wz?g#i`21xD%2)ul!Y%~J^Pt7u<71%yneB0Ych**pToz4{mBr_2U6zVDghSfg@ z#Q!QDp~aW%xS!a@&Z)#V+>jQj`N7BF)b2Y9xFBh536~jy z!XrqKx*c^}FNQ*u)#2 zFDHza6nj#Tke9X*2RN1LyUrIWbJ_y-wD&)wghx&x&)^|QCZg}6o`;@m)%5=hDlTCx gOwQpv^bAP=lLC4CPd!J^W&;3Z9m_TJr<DbosK2XIqbPH zBJ8}(GB1mbgg?w5n)PFiN%Q`)QO}yi$S#|mxjE~P&wrngw|ucJDJ=HJ=0Fge7x$ zXM(a%(zcR+R#qHpsy(1J?cNKH$wz_(^s$2!+1Pg)OTVsjA=}|Bx1-lr>)Y5fzww*H*z^UaE^flKcmc+6one5CSu$YCkK{W0pPLpI(5$v*GuSzy@0#Up2 ztIz7t;pi8<)7QDpc);CC6f0fXUECl+REp9)h?J2*b#xod;44gC#O|ryk&f(p6pWVGP5pq3pJIkc_jlykV)8b-}|tPHl!JrTL(7f zE5(9Vm(gzNIhn!x`j?XKgHIBJ*^r6UI%N^5lG#)}oW7jB79ul9C1+NV2NHYX85*Q9 z!RXY()(sp*KuqT%Bgq4f4XOPHLo_zVXcOA=?SH(aG1>O!95@Es$IWV5a_7@Pbkv1q zr$yGGM<-G^>B~EXAnD^YZVYm3AnP&yMKToN> zcxp?_o<5>=09d W*Xq6BN9Mc-fYOq3_2$Cr{r>@Br}mQo literal 0 HcmV?d00001 diff --git a/scripts/system/create/entityProperties/html/tabs/light.png b/scripts/system/create/entityProperties/html/tabs/light.png new file mode 100644 index 0000000000000000000000000000000000000000..bed097d54efa5c90948c3b60e9502ccc0b94839f GIT binary patch literal 811 zcmV+`1JwM9P)z@;j(q!3lK=n!AY({UO#lFTB>(_`g8%^e{{R4h=>PzA zFaQARU;qF*m;eA5Z<1fdMgRZ;p-DtRRCwBA{Qv(y0|}rXh$VqI8i@ZAqX8g*SV%CO z5r}PpSRRPkfcQHxng9ZbiGeim7m68))c_Dc=oa_^aTy-H0ww@43z{4Va{@6h7I6?Rg6ds}EDjJr=!)2Zcs5jFEt;G*5PJc!HxL^D zF%yzp98}MCAQnW{2M|EmTmo|Wd?3z&^38yF=YLFa1c)7>Y9fGmJrE0_n+Fg;j0BQt zJP^+T;-5gg9Ei^Y@joEe2I2@H76Ia7AnwCu06+jS;0R9;wnK8M3Kn^3Al?X76N1Ye zfB?c}I5QBR1mdSaERM$!ph&+6#E)=AK0pBB(r5s6Ss9dX3B-y>@{&O83T1~u)dpfS z3m|}4pkb(il+GKWVGII?q4a!cuD1u`Pe8m0h&6#&6o?N%)ffWtdT2gUg^Jw+2q2Ix zSCLZ28zANZ;zTIl2cH8HhKbiJt=EXF$w~ zBsLN1T4QWx0R#}fWZDANn1LjA1e#*lp?q(sn)T4&!Y~IQfbdzs4a9q(2E-s)@EFQ= z0^)B#d=rReahU@UK=>?RfJPuFonM2x`Vf*2wgK^59GMV~0Ro7S1t2^Vi2nldc_97` z_0a_&{tiu5c=ZDW5DSsD-alwXa~z04g%>B3&jiK)aA^hzAYv?F2jVwCY==}$f@-v* zP>b*afB+)Kf?q%^0mPeu_y>|cBWUT0w>Sm}AYv?-4Q)wSLNgl!w8{keU@{>K00M}Z pNQPlhv2hw&w0Pr6_vjcPzyNIGDB#oJJ_rB+002ovPDHLkV1jqEENlP( literal 0 HcmV?d00001 diff --git a/scripts/system/create/entityProperties/html/tabs/material.png b/scripts/system/create/entityProperties/html/tabs/material.png new file mode 100644 index 0000000000000000000000000000000000000000..458c6bad48768ceb48a9104384e0668aa62a7b7d GIT binary patch literal 445 zcmeAS@N?(olHy`uVBq!ia0y~yV2}V|4mJh`h6m-gKNuJoI14-?iy0WWg+Z8+Vb&aw z3YK(7Uq=RpjeRx011B>uFeoH@1o<*BRH-sBG&D0X{QS?r(D0Ihq11qZ;Z*_ygVhWM z2J!q!@kiYl7#NK`T^vIyZYBNs|KFZjm(hV?qr=Oe4sZC6_^@1Qj`=*Bqgb->hk`&m z1B-z2754j$GnzSi*E`H=_`%Lt8suQZ-_gp*#PO^--X-b-YezrRM|-AMM;7*_F>olT zsjN2^cv+ex!xYXe;NZh!!p6YpQq0Z3)bUJ=fkoh~E(3?ctY`)Shb2)5c#hO}1bi1i z#=xNi#DQ+$aa}*XHaO!$YXS1P>go) z;rr{niWOvhh@*$2v5>Od*Gn#H=@mBZ biH9LQM#qjZ?@tZ`0|SGntDnm{r-UW|yn%$Q literal 0 HcmV?d00001 diff --git a/scripts/system/create/entityProperties/html/tabs/model.png b/scripts/system/create/entityProperties/html/tabs/model.png new file mode 100644 index 0000000000000000000000000000000000000000..79aa6b3830a79de2addaa77f6cc1b8fa529576ae GIT binary patch literal 902 zcmW-ge^8Tk9LGP;^X&J}X9!N#lE<3`>CzF8pfck-oP%k~67BRt!(lR&BkowbfasYL zJRDd4BGPHPVbMUbg@|s03Jj5lLX$P)=FmW7%m{HjZ*#56LiZe1y2n#H&mO{sAfcQUiXaI`6deoGuXcS}Xe7>V(D z*i{l>HazVmykG6lK!INCvO7}-y{c^qtBC=)mK=Seu`aUJpG7}&%=!`a%kWWvN5fgn8Vg;@SEuAD|-rW>I z%5G=e3-!h2xXka%XS%J~jN9gj~-cM{zLRW%@MOxBlC5d$6i3eAeP!#erMY zHg5@h`8b_@m0ffpry^QN-y}DH-n4EQsu( zOzCeYSmrLC>9~%jR9KFB)p+to28igvx<6VczUcA&D5HdW&uq(9HG-LbMDRnD;I;1S z30|pc-JnJgiM9_&kyXm)1xFrdf9R%On$Z)2!{c&`fw1SyegeV{&kuJB4gadIRdmJ2 aKxTm&?d?hP;?GmZ0_VC-_P*lEL;nGCU{_rL literal 0 HcmV?d00001 diff --git a/scripts/system/create/entityProperties/html/tabs/particles.png b/scripts/system/create/entityProperties/html/tabs/particles.png new file mode 100644 index 0000000000000000000000000000000000000000..6a0d47cacb7665e2553a63ceed9291712163d1fa GIT binary patch literal 770 zcmWlVe@u*F9KgTtbN9Yocir{0imt>X)gr?ozsvKUt1dZ|V~23gkJN0(S`$vaFNf!_ zX0gOj$3K3J`o|iUUoUHBbN+~!4cC@oMvUH)&hE2){`>s(39MXRY}BXf0l-*dx0M4x zN>rTy03Y_`s{jzY%f7Y-z>pY~gLCJjg|9Ua9 zq7DC}KA2K3*$uQSp7WGd=m9Y- zq*IVtCG{mS^UKUW*`*7-KuR?o7pvsT>ZbY4LKq({QW*Si=#s7E`i*w&aSfo|K4d#0?0Qwsp}z1q++J zmDZlMefp&mSo;~*F&BHSzlJS4+PlRbv&ORcv{B!f-uY;PpF_H{kA>R&>3A+RZqh54 zLfzXBUCRZ}evE9^jPa)Xhu%GiT3qd@O6AS zo=7aOcl^0^Cm(JjrX$%~iYkUVq?;;dop-dQIE&tBI}CZl=m5QpG}tF8@oa|pu%iO_aP-O!EEG{^h=|B@i{&d5eup7 zgoquP8D2a1-P$js86WrNi%$kpMuVOKN}_K)(2Hh}b3J*M1J@oZB1SYvN3u~JZ7nV9 zd=BK-@Gl^3^tu6&!=!x}Zq5n`b#0zu`ZKbPmR1wLQJkXX9r&?Q;z^rIsvz@P@l%CY zcd3g)B(&#SouoWAR-Ywqth&RmL;YaYp%qkQ4fn;h=&7Zz0wNQatd#5+ z+?^-9q7hetycxT?DyrF@-vbG==%eK(oW=6X2giNk-r!`03h&e;LsuFpX}ICYeqy1e z88U1X+sS@!rg$O5F*k?QVn?_)IJ)7?WuTbSv-;N33D}G8c0a1pwk|GqH3|t2B!NNK9dCKuZ)cchPDMwIedsXp3s5!Hj2j$*=_g`ewUuwk#KN&6 zcj)pz=CZkyt+wK!N;-KuR%o_lAu@5*5Fcwm^~OE3%G=Ab2$tS7RlDBTQrbn&dFHj)wz|eX_vnEzWcoTp0PF7 zX_UE20MOK1tL*@glS)nlz{oUGPW;>&OD2;p)Tx|8GTMTs1}aCJE0bQ3y8X3v=$1VVC_dIco{&rJ{E zgS1eIKdlZ)JwW(3ZFv!U@;L_~7NdmZnbGj!7$F)Br}WIYWnZ2=PDZ|Zt?##87(y+j zS-FL1-~_+cg5zmi4}atiDZY*F$XX8_z8R+k$HW0(@O*z4h;7K_kJj*Xop}x;wQ*+C z$kWe!LB$cp&L zc)_(|jOlbP+%=Fs?$p!E=Nx^a(J}49TEe}Y+vUE;PURnyz z1E}>z*3q$fBJfCrg+PYFm1EYQ}o8 zIPm=!cv1ZAME~}cI)wED43D^ zEANbwku!KrDV%;YP>3NkT$9I7cMa{W*eZ>Df)~#gr!jbC53R_ldfk)Hje}VCd6O?K zVb<@^HqXi^@nn1IvWt)hDfdgv?-osAlZ^dE2ks)Kv-VYBoDeE~9Jze&<0Sxq`kKb- IYZhnU{~O0lBLDyZ literal 0 HcmV?d00001 diff --git a/scripts/system/create/entityProperties/html/tabs/particles_color.png b/scripts/system/create/entityProperties/html/tabs/particles_color.png new file mode 100644 index 0000000000000000000000000000000000000000..ac66a902cf8fdd78547a53568b0788862bbe22a7 GIT binary patch literal 1753 zcmWlYeN@u-0>;0*h@haDTY$P`E47u57w?^E8CZJN@@>wXF7M%|lDN5&l}(%E53-1+ zrRJTI^9*N8J(~^8I%=9=_&QCjPB(kIfL`U6bKpx86!_iaAD{o8Kc4e>&T}axDVF5s z;|2gA#m7ab0syF+;Bf!|Lvf@P06-ANWu5}S-Fp)hXlUF_UO0Gwt5@CE`PLJk0>@G5WU9{}Kz2HsR_ENcY9)_0?ctvT+14)`d+RA$rKg!T9S}e*V><+f zM~`w0)wO(x&viL)tAPkmgV>+%NaQ5hUP(z9*_9gtSshE;wFrz*ot+&ly8v4txR}#| z1P2p|6A8rgfD2GZSa#Q$QtnI7!AIOiFvv!n_B^X_0f(8@DVp26PQ!NtxOT&r74|B z3tRcMeiuDT^{XVWBeD#;x(xTip8oS}IrTI<|I2TfOqNq%UGvwX#Q>cNZaIU<95Az+ zD_VBdA~C$RKV&nnZl6JgVlWGEdipzwPzBdV4Vz5QVAW!4H+BK(9t|8;b7)gHH(MM^ zN;!}IdS9Gjp+1>tR%WG`GCIDE@ZPHZ1cZjlbB?Ni`m?tE{%g+X&tK5W9OnNsr# zO@7YDxzNMi#|)2W^Q?DQIohXp)Z!>ye0e2(^rLarx+G!rT9^3(=?)yNI;rYMzsBO} zEyezNmdI(jWL!l^H>=Jh&z)V@j#_4drVNN`0+aA=rDkF>70o~R!IixYHIi|6YS9!H z!)J-mxF<)TzI~+wi_`aN1anB0df+=0T6W372-PkiVTrn1$AhzvK`y4d6$U(CJoM3& zC4>H;{Ax+}2XdM`K(b4GgAz6svH?2;-D{M0(h-_RlT7+>a2J&1g{;^6Ff#XNU! zQ03TCNS3*ixe1J(!j3*;2}B6KM<4T%=~3Iy+Vo1Io|~=tc}y%zOw(MS9Muq4p`oWR zk%HI-VoGZ}LOa0`xV+oEdFdi~Zup98ouF?b#a$Eb-L@RTOb|FXCWQ48ieOvm{WZn= zHWN=8z^Nu)T%VaO4oo2o05UiD0DJ?1bIvRwl-Xk8mtqv;0d;%c=I@#c^5JHahGF82 zCbgFE$3dJlRzvJEZg8YeI6}U#trdlq4XvK~pLvDoYmS`jZ-1~{^VYA~ZoMj$4Xe_ywSo;QktFQAVk8Po;LYc^3 zoo2w|L$xIs;;^l|n~W3OVQno!rK-Nb+|^{+g4(PCfTsthZ_UHqQEx36Ec=jWdtmi` zb)9R!DzWKss_@DwF5mTYp?|*ByZY($!`ooRE6l7nOY(TF<=p@^xGH%~(k9QF6%(+F z;G})dX02bMNEveHZ+vLInAq5mA#r)pYeHxqi5ue~oFWcKel&2NW8&YKlh2Zwvu$#Pz}Q6juCVsG`Le(g%z#>?er9Cg$iwdF{4 zgCEw3A~{`(!WZ<6Yd`Yb$7ivDZWv!IeRBjEv@t-p$7WYqJ|nz1nh+GK?~MG*I<|ad z$zNNT*MelJdytd=nS(peXnSwEDK6~C+Z^7|za7i9H5J#E5IDP^lYC^z>G$!cw(ybE s6=G>3lIpdLvS16N(zt+0?J*$ zYlR?Q3<(*7Y>=!W4o2oC8A)cX@r8-ZAxcK*8gnufuf&c(Y54Gbd%iu-@pR*El|rik z098tIVkQ7+){#>HFkiXT1pw}4$$1q3O7C?r=jyGKx`L)Uuk>68M=6PHR@JYZYi(`qE%d%Zn&Vw=bSZEL zQBf~N$eagzA&RpUpB;=kDt1c--*= zv#LJn1{j&?BE)9i1vg{Rkl&st+(ytBFq?)>#huaUDJ6OLSr;+K2s7p%+JXZvdTNaS z_6^(q1Nvl78atc%F&@J)8eTcEy-pmWY>cpg;ZKyQUrV z;>P)4m1X~Q?G{ouDY!I-?ERFZ21Nr#w&aE+3)+XIIQ~+&x7Df-@xNH# zAF_4eQV(;TJopMYYb?Xjgrf-MU|b~+36HUm$O5M0ZlvYEX&L7^aHtSEr;i35&#${z zAWu8@4P*8g)*-&D)knCol#L!V{EaD-tAk6U}|;ZDJE{c`scbQp53W! zSjg;lacDlq@N-bTvNuwN_`*0Bp;|OqW+wPRL!>+Qj%5`Q={+Wlqz~)NB$sXJs|3^N zEPJiN4)OF+emGy4@zaK$#Blj`-z4Te8*cjS4Yp#r0$p?upO{P7ry&f{?x2sMWrPi< z=dAsscbG7h)CpKaiLi~XWJgwt2b7O^yUMh;j16iJ(B2;JO?ebduMkc%x~-U$p)Hsg zgOPN#k@C&TvvAKd*PG7{z?DgoV>jt*&}kV*khHfc*C-VE)NInH2eeu@ufEy$$->SP zYDIS#dO(x|EVV>U`8lFiJDQZV9?EPj~__HYF=N%q|vMw8KkHWfdcKV-vRZ@hRUtR69QnZ~8 zXJBV0|GD~sD`B;LPjrQ5pu|HYi}#C~i>ft+W4zgt#ZPcCCHjK9Ezj|-WB#A}N=h;% z4l3{pQnDvL`EcJ_v|bc8F>NxTAK&E;0tPPhgPPAf)Zuu|77`KHOp#Uz2n@m^~&B}U$JKdo7Op(`pCmbg9rzja9vj%}DAK}n}y zG_mOZDpF4%lwISh?<+ul$}X)ur66DrsargeX9l;EJ@ACI8qxYXMh#-5Ib&*)2i5J7(Saws-MPn$I7g3AERYQJ1Fh zXsbf#!I@Iw18{dvM?@lQo*LN zCGOJax#{+Zu*670B#t7OTeP%|34{Io$_xsQaTfiYyQEqh$raQSNzd?)*I)1VU{k}6 ztW0MnfUIz+t{K3pWugVZ{IR!m0MbXH-A4gy?lKNzyW_N}Vt5tk`a zEVsuk7EvahCM{sHPA8F6=pNyFbN`!AvQw}4Pz)4+mqzv*fQ zD^&G2$k4fU76p+=+@|qquH)(RjMTA54hY0L@cAO2>Psv=m7H}YX^GJOsIva-8l~G+ zF{j%4?3?~ICq0`X%3a50kyRXZ@uz1cO!wbGaJ z;?G=awcH!}C0mW#G6|inzBKUQ-dvM&<(aQ()T}kumf`$Jx9pIAk!e`iri-)3J@q9Zjk4W5uTmB5selv!;wU7uu6KMIB`7 ze&SW$u2D`PZYwQ4XV(tLBk?~^xwIR>A;J zSreUKzntb>qg`(o9P*c(+~-;A0j~`*&)CAOMU)-Bx$#Q!EV9%3&7SZ?WdV5cX6zwd h4b~te4e$9U5X;f>qW-HA$ITc3gts-+U98z3`yaC=1g!u7 literal 0 HcmV?d00001 diff --git a/scripts/system/create/entityProperties/html/tabs/particles_spin.png b/scripts/system/create/entityProperties/html/tabs/particles_spin.png new file mode 100644 index 0000000000000000000000000000000000000000..32238ed8f33fe6a1fdbc6b654178712f1e3021f9 GIT binary patch literal 772 zcmWlWaZFTo0LQ<-$9s>1JK%R(a2So}abV1618o9w7tJgAf)g|sbPuGuo}sx?P#&ipxbnQh6YwF38aBZ(O|*E|++?f&@u_xb0u&p@E@ z<(%vl*#L5U4fR0)jx-h-z}@cWlK`^18eZE6SeK_EIPp>15O;a}9w2@s{O>Cx0F)gK zK|jz_3g|IlAqD6Ufc+J~Y%8!~3@GRv-gf0BKE1|nrcqq7 z(Dv*^4T$J`n33?TRrT#P$_oQKeOX_*86uV(rP+C_%h4>GwE^oCiI>rJk^2xVbM4Mo zPZrSc*vOx~yTglh!Fz?VWlz^E&XRs2x+eUOKg$&dRH|RDf*bv zb!ZKJYlpqNudUHRy+7*bJtD)Ujw(4+sGggV%>I-Xn+X*EF!>h}+L_<$ha3!-!b1Yj z)bBWcI<|$W#?|gHyK$6X6!=Z%&NH?}MF^I*N9||67_U(KCW>4)bNOf@d3Qa1)S9SS zeZ!_h(8f;v`n0@6w8CMt$(?`SzR8u&z7R>0;j+NN%h6B2TxMK!ezrjPdwgf34xt=< znw!=N@#5$9#DdpWely=Jg=%+iBFDyW4_s#;hdWM6^zHtM`DcRez+oa-wvG$sj$HPR zeK5VRBYJB{J($7$>}U z;n7t~w_kjUzW+h9#9(jPGLi$qhBxc_pRB0br2&A?+gN|Dt~L5UWwj6P literal 0 HcmV?d00001 diff --git a/scripts/system/create/entityProperties/html/tabs/physics.png b/scripts/system/create/entityProperties/html/tabs/physics.png new file mode 100644 index 0000000000000000000000000000000000000000..f0fc451d37067de6e77a17d0da65f274bb85973e GIT binary patch literal 719 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 literal 0 HcmV?d00001 diff --git a/scripts/system/create/entityProperties/html/tabs/web.png b/scripts/system/create/entityProperties/html/tabs/web.png new file mode 100644 index 0000000000000000000000000000000000000000..c1fc5736193f968574eb64a4827c14dfd181ad0c GIT binary patch literal 835 zcmWmBZA=?=9KiA4J@k6C^!lHr<-tz>Gh4EB6d3@(j{;CWBzHgQUD;U0Z2Ci`gQ;;cK|$f8X&(r)E=(`pg(ificJH*c>dG0YNmuDP+FQS z02Ue11;(StOZdm!1NMb#UnZA8DINIJ8oXjw_ehxv^l44W8r^)AQNL7*QqCUvA*4|} z4(hi1Mute3R_hv8U09H&x~kAi)T9Ho56#Ro7o9h9RR>TiL_xkszjAkwPYJ3=+du^Q zqo-%@h{ycSSdRP~!y@BPjxIdMskeNYZDh?jo09#~`v{Y>8C{4t#xB4Kd5aGFt9$%LRzk=VwuWg^H&mrniDaC{~h zFkxwbaCqd8$#XDagDmKl$ zyrIEcAnV3;2g=X|f2)Dk2uonRt;brld5px&^7p=PEwXvL_*nY6$kh2H{mw@D48774 z={_0!9k8@N`RHYxyHOkGqGG(ernjv4<}AHpj0{wxK)wHP=MLYi*}TQHp2xOJnE}Dn z8`RxW#6`iX_iZ6w!^Z-|zp-K4o68z^jTvPm@QAm+t1e!H(7ATy#k}0>0gne#l@j=y zpR^}myFWTyKAV%LuJ41B6BEjA$4)BpdZh`GkxO08z@kK(6(|lyJ67MDubVps0N~oa KxAv2o4*&lh4>h9z literal 0 HcmV?d00001 diff --git a/scripts/system/create/entityProperties/html/tabs/zone.png b/scripts/system/create/entityProperties/html/tabs/zone.png new file mode 100644 index 0000000000000000000000000000000000000000..276ba2679991e820a961fabdcd89d804c48499ec GIT binary patch literal 552 zcmWm8Pe_wt0LSs)^S&#y1gK*`HV3G` zfPrdY%Lkl%3LLocxbtHpKxW-e$N5_u{!A{HJI(&-;`PCGeW)b7d)6M+RBAui<`dS2 zbR?KD(Gh-HPnDyxEUzk2F=W8bfGA-lE5Aoyuf=(W~ctUkxoIeVl?|U{4<} zaLv6m4{}+7sl|>ZGO*JnZgH(_O)If+jT{j`;zFER605PmxS<1_wEx0;wRTeMOYskQ z6?Qm iTC`7++~!5^LKBFHM&r`#yRZF20N_5;;+$*njs6E|&akNf literal 0 HcmV?d00001 diff --git a/scripts/system/create/entityProperties/html/tabs/zone_ambient_light.png b/scripts/system/create/entityProperties/html/tabs/zone_ambient_light.png new file mode 100644 index 0000000000000000000000000000000000000000..ff01b16aaf0baa4fc791c8d79b741088f5e22a37 GIT binary patch literal 1549 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 literal 0 HcmV?d00001 diff --git a/scripts/system/create/entityProperties/html/tabs/zone_haze.png b/scripts/system/create/entityProperties/html/tabs/zone_haze.png new file mode 100644 index 0000000000000000000000000000000000000000..0cf96692f834c6830fce76295e73b676ec5f03e4 GIT binary patch literal 594 zcmWm4T}V@500!XqoU^n4xnts-v-G?02h5>nkr?VXb*Z4{%t9|rYe5E5imapr&t~O{ zis>*^1W$?Nl|LX6WEaYWLuSk_GP*KJNRw(2v8A-w#dG)Eudk~#Xf0X*hU%({1_0(5 zwGzPQ&EhZsO=neeH=s+1VK6ox8;UEoS{pF`xOd;-2SA)v4Yk0n3_$D$B2hrx0bF^& zZW~ZE0wi4@YF#-EFmiQ;t+D6RrEoMFEhqo9fl~KJgEv|FedhQgpRHOhn3J>0win#t z1fh=`H3&3Euh+k)i%PE%A(v8(^@x6YGyl+SUTCHM(zvM!t}9rVdk?v%MRbO5zCHL%#lZjT0MvO#klHymjiC?Ck@o$NWQwXxh zN_&mja=BecLvtD;2K`sn!}?av35B2=Q{)a8q;M4OoDn9l>JF1(YmnP&6u~z8;sP6z z>8E3z%^>d>H8Hi%?A!avUoJ2KR$V;lI2C7RST8@OYHIh@*diiFM5@eULK;g`XR7yX zET!#9L!VRgloak>iC=U55J&tEO0e==PmxcLel4_|8=VE~t4SZo?9+JDY%SMxC;Ubtnx(ZTMtTtMZINEQq7k|0$k4Y;=itCyk4fIHpRWX? XMA6=zi^c`{H2_rG>ndi-+C2XOVAjQD literal 0 HcmV?d00001 diff --git a/scripts/system/create/entityProperties/html/tabs/zone_key_light.png b/scripts/system/create/entityProperties/html/tabs/zone_key_light.png new file mode 100644 index 0000000000000000000000000000000000000000..6527c65320bf61d9df5b514c6abeb961a28d40f1 GIT binary patch literal 947 zcmWmBZA=?=9KiA4^-8ZjTKY#G3M-=rOolKj55)|(mH*N5G`De*E~!uDVJ_lAVha+G zEzm0p$Cjak%rQ1ux3~mR#$a^|8&QyJgt#awYITbt2#a>XNMy6sh8kXc-hJPFd$>bo zDta3Y0IG^|a}@w2Y>~?VV5wza000#B@)w!_B4f4?FnDpRkiNzqWC6x|PyF|MKL9XC z%Bv0nv^@#n>;wpg0i1sTH0J>LYXF`d0MNYASM4nYAfKu*vzFFh>H^_#*u-qoViE6C z35o8FO2bq{CiO-B^|_tJs~$cOgF49bDuj0_mCEn%luS^=db3Op-v*V#OSw-Rk3iM9 zzbNYJCDM_Lw1h)~fo}+@L`C_v+3vrct$AmTeSnRGoJn_Q|B9#15iuDOM>e{V*7G`y zD+X^jFwe|h3Fje-kRqdI&NQ2=t7ynXI@9tV$@6)121DWWbrG+e7)B_J?(kOSJf$Nf0x^=K$qwP#Kb78&@NblR zser6A8S+DXK#hSezmiwR3egxTXG-l=F5tdC%undpriX`_2S=yX z?WU$tBYFvYZQ#ff2!wZ)(`?s6_UDWEE-fBVzD=ZAM)&r$vjaOY%+UJdN$i`w0@Fr| zFIzYK{K+^cxJnw62X|zluLy@BI^H80mm1W}g=pxL${7xYTy-+f#(nB^_xV;AW$F5q zbR@sHN$^EDq+pyig^BO0@%$swuot`{mJjh!UgnQ0`?G>Y$=uYZtXZ6;l(H?`tJV7r0aQ#56LX6{X zqD60T_l9dZCyH_Y75CGX1;0l;N0R(HvGoW~b287NqM^q^kfc6vq2 z^`15Le=g0g!}?qA49-&sD;MmWpn6U-yr$=jdA9DA+w<0y+RHFvx3S)2LYe?WU3*Ss St}T2C08mkK$b7B1#`QmdhF5<8 literal 0 HcmV?d00001 diff --git a/scripts/system/create/entityProperties/html/tabs/zone_skybox.png b/scripts/system/create/entityProperties/html/tabs/zone_skybox.png new file mode 100644 index 0000000000000000000000000000000000000000..17697a817b95c802e2a3384acec627dd5d1d71da GIT binary patch literal 921 zcmWmBYfMvT9DwovdCzHS%PD=OP77jqS8fyB6rl=i()TDR7;zOhGIs$|650@SbOaq6 z!YLpgT(Y4s1*SkTCdCUA$1W0`z>ZUKWWZb`b5YXBWeXdYxe3v<3m<;po^MaRW!HAC zCR76e+RTi!YydDUQ7Hjn;^5{508p1?>@5Wd)GuM6_0&?q*@P?spy$(yXS*8#fD~k8 zX90W^1t8V{EcyY&KLEkJ^~9@+*nq)=OSfXSO!hh#^tg&`(PFxm=lL;uRVnGfTc%XO=pyf)h!6f)f%9mi zIp}OV>xjpz7zd)@EPk$))fwGqRvbW!91#t|08{2IP|o%nB-S||Dw)LQ5GjxGrjlH( ze8e%MS6B~;FgT3_()Ld{^8k4rBo)a&H^?VZ5C2LjAk_-jWqa^Etq3maPay{wYbq(M zweBb1FrIXa>05CehWXtMsUo2GO2!d=ycTeKUD3`c;{~B>dL4ckU`>v6gj>RZ!}|57 z45NeHE2S(kNh>`CZ#4P)ht4476zeeHIPiv%Lg&$%y9tQHY@*gi_nB(@D)dd)Lxyz5 z!I)oMMc0m1JYGgbnwrmAbKDnQmcH;EbKoH)_a-&$F#!uE{ui8Xm;9d1s|Kh~2 zOY|idBXL}3z0>I5fZLDE4-0CJh$E)&InS9i?&daoY(cs{Pc6?i+yEr0hrb{`GZL1u zawRQR%6sh}RJjB;02nUryII%9HtOYWVE=(>jFlO4sINgIzT zZ#i6U8K`{eAsW(c-*5q~DR{BwJPlLI?^%3C_XEHIL>y`CGGRaKNua-L`JJXdaL2IrL-X0PcHaaDrMm|lSW61_R zFW~D+PZ;slH|df9sd7%(JEJxovNLsoV)cI0-KT!n?fW6ayyeRB08AIg`cQ9cB=;ZP z!{;mwZhF=$=9V+^+$B!o?w_x-t|liAPknBq6H-xnH{5YqKLf