Data centres: multi-storey shell, racks and pods, cooling, fire safety, power
Deploy web Studio / deploy (push) Successful in 1m4s
Deploy web Studio / deploy (push) Successful in 1m4s
datacentre.rhai (palette groups Data centre, Cooling, Fire safety, Power): - dc_building: multi-storey shell (storeys of storey_h), walls in pieces, slabs, roof with parapet, louvres, front door and loading dock; levels cut it open storey by storey - raised_floor; rack_row and dc_pod (cabinets by U, width, depth, equipment, fill, doors, LEDs; in-row coolers; cold / hot aisle containment with vent tiles, roof, end doors, ceiling duct, airflow); dc_cage for colocation - crah, chiller (air-cooled, dry, adiabatic), cooling_tower, pipe_run - smoke_detectors (grid + coverage), fire_pipe (VESDA, sprinkler, gas), gas_bank (Novec 1230, FM-200, Inergen sized for its halls), fire_device (panels, call points, abort switches, beacons, extinguishers) - power_cab (UPS, battery, PDU, switchgear, RPP), busway, cable_tray, transformer - tooltips sum IT load, kW/m2, cooling redundancy per storey, UPS load, battery runtime, plant cooling and agent quantity (warning when short) Engine and stdlib: - part_hidden(o) in house.rhai: parts on closed storeys inside a dc_building are not drawn (they only made sort cycles under the slab above); house parts, furniture and people use it. Existing examples render byte-identical. - overhead services sort in their own "ceiling" layer with tight boxes - sort records which sprites each broken cycle involved; isokit check names them (Rendered.cycle_at) examples/datacentre (three storeys and a roof plant), Data centre demo in the web Studio, tests, SCRIPTING/README/ROADMAP, MCP instructions.
This commit is contained in:
1 parent
c8becc2e59
commit
2810477f1b
22 files changed
+2281
-18
No files matched your search
@@ -318,6 +318,66 @@ walk = "#555c6b"
|
||||
kerbf = "#7d8494"
|
||||
apron = "#4a4840"
|
||||
|
||||
# data centre
|
||||
dccab = "#262b34"
|
||||
dccabt = "#3a414d"
|
||||
dcsrv = "#5b6678"
|
||||
dcstor = "#6f7f96"
|
||||
dcgpu = "#414b5c"
|
||||
dcnet = "#2f7396"
|
||||
dcpatch = "#c9ced6"
|
||||
dcslot = "#2a3039"
|
||||
dcinrow = "#aab4c2"
|
||||
dcrf = "#9aa3b0"
|
||||
dcrf2 = "#7f93ad"
|
||||
dcrf3 = "#a69e90"
|
||||
dcrfs = "#5a616d"
|
||||
dcperf = "#5f86b8"
|
||||
dccold = "#8fcaff"
|
||||
dchot = "#ff8a5a"
|
||||
dcalu = "#b9c2ce"
|
||||
dcglass = "#8fc8ff"
|
||||
dcglassh = "#ffb08a"
|
||||
dccrah = "#c4ccd6"
|
||||
dcups = "#b8c0cb"
|
||||
dcbatt = "#3a414d"
|
||||
dcpdu = "#5d6f8a"
|
||||
dcswg = "#8a96a6"
|
||||
dcbus = "#9ea4ad"
|
||||
dctap = "#c46a24"
|
||||
dctray = "#8e98a6"
|
||||
dcfibre = "#e3b62b"
|
||||
dcbasket = "#a7b0bc"
|
||||
dccable = "#1b1f26"
|
||||
dcfibrec = "#f0d060"
|
||||
dccablec = "#3f78c0"
|
||||
dcdet = "#e9edf2"
|
||||
dcdeth = "#f2e2b6"
|
||||
dcvesda = "#e0574a"
|
||||
dcfirel = "#e0574a"
|
||||
dcgaspipe = "#aab3be"
|
||||
dcpanel = "#c03c35"
|
||||
dcyel = "#e0b030"
|
||||
dcwhite = "#f2f4f7"
|
||||
dcgreen = "#3f9a5a"
|
||||
dcscreen = "#58d0e0"
|
||||
dctower = "#9fb0c2"
|
||||
dctowert = "#7e8fa2"
|
||||
dcpipeg = "#3f9a5a"
|
||||
dcpipeg2 = "#2c7344"
|
||||
dcpipev = "#8a5fc0"
|
||||
dccoil = "#6f8193"
|
||||
dcpad = "#8fa58a"
|
||||
dcband = "#6d7480"
|
||||
dcvoid = "#1a1e25"
|
||||
dcleg = "#7a828e"
|
||||
dcmeshp = "#9aa6b5"
|
||||
dcpdu0 = "#b8413a"
|
||||
dcrear = "#1e2229"
|
||||
dcbay = "#15181d"
|
||||
dcdoor = "#30363f"
|
||||
dcbrk = "#2b2f37"
|
||||
dcpanelb = "#9aa4b2"
|
||||
[palette.light]
|
||||
sky1 = "#a9d4fb"
|
||||
sky2 = "#e8f4ff"
|
||||
@@ -626,6 +686,66 @@ walk = "#d9d6cf"
|
||||
kerbf = "#a5a9b1"
|
||||
apron = "#b9ad98"
|
||||
|
||||
# data centre
|
||||
dccab = "#3b424e"
|
||||
dccabt = "#5a6371"
|
||||
dcsrv = "#7d899b"
|
||||
dcstor = "#94a3b8"
|
||||
dcgpu = "#5d6878"
|
||||
dcnet = "#3f8fb5"
|
||||
dcpatch = "#eef1f5"
|
||||
dcslot = "#454c58"
|
||||
dcinrow = "#dde2e8"
|
||||
dcrf = "#d3d8df"
|
||||
dcrf2 = "#b6c6da"
|
||||
dcrf3 = "#d8d0c2"
|
||||
dcrfs = "#8d95a2"
|
||||
dcperf = "#8eb0da"
|
||||
dccold = "#3f86e0"
|
||||
dchot = "#e0582a"
|
||||
dcalu = "#a3adbb"
|
||||
dcglass = "#5aa6e6"
|
||||
dcglassh = "#f08a5a"
|
||||
dccrah = "#eef1f4"
|
||||
dcups = "#e3e7ec"
|
||||
dcbatt = "#5d6573"
|
||||
dcpdu = "#7f93ad"
|
||||
dcswg = "#b2bcc8"
|
||||
dcbus = "#c3c8cf"
|
||||
dctap = "#dd7f2f"
|
||||
dctray = "#aeb7c3"
|
||||
dcfibre = "#e8c22e"
|
||||
dcbasket = "#c3cad3"
|
||||
dccable = "#2a2f38"
|
||||
dcfibrec = "#f5dc70"
|
||||
dccablec = "#4f8fd8"
|
||||
dcdet = "#ffffff"
|
||||
dcdeth = "#f7ecc8"
|
||||
dcvesda = "#d24a3c"
|
||||
dcfirel = "#d0453f"
|
||||
dcgaspipe = "#9aa3ad"
|
||||
dcpanel = "#d0453f"
|
||||
dcyel = "#e8c22e"
|
||||
dcwhite = "#ffffff"
|
||||
dcgreen = "#2fae68"
|
||||
dcscreen = "#2aa8bf"
|
||||
dctower = "#c8d3df"
|
||||
dctowert = "#a9b6c4"
|
||||
dcpipeg = "#2fae68"
|
||||
dcpipeg2 = "#23864f"
|
||||
dcpipev = "#9b6fd8"
|
||||
dccoil = "#8fa1b4"
|
||||
dcpad = "#a9c0a2"
|
||||
dcband = "#9aa1ab"
|
||||
dcvoid = "#3a404b"
|
||||
dcleg = "#a3abb6"
|
||||
dcmeshp = "#b9c4d2"
|
||||
dcpdu0 = "#c9473a"
|
||||
dcrear = "#2f353f"
|
||||
dcbay = "#22262d"
|
||||
dcdoor = "#4a525f"
|
||||
dcbrk = "#3a404b"
|
||||
dcpanelb = "#c3cad3"
|
||||
[materials]
|
||||
warn = "#e0412f"
|
||||
suit = "suit"
|
||||
@@ -903,6 +1023,56 @@ f-carpet = "fcarpet"
|
||||
f-stone = "fstone"
|
||||
f-conc = "conc"
|
||||
|
||||
# data centre
|
||||
dccab = "dccab"
|
||||
dccabt = "dccabt"
|
||||
dcsrv = "dcsrv"
|
||||
dcstor = "dcstor"
|
||||
dcgpu = "dcgpu"
|
||||
dcnet = "dcnet"
|
||||
dcpatch = "dcpatch"
|
||||
dcslot = "dcslot"
|
||||
dcinrow = "dcinrow"
|
||||
dcrf = "dcrf"
|
||||
dcrf2 = "dcrf2"
|
||||
dcrf3 = "dcrf3"
|
||||
dcrfs = "dcrfs"
|
||||
dcalu = "dcalu"
|
||||
dccrah = "dccrah"
|
||||
dcups = "dcups"
|
||||
dcbatt = "dcbatt"
|
||||
dcpdu = "dcpdu"
|
||||
dcswg = "dcswg"
|
||||
dcbus = "dcbus"
|
||||
dctap = "dctap"
|
||||
dctray = "dctray"
|
||||
dcfibre = "dcfibre"
|
||||
dcbasket = "dcbasket"
|
||||
dccable = "dccable"
|
||||
dcfibrec = "dcfibrec"
|
||||
dccablec = "dccablec"
|
||||
dcvesda = "dcvesda"
|
||||
dcgaspipe = "dcgaspipe"
|
||||
dcpanel = "dcpanel"
|
||||
dcyel = "dcyel"
|
||||
dcwhite = "dcwhite"
|
||||
dcgreen = "dcgreen"
|
||||
dctower = "dctower"
|
||||
dctowert = "dctowert"
|
||||
dcpipeg = "dcpipeg"
|
||||
dcpipeg2 = "dcpipeg2"
|
||||
dcpipev = "dcpipev"
|
||||
dccoil = "dccoil"
|
||||
dcpad = "dcpad"
|
||||
dcband = "dcband"
|
||||
dcvoid = "dcvoid"
|
||||
dcleg = "dcleg"
|
||||
dcpdu0 = "dcpdu0"
|
||||
dcrear = "dcrear"
|
||||
dcbay = "dcbay"
|
||||
dcdoor = "dcdoor"
|
||||
dcbrk = "dcbrk"
|
||||
dcpanelb = "dcpanelb"
|
||||
[rules]
|
||||
".iso-ground .iso-dirt" = "stroke: var(--iso-edge); stroke-width: .4"
|
||||
".iso-svg .iso-grid" = "fill: none; stroke: var(--iso-grid); stroke-width: .5"
|
||||
@@ -1029,3 +1199,33 @@ f-conc = "conc"
|
||||
".iso-svg .iso-hobr" = "fill: none; stroke: #6a707b; stroke-width: .3"
|
||||
".iso-svg .iso-metal" = "fill: var(--iso-steel); stroke: none"
|
||||
".iso-svg .iso-keyb" = "fill: #2b2f37; stroke: none"
|
||||
# data centre
|
||||
".iso-svg .iso-dctile" = "fill: none; stroke: var(--iso-edge); stroke-width: .2; opacity: .3"
|
||||
".iso-svg .iso-dcperf" = "fill: var(--iso-dcperf); stroke: none; opacity: .85"
|
||||
".iso-svg .iso-dcglass, .iso-svg .iso-dcglass.iso-t" = "fill-opacity: .2; --b: var(--iso-dcglass); stroke-opacity: .55"
|
||||
".iso-svg .iso-dcglassh, .iso-svg .iso-dcglassh.iso-t" = "fill-opacity: .2; --b: var(--iso-dcglassh); stroke-opacity: .55"
|
||||
".iso-svg .iso-dcglassd" = "fill: var(--iso-dcglass); fill-opacity: .14; stroke: none"
|
||||
".iso-svg .iso-dcmesh" = "fill: #000; fill-opacity: .3; stroke: none"
|
||||
".iso-svg .iso-dcmeshp, .iso-svg .iso-dcmeshp.iso-t" = "fill-opacity: .25; --b: var(--iso-dcmeshp); stroke-opacity: .45"
|
||||
".iso-svg .iso-dcmeshd, .iso-svg .iso-dcmeshd.iso-t" = "fill-opacity: .45; --b: var(--iso-dcmeshp); stroke-opacity: .6"
|
||||
".iso-svg .iso-dcframe" = "fill: none; stroke: var(--iso-dcalu); stroke-width: .3"
|
||||
".iso-svg path.iso-dcsrv, .iso-svg path.iso-dcstor, .iso-svg path.iso-dcgpu, .iso-svg path.iso-dcnet, .iso-svg path.iso-dcpatch, .iso-svg path.iso-dcslot, .iso-svg path.iso-dcbay, .iso-svg path.iso-dcrear, .iso-svg path.iso-dcpdu0, .iso-svg path.iso-dcvoid, .iso-svg path.iso-dcleg, .iso-svg path.iso-dcband, .iso-svg path.iso-dcbrk, .iso-svg path.iso-dcdoor" = "stroke: none"
|
||||
".iso-svg .iso-dcstrip" = "fill: var(--iso-led-g); stroke: none; opacity: .9"
|
||||
".iso-svg .iso-dcscr" = "fill: var(--iso-dcscreen); stroke: none"
|
||||
".iso-svg .iso-dccov" = "fill: var(--iso-dchot); fill-opacity: .025; stroke: var(--iso-dchot); stroke-width: .22; stroke-dasharray: 1.2 2.2; opacity: .45; pointer-events: none"
|
||||
".iso-svg .iso-dcdetd" = "fill: var(--iso-dcdet); stroke: var(--iso-edge); stroke-width: .12"
|
||||
".iso-svg .iso-dcdethd" = "fill: var(--iso-dcdeth); stroke: var(--iso-edge); stroke-width: .12"
|
||||
".iso-svg .iso-dcvesl" = "fill: none; stroke: var(--iso-dcvesda); stroke-width: .5; stroke-linecap: round"
|
||||
".iso-svg .iso-dcsprl" = "fill: none; stroke: var(--iso-dcfirel); stroke-width: .8; stroke-linecap: round"
|
||||
".iso-svg .iso-dcgasl" = "fill: none; stroke: var(--iso-dcgaspipe); stroke-width: .9; stroke-linecap: round"
|
||||
".iso-svg .iso-dchole" = "fill: var(--iso-dcwhite); stroke: var(--iso-dcvesda); stroke-width: .2"
|
||||
".iso-svg .iso-dcspr" = "fill: var(--iso-dcfirel); stroke: none"
|
||||
".iso-svg .iso-dcsprh" = "fill: var(--iso-dcyel); stroke: none"
|
||||
".iso-svg .iso-dcdled" = "fill: var(--iso-led-r); stroke: none"
|
||||
".iso-svg .iso-dcflash" = "animation: iso-dcflash 4s linear infinite"
|
||||
"@keyframes iso-dcflash" = "0%, 86%, 100% { opacity: .3 } 90% { opacity: 1 }"
|
||||
".iso-svg .iso-dcblink" = "animation: iso-blink 1.9s ease-in-out infinite"
|
||||
".iso-svg .iso-dcair, .iso-svg .iso-dcheat" = "transform-box: fill-box; transform-origin: center; animation: iso-dcrise 3s ease-out infinite; opacity: 0; pointer-events: none; stroke: none"
|
||||
".iso-svg .iso-dcair" = "fill: var(--iso-dccold)"
|
||||
".iso-svg .iso-dcheat" = "fill: var(--iso-dchot)"
|
||||
"@keyframes iso-dcrise" = "0% { transform: translate(0, 0) scale(.5); opacity: 0 } 25% { opacity: .6 } 100% { transform: translate(0, -7px) scale(1.3); opacity: 0 }"
|
||||
Reference in new issue
Block a user