DEMI-PROJECT-PACKAGE
úJ      {"files":[{"hash":"sha256:3065937c7cb4e2018eb4daa1569505b0ad7d2f1ec84c4c4e7a67fd7b8c3de103","path":"LICENSE","size":1492},{"hash":"sha256:8841dc203bb26cafd006f5aac51b380c8978574449d0f31a996c24a8d8f3c263","path":"README.md","size":10982},{"hash":"sha256:4924c7760f740880d79d1ca8e96ab81c0a4a6e10eb3b86100bfc6112d67425fb","path":"assets/icons/arrow-left.asset.json","size":249},{"hash":"sha256:faf803790e14e2bb1f92f9f1eebde6f3a132774290c884fb8d460e3c0b06831a","path":"assets/icons/arrow-left.svg","size":215},{"hash":"sha256:94958869f95ad034be1292041985290cc3e0385625359da345441417b9b9607d","path":"assets/icons/arrow-right.asset.json","size":251},{"hash":"sha256:cd977ef8771a7654a4da4e2a95bdc8711628d01e6f4d876d22ebde3628d48674","path":"assets/icons/arrow-right.svg","size":216},{"hash":"sha256:04354d19d690670a145ea24eacabb2a930375248251770fb8a18876a522cf5f7","path":"assets/icons/bell.asset.json","size":237},{"hash":"sha256:e568a11819ae803c2d77b52a94ed03b79f879975c7d7df13c3b8288997d852c6","path":"assets/icons/bell.svg","size":242},{"hash":"sha256:2c6861894a5131541645c584c617b9a25a1163828053c07b98dfe009f03eb666","path":"assets/icons/cargo.asset.json","size":239},{"hash":"sha256:1597cac0f1baee9964782af0297fcded8b3cb63969345623450cad6a0541fb48","path":"assets/icons/cargo.svg","size":250},{"hash":"sha256:ee21260741b732b2b0f8ab0be1b9cb0c7dbe12e88ca3c1ccf3fd7034498988f1","path":"assets/icons/check.asset.json","size":239},{"hash":"sha256:18fd7b4eec4fb6cf21e01285c869202202171db601a9400e21a76e22faceed14","path":"assets/icons/check.svg","size":209},{"hash":"sha256:6eaa64bdb34894d47ecb3471f342ea11ddb3ee4a6dfaeb865f7ee6b7c052ff99","path":"assets/icons/chevron-down.asset.json","size":253},{"hash":"sha256:a22e256b4155a57560b25b8ac71c43fd904908f67850e36b2d178b7146864662","path":"assets/icons/chevron-down.svg","size":207},{"hash":"sha256:84b18e6429b4e3367d384c03336354b2440805d3c8179611d3cd9acd07e11cfa","path":"assets/icons/chevron-right.asset.json","size":255},{"hash":"sha256:371047dcdb38a933bafe411428e7503e780149b0f9a748941eff6028f49063e0","path":"assets/icons/chevron-right.svg","size":207},{"hash":"sha256:ff938e03f908db667b6a3bd2d762f2eb422e4133e7d9ac37086e17b99839ee7d","path":"assets/icons/close.asset.json","size":239},{"hash":"sha256:8e2cb442cfe20b63753e02baa1be1bbacfaf1462acfc6bd708602330790d9788","path":"assets/icons/close.svg","size":215},{"hash":"sha256:a015b9545b6c8f1aba7786a34e8dcaff9a8db177a057ccb8977ba22830bb0382","path":"assets/icons/crew.asset.json","size":237},{"hash":"sha256:cbc0fa8775ee5b841c692b3f7ea61fda2c95904c281e22110202e54a9a40386f","path":"assets/icons/crew.svg","size":288},{"hash":"sha256:ff7aa8041179d4d9dfb8d4ad3271b2c5b4e56a9baa852d5ff5ef7dc26083ff7e","path":"assets/icons/download.asset.json","size":245},{"hash":"sha256:ea91606ca7ed32168e57301e19536cf2ab2e63fd69f991bcb163e2c68cdabff4","path":"assets/icons/download.svg","size":229},{"hash":"sha256:6c10d0b4b8bf1849dfa712e89c673dc7ad650ace36d6bb772461a0fb924ff576","path":"assets/icons/energy.asset.json","size":241},{"hash":"sha256:d50402da55646943d8f7324d7cb21733b45eb5881c55342d601c188cd5d28c1b","path":"assets/icons/energy.svg","size":223},{"hash":"sha256:ef0b59c34445d8ee119dd5afde5f3d271f5cde343ac5fbc3a730396d498adf54","path":"assets/icons/folder.asset.json","size":241},{"hash":"sha256:f3953ad55d1fe6f6ffe9092224212ba64d43670b2b62f4016743d4410d5dffa3","path":"assets/icons/folder.svg","size":213},{"hash":"sha256:1f3fea8c1acd3b1a123554dffdf52899cd8d628876c98d57456769428b2926de","path":"assets/icons/globe.asset.json","size":239},{"hash":"sha256:38ba058841fba46d7892e70c859edc1371996f6cfd4a13d232a75131f38fee87","path":"assets/icons/globe.svg","size":274},{"hash":"sha256:4b73073aaa8bb62afc160b16e55df42675566d370b73949618b54d796b64a06b","path":"assets/icons/heart.asset.json","size":239},{"hash":"sha256:8694f5885328a377528e8115a3d19445a009395c3af980af7e35ec69c05e3eab","path":"assets/icons/heart.svg","size":234},{"hash":"sha256:b2826c84d69c7b4abf3b659c559a10fc6da2832f911e0ab3df72fce4537dfdc4","path":"assets/icons/home.asset.json","size":237},{"hash":"sha256:db466f95a64a580b23a6c424c533eb484d97460f1024807b172efad9ba5e2bc4","path":"assets/icons/home.svg","size":230},{"hash":"sha256:a96a4d04e8ce211346ac807af4f44639c752be27c6daa2594cc8ed550ca2f069","path":"assets/icons/info.asset.json","size":237},{"hash":"sha256:cea1ddeddc0ebe35e415b79e6651c0a6d702fbc97dd34064ef9c4dec910cbd7b","path":"assets/icons/info.svg","size":242},{"hash":"sha256:d243c10bd2243ed520b183b3b711d764488d45cc1d356f977e8d2ca2fe2a5092","path":"assets/icons/lock.asset.json","size":237},{"hash":"sha256:3bab800f2059a29efae31d931f7be170461aeae5b19066a3c21b31aa0e6bc214","path":"assets/icons/lock.svg","size":275},{"hash":"sha256:bd76e7f44ee9bca666bb3794388cf90c6a0beef2f6cc9c558092aefea595c79b","path":"assets/icons/menu.asset.json","size":237},{"hash":"sha256:dc269b8ef525f5520dc5edb3589a6fe2daf60dfdc1b38e959292d36097f1a8fd","path":"assets/icons/menu.svg","size":218},{"hash":"sha256:bee743f23392b83fcc9da40aa2e7303fcdfb3ecded02929336c69d03921a8c7f","path":"assets/icons/minus.asset.json","size":239},{"hash":"sha256:a634b857b98f541c89e518c6e62af420fec69e53421526237ba563ecb58d3b6f","path":"assets/icons/minus.svg","size":203},{"hash":"sha256:cbad9282e862ce29e96ca56817ef0edda3246ce3fb12824ad7fda03ea2fe7627","path":"assets/icons/pause.asset.json","size":239},{"hash":"sha256:b958dd6c1559c983a2dbbfbb0442ac1811085446a949ce79ce8d45c8e7ad8502","path":"assets/icons/pause.svg","size":210},{"hash":"sha256:45b583f21f680d29dc63ead6af217c5cdefb1d7813607608d5d43746849ec2f8","path":"assets/icons/play.asset.json","size":237},{"hash":"sha256:9a800cab98a2969fe1f15aa1c71b63ca8831979ff8b6557c0b66877a83c732b6","path":"assets/icons/play.svg","size":210},{"hash":"sha256:7c80e5d452abd287cfc8bd0e28567da7b59d84dfbff11b9c5adae1c16b1575b5","path":"assets/icons/plus.asset.json","size":237},{"hash":"sha256:9d9c5f8412e0e979ece2cda6f3ae38478db55ea243b1db3a7c45970cca4e1395","path":"assets/icons/plus.svg","size":211},{"hash":"sha256:521314ebc0711def4a75ead74e824b6402c8844bbed28ea9860afcfd7b8cb419","path":"assets/icons/power.asset.json","size":239},{"hash":"sha256:cc106ffb916b5d7f40815cb0c8d6fb8269c536d49f4e1e0f6cd2feaa79529e9f","path":"assets/icons/power.svg","size":222},{"hash":"sha256:ce8d9734dd22172c2ec55fd2a0e0b1a59aabda9531331eae0ae535f916385433","path":"assets/icons/rocket.asset.json","size":241},{"hash":"sha256:9aedaf3f970f976a58c2a09798c3b1013a2254f48d4454e2071354d68118bf2b","path":"assets/icons/rocket.svg","size":301},{"hash":"sha256:3b75be8981ca14a83332a3eb143a476fba929e2e4e44a6621f67663b64c8b15a","path":"assets/icons/save.asset.json","size":237},{"hash":"sha256:9a7eae78df952c8c975c9fdcff30d2f783bc9a52ed0d99972c8635086aa4a8f7","path":"assets/icons/save.svg","size":238},{"hash":"sha256:455052afeac2fab477691dfef119042d93564677d0a643d7e96677446168f65f","path":"assets/icons/search.asset.json","size":241},{"hash":"sha256:8e092eb1f28e6a54457380c46874fae8399ec8d9d675caf00975d99be0010667","path":"assets/icons/search.svg","size":236},{"hash":"sha256:c8898f12e7ca22c1d7d33fef33c245aefb43488cad44e7fdd5092c23b458bdcd","path":"assets/icons/settings.asset.json","size":245},{"hash":"sha256:6d32de1a347a41c50fcf1254d0bd8a6361384b79bdd4ba958ec7fbfaa96e553c","path":"assets/icons/settings.svg","size":249},{"hash":"sha256:f932c501b2b052efe4896ccc41eda0576222b3e04c877a646e7cd7c14da5627b","path":"assets/icons/trash.asset.json","size":239},{"hash":"sha256:95ef18c14c587ce9cdaa6d494db1b02dffd30320ce02fa758630e15019a672ab","path":"assets/icons/trash.svg","size":243},{"hash":"sha256:29e8cdda57feca6eccf72f77e48ad726e460b7f1f84759bf1424c837e5e1d577","path":"assets/icons/upload.asset.json","size":241},{"hash":"sha256:b755e6d424f04e4ee2c3ba849868ccc419b1c423e7cf52da80feaae4fbc52e3e","path":"assets/icons/upload.svg","size":229},{"hash":"sha256:417097d9ca5083e6dc18772b6d19c3cc6f8feb1d1b3cd5178bce85854148dac8","path":"assets/icons/user.asset.json","size":237},{"hash":"sha256:2c8e1d3c604ba89129b7c436888bcdef9af7a33ce4aab4e95b47feb80b003f26","path":"assets/icons/user.svg","size":250},{"hash":"sha256:88ca9b64b050637adef0d5c815a004fc1b6aef6ffd4eacf0847650f129390ac7","path":"assets/icons/warning.asset.json","size":243},{"hash":"sha256:da19eb7a219044948042d5d92b6d04f72f0acc41212e0fbb70e9727e6d6bff43","path":"assets/icons/warning.svg","size":223},{"hash":"sha256:652ea7be57ba71c36d7b2ce804ee43260329481ed13009d2193ed2663182a2a4","path":"assets/icons/water.asset.json","size":239},{"hash":"sha256:0a0c9c4337473d7df327a32fe5616a18b8fd792ac5910fc31c0f8ab1ec4a1188","path":"assets/icons/water.svg","size":240},{"hash":"sha256:7340192ac133ae36725b85c5643305297cb82ba6e30b2b198c626d4c8ef16d5c","path":"scripts/demi/ui/orbit.lua","size":3984},{"hash":"sha256:db7dd9a3daf9c90c1d7a4b26ea6bb34d33e4351aab0769c71003a42d154b25de","path":"scripts/demi/ui/orbit/controls.lua","size":7196},{"hash":"sha256:b9cbc7157d99cadb3dc8599f7b5908f93885476d166615cea3844f69f9ffe9f6","path":"scripts/demi/ui/orbit/templates.lua","size":17985},{"hash":"sha256:b0e5a49230fe062d7b537374a816bb4f7533d0b62b39c9601dd370235c8bdb60","path":"tests/orbit_test.lua","size":1856},{"hash":"sha256:a2f086617ac1cb21597c5703e510204e6099f978f7b5047ef44e371085a2fb63","path":"ui/orbit/badge.ui.prefab.json","size":819},{"hash":"sha256:035ab63a4efe269bf7c3ba7d75a6245734e2b8c72038a5e9855abfd83c0b4423","path":"ui/orbit/button-danger.ui.prefab.json","size":1183},{"hash":"sha256:55ea6ad29932a47973e5946ad0d27fdd61e62c48a6d4990b824325aa6c95e052","path":"ui/orbit/button-primary.ui.prefab.json","size":1106},{"hash":"sha256:8fde9342591e2038e1ead3e331e584fdb0296c624f3cab25fcc24c30ce043217","path":"ui/orbit/button-quiet.ui.prefab.json","size":1008},{"hash":"sha256:72a5cd8181d27281979dd1d3bb9304157bb11e91e36cb9bda401f81c135a9e50","path":"ui/orbit/button-secondary.ui.prefab.json","size":1086},{"hash":"sha256:cf7b20598c2fe5d2fc8a71a6f642894479fcf8c4917a2660a0ea3fc5782f5192","path":"ui/orbit/button-with-icon.ui.prefab.json","size":1816},{"hash":"sha256:1e142f24fe71e90e66ac5ee2b79d5bbd9d2c31c2f5f34d859179c0cca371e09f","path":"ui/orbit/checkbox.ui.prefab.json","size":1197},{"hash":"sha256:f641bad7ab5db7d3c4737d75142da71bac188af0046ebadb5fb02120a452eb57","path":"ui/orbit/components.ui.prefab.json","size":15875},{"hash":"sha256:caa423858c5eb602bc53784c30148d9bf3ac6665bf35e80e71b49f34c8b04820","path":"ui/orbit/dialog.ui.prefab.json","size":4039},{"hash":"sha256:84043bc56d000a785301e83c52043e42b0a089d3167dc9c5eeced3e0b53e0492","path":"ui/orbit/divider.ui.prefab.json","size":371},{"hash":"sha256:1c354506d0501fa7634c2d98c89e3f437f3118d113a93c14f162753052a51f17","path":"ui/orbit/dropdown.ui.prefab.json","size":4511},{"hash":"sha256:5e009f7a984453dacb9261f2b07471b08a5e7e1f3fdf48c02b9f77787b6920b9","path":"ui/orbit/heading.ui.prefab.json","size":480},{"hash":"sha256:6597edaa34f4bb009f67c45b9a575934c702b19c4ca798698cefc038b1c85099","path":"ui/orbit/icon-button.ui.prefab.json","size":1475},{"hash":"sha256:8c4bd2a79f39befb0922a243e44f5f3bc1bf4bdc2b4c0bfb37e701093f6a8f21","path":"ui/orbit/icon-gallery.ui.prefab.json","size":34974},{"hash":"sha256:33cafa879ab6e4e604cc6373d275de294189e0ffb2cc83333359f30747ddaff1","path":"ui/orbit/icon.ui.prefab.json","size":578},{"hash":"sha256:d7a2dadad1f3dc040d8f288507f0faea75638334a77f470b510ca8293e44e0fb","path":"ui/orbit/input.ui.prefab.json","size":1266},{"hash":"sha256:45678a941fef333674aeee092d91ca9f93753277f2b71ec32940a4f847f8acc6","path":"ui/orbit/inventory-slot.ui.prefab.json","size":1886},{"hash":"sha256:706b41407fcf26e9e10dadca17ec8685fbaddc5d86a44f22d1a6cfb7214cbe13","path":"ui/orbit/inventory.ui.prefab.json","size":9443},{"hash":"sha256:295368756bb49e3dd1fcce5898041e6392a0c4ad3a8de567937afd2ec1124bcb","path":"ui/orbit/label.ui.prefab.json","size":474},{"hash":"sha256:ad1e9723addbf1d98ff9318ecac9ffea62a575468a712de683fce2ff27ec7236","path":"ui/orbit/list-row.ui.prefab.json","size":3102},{"hash":"sha256:7cb37393a46160b9f488b99644df9fa16103171adbdd98fe1784e66a301d8f84","path":"ui/orbit/main-menu.ui.prefab.json","size":4979},{"hash":"sha256:3665dbde72a5d3b1ee47b4b9deb8492a0b7c5fbec71aafa26da1fc2b98c2d83a","path":"ui/orbit/metric.ui.prefab.json","size":1582},{"hash":"sha256:da2b72b757ce54a1a85b1e604a5d132628339ec1dcdca5ebc9ae4d2c893b711d","path":"ui/orbit/modal.ui.prefab.json","size":4812},{"hash":"sha256:e275771de8cf90b4d4516cda62144aeb68f66142a9d0a4cc596481e15a66ae69","path":"ui/orbit/notification.ui.prefab.json","size":2983},{"hash":"sha256:8e9d2c67be38c1bfca1b0a03adaa0dcbcd39cf724369b8486c323b268cf9727e","path":"ui/orbit/pagination.ui.prefab.json","size":3479},{"hash":"sha256:14c7d9705a3e228797364045e6281b4c1d255aad6dd3905c7c6ffbbe57d1fbec","path":"ui/orbit/panel.ui.prefab.json","size":1999},{"hash":"sha256:9b4faca800e3f1b13ceec2f89a45d4db944e0b5da71c904147de14858240ab19","path":"ui/orbit/progress.ui.prefab.json","size":929},{"hash":"sha256:4c3b8c8564926793623ced72e66df7009f3f18007ca4e77183abb729f7a63b07","path":"ui/orbit/radio-group.ui.prefab.json","size":2688},{"hash":"sha256:f051c66073f51c77fc15d36d590e110b3e299193dbf0e5155c26174a5c6c5cf4","path":"ui/orbit/search.ui.prefab.json","size":1270},{"hash":"sha256:0157ba5a0a055c01105314c78670fb59045ccd89292fc61b922f691a3f3a27b1","path":"ui/orbit/segmented.ui.prefab.json","size":4442},{"hash":"sha256:53334193c201b77fcede700a0ef0e9731c08316938f85ab3150120b852cd7169","path":"ui/orbit/settings.ui.prefab.json","size":14767},{"hash":"sha256:4e7eeae90adc2999a66e95b71875856739daa1f1e1bbbca98eec2641b2732740","path":"ui/orbit/showcase.ui.prefab.json","size":18909},{"hash":"sha256:420900d96c87fdf3d6af42061bee6c181764502ec7a1bae4ee0a4dc57e05edfe","path":"ui/orbit/slider.ui.prefab.json","size":924},{"hash":"sha256:abebcbb5bc4a434e7c406911dd6f65e3a35b56033f97e6454b4723353dc5fac3","path":"ui/orbit/slot.ui.prefab.json","size":1068},{"hash":"sha256:7a99251c001f13b1074919d2848a2ff42138acedc46f19950ca97623ccce8012","path":"ui/orbit/status-bar.ui.prefab.json","size":2137},{"hash":"sha256:78bc6b208c54daa40131552ca605dfbf4166bcfdc8bd8720d1f38278b647699a","path":"ui/orbit/stepper.ui.prefab.json","size":1871},{"hash":"sha256:5d1540dd07575622f4d855160735f35851b06ee6da508b43b8306e563d734167","path":"ui/orbit/tabs.ui.prefab.json","size":4288},{"hash":"sha256:f084223fdb2c528070444c99f4c9812b8629005803d4af0a25a1bdce218c8772","path":"ui/orbit/toggle.ui.prefab.json","size":1189},{"hash":"sha256:40e0f477ef5b12b11f7d5fe5e34c23bf43a3fdbe2f8ee883d091c214fd0c1227","path":"ui/orbit/tooltip.ui.prefab.json","size":999}],"format_version":1,"manifest":{"asset_manifests":["assets/icons/arrow-left.asset.json","assets/icons/arrow-right.asset.json","assets/icons/bell.asset.json","assets/icons/cargo.asset.json","assets/icons/check.asset.json","assets/icons/chevron-down.asset.json","assets/icons/chevron-right.asset.json","assets/icons/close.asset.json","assets/icons/crew.asset.json","assets/icons/download.asset.json","assets/icons/energy.asset.json","assets/icons/folder.asset.json","assets/icons/globe.asset.json","assets/icons/heart.asset.json","assets/icons/home.asset.json","assets/icons/info.asset.json","assets/icons/lock.asset.json","assets/icons/menu.asset.json","assets/icons/minus.asset.json","assets/icons/pause.asset.json","assets/icons/play.asset.json","assets/icons/plus.asset.json","assets/icons/power.asset.json","assets/icons/rocket.asset.json","assets/icons/save.asset.json","assets/icons/search.asset.json","assets/icons/settings.asset.json","assets/icons/trash.asset.json","assets/icons/upload.asset.json","assets/icons/user.asset.json","assets/icons/warning.asset.json","assets/icons/water.asset.json"],"dependencies":{},"engine":"^0.1.0","exported_events":[],"files":["LICENSE","README.md","assets/icons/arrow-left.asset.json","assets/icons/arrow-left.svg","assets/icons/arrow-right.asset.json","assets/icons/arrow-right.svg","assets/icons/bell.asset.json","assets/icons/bell.svg","assets/icons/cargo.asset.json","assets/icons/cargo.svg","assets/icons/check.asset.json","assets/icons/check.svg","assets/icons/chevron-down.asset.json","assets/icons/chevron-down.svg","assets/icons/chevron-right.asset.json","assets/icons/chevron-right.svg","assets/icons/close.asset.json","assets/icons/close.svg","assets/icons/crew.asset.json","assets/icons/crew.svg","assets/icons/download.asset.json","assets/icons/download.svg","assets/icons/energy.asset.json","assets/icons/energy.svg","assets/icons/folder.asset.json","assets/icons/folder.svg","assets/icons/globe.asset.json","assets/icons/globe.svg","assets/icons/heart.asset.json","assets/icons/heart.svg","assets/icons/home.asset.json","assets/icons/home.svg","assets/icons/info.asset.json","assets/icons/info.svg","assets/icons/lock.asset.json","assets/icons/lock.svg","assets/icons/menu.asset.json","assets/icons/menu.svg","assets/icons/minus.asset.json","assets/icons/minus.svg","assets/icons/pause.asset.json","assets/icons/pause.svg","assets/icons/play.asset.json","assets/icons/play.svg","assets/icons/plus.asset.json","assets/icons/plus.svg","assets/icons/power.asset.json","assets/icons/power.svg","assets/icons/rocket.asset.json","assets/icons/rocket.svg","assets/icons/save.asset.json","assets/icons/save.svg","assets/icons/search.asset.json","assets/icons/search.svg","assets/icons/settings.asset.json","assets/icons/settings.svg","assets/icons/trash.asset.json","assets/icons/trash.svg","assets/icons/upload.asset.json","assets/icons/upload.svg","assets/icons/user.asset.json","assets/icons/user.svg","assets/icons/warning.asset.json","assets/icons/warning.svg","assets/icons/water.asset.json","assets/icons/water.svg","scripts/demi/ui/orbit/controls.lua","scripts/demi/ui/orbit/templates.lua","scripts/demi/ui/orbit.lua","tests/orbit_test.lua","ui/orbit/badge.ui.prefab.json","ui/orbit/button-danger.ui.prefab.json","ui/orbit/button-primary.ui.prefab.json","ui/orbit/button-quiet.ui.prefab.json","ui/orbit/button-secondary.ui.prefab.json","ui/orbit/button-with-icon.ui.prefab.json","ui/orbit/checkbox.ui.prefab.json","ui/orbit/components.ui.prefab.json","ui/orbit/dialog.ui.prefab.json","ui/orbit/divider.ui.prefab.json","ui/orbit/dropdown.ui.prefab.json","ui/orbit/heading.ui.prefab.json","ui/orbit/icon-button.ui.prefab.json","ui/orbit/icon-gallery.ui.prefab.json","ui/orbit/icon.ui.prefab.json","ui/orbit/input.ui.prefab.json","ui/orbit/inventory-slot.ui.prefab.json","ui/orbit/inventory.ui.prefab.json","ui/orbit/label.ui.prefab.json","ui/orbit/list-row.ui.prefab.json","ui/orbit/main-menu.ui.prefab.json","ui/orbit/metric.ui.prefab.json","ui/orbit/modal.ui.prefab.json","ui/orbit/notification.ui.prefab.json","ui/orbit/pagination.ui.prefab.json","ui/orbit/panel.ui.prefab.json","ui/orbit/progress.ui.prefab.json","ui/orbit/radio-group.ui.prefab.json","ui/orbit/search.ui.prefab.json","ui/orbit/segmented.ui.prefab.json","ui/orbit/settings.ui.prefab.json","ui/orbit/showcase.ui.prefab.json","ui/orbit/slider.ui.prefab.json","ui/orbit/slot.ui.prefab.json","ui/orbit/status-bar.ui.prefab.json","ui/orbit/stepper.ui.prefab.json","ui/orbit/tabs.ui.prefab.json","ui/orbit/toggle.ui.prefab.json","ui/orbit/tooltip.ui.prefab.json"],"format_version":1,"name":"demi.ui.orbit","public_modules":["demi.ui.orbit"],"version":"1.1.0"},"package_type":"DemiProjectPackage"}BSD 3-Clause License

Copyright (c) 2026, JEAPI

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.

3. Neither the name of the copyright holder nor the names of its
   contributors may be used to endorse or promote products derived from
   this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# Orbit UI

39 original native UI prefabs and compositions for DemiEngine: dark navy surfaces,
warm amber highlights, clear typography, rounded controls, and editable colors.
Includes 32 original tintable SVG icons and uses the engine's built-in font.
No third-party UI artwork is included.
BSD-3-Clause; redistribution and modification are permitted under LICENSE.

Requires the development engine with target-based UI overrides and node-owned
UI actions. Update the engine and package together; 1.0.0 used root-only overrides.

## Install and use in the editor

```sh
demi package add demi.ui.orbit@1.1.0 --project path/to/game
```

Open a HUD in the editor. Installed prefabs appear in **UI Palette**. Insert a
prefab and edit its parameters in the Inspector. The same definitions also work
in hand-authored HUD JSON:

```json
{
  "format_version": 1,
  "canvas_size": [1160, 810],
  "children": [{
    "id": "launch",
    "prefab": "ui-prefab://orbit/button-primary",
    "arguments": {"label": "Launch", "accent": "#7DCBFF"},
    "overrides": {"$root": {"dock": "bottom", "margin": [24, 0, 24, 24]}}
  }]
}
```

Choose a unique instance ID. Descendants use that ID as a prefix: `settings.tabs.tab1`.
Keep `ui-prefab://orbit/...` references; do not reference installed cache paths.
The `ui/orbit/*.ui.prefab.json` parameter blocks describe every supported argument,
its type and default. Use `overrides["$root"]` for root layout and `overrides[local_id]` for
descendants; use `arguments` for shared parameters such as content and colors. Docking, anchors, padding and stacks remain ordinary engine layout.
Headers put the title and accent in one docked row, so resizing keeps them aligned.

## Create the same UI from Lua

```lua
local Hud = require("demi.hud")
local Orbit = require("demi.ui.orbit")

local palette = Orbit.palette("glacier", { accent = "#83D5FF" })
local button = Orbit.button("launch", "Launch", {palette = palette})
button.overrides = {["$root"] = {dock = "bottom", margin = {24, 0, 24, 24}}}
local handle, error = Hud.create("ui_root", button)
assert(handle, error)
```

`Orbit.node(kind, id, arguments?, palette?)` creates a prefab definition;
`Orbit.button(id, label, options?)` selects a button variant (`primary`, `secondary`,
`danger`, `quiet`). These factories do not create live nodes until `Hud.create`.
Creation expands the same prefab as authored HUDs, validates the whole subtree,
and rolls back on duplicate IDs or invalid input. Remove the returned handle with
`Hud.remove(handle)`.

## Components

| Group | Prefab names |
|---|---|
| Actions | `button-primary`, `button-secondary`, `button-danger`, `button-quiet` |
| Forms | `input`, `search`, `checkbox`, `toggle`, `slider`, `dropdown`, `radio-group`, `stepper` |
| Navigation | `tabs`, `segmented`, `pagination` |
| Status | `badge`, `metric`, `progress`, `status-bar`, `notification`, `tooltip` |
| Icons | `icon`, `icon-button`, `button-with-icon`, `icon-gallery` |
| Structure | `panel`, `heading`, `label`, `divider`, `list-row`, `slot`, `inventory-slot` |
| Compositions | `settings`, `dialog`, `modal`, `inventory`, `main-menu`, `showcase`, `components` |

`showcase` and `components` are complete 1160 Ã— 810 galleries. `settings` has
Audio, Display and Controls pages. `main-menu` and `inventory` are starting layouts;
gameplay, persistence and inventory data remain your game's responsibility.

## Colors

`Orbit.palette()` returns a fresh copy of the default **ember** palette. **glacier**
and **meadow** provide blue and green alternatives. Override any named color with
`#RRGGBB` or `#RRGGBBAA`. A factory passes only colors supported by its prefab.

| Color | Default | Use |
|---|---|---|
| `background` | `#101822` | Canvas and inset fields |
| `surface` | `#1B2735` | Panels |
| `raised` | `#263748` | Secondary controls |
| `stroke` | `#3B5166` | Borders |
| `text` | `#EEF4FA` | Main text |
| `muted` | `#A3B5C5` | Secondary text |
| `accent` | `#FFB66B` | Primary actions and selected state |
| `accent_hover` | `#FFD09A` | Primary hover |
| `on_accent` | `#19232F` | Text on accent |
| `positive` | `#67D7BB` | Positive status |
| `negative` | `#FA8093` | Destructive actions |

Palettes apply at creation. To recolor existing controls, use native HUD setters
or recreate that subtree. Check contrast after changing colors.

## Icons

32 original SVG icons ship with stable `asset://orbit/icons/<name>` IDs. Their
white masks take a native image node's tint; scale them through `size`. Use the
`icon`, `icon-button`, `button-with-icon` and `icon-gallery` prefabs in the editor.
The SVG files are also usable outside DemiEngine under the package's BSD license.

```lua
local definition = Orbit.icon("power_status", "energy", {
    size = {32, 32}, tint = "#67D7BB",
})
local button = Orbit.icon_button("settings", "settings", "Open settings", {
    action = "menu.settings", palette = Orbit.palette("glacier"),
})
local save = Orbit.node("button-with-icon", "save", {
    texture = Orbit.icon_asset("save"), label = "Save changes",
})
```

Pass your own `asset://` reference as the `texture` argument to any of these
prefabs. Give icon-only interactive controls an accessible `label`; decorative
icons inside buttons are hidden from accessibility traversal. Icons use the
engine's existing SVG importer/renderer capability, with no custom Lua decoder.
Only icons referenced by the active HUD need to load; installing the package
does not add every icon to project startup preload.

Included names: arrow-right, arrow-left, chevron-down, chevron-right, check,
close, plus, minus, search, menu, home, settings, user, crew, info, warning,
bell, power, play, pause, save, folder, download, upload, trash, lock, heart,
water, energy, cargo, globe, rocket.

## Compound-control behavior

Native buttons, inputs, sliders, toggles and declarative tabs work without package
controllers. Tabs can also switch pages in the HUD editor without Play.
Bind compound controls once in `on_start`, and dispose them in `on_destroy`:

```lua
function Menu:on_start()
    self.tabs = Orbit.bind_tabs("settings.tabs", {
        selected = 1,
        on_change = function(index) print("Page", index) end,
    })
    self.quality = Orbit.bind_dropdown("settings.quality", {selected = 2})
    self.controls = Orbit.bind_choices("settings.controls")
end

function Menu:on_destroy()
    self.tabs:dispose()
    self.quality:dispose()
    self.controls:dispose()
end
```

| Binding | Options and operations |
|---|---|
| `bind_tabs(id, options?)` | `selected`, optional `panels`, `on_change(index)`; `:select(index)`, `.value`. Also binds `segmented`. |
| `bind_dropdown(id, options?)` | `selected`, `on_change(index, text)`; `:select(index)`, `:open(bool)`, `.value`, `.opened`. Outside click or Cancel closes it. |
| `bind_choices(id, options?)` | `selected`, `on_change(index)`; `:select(index)`, `.value`. Binds exclusive `radio-group`. |
| `bind_stepper(id, options?)` | `minimum`, `maximum`, `step`, `value`, `on_change(value)`; `:set(value)`, `.value`. |
| `bind_pagination(id, options?)` | `pages`, `selected`, `on_change(page)`; `:select(page)`, `.value`. Shows a moving window of three pages. |
| `bind_tooltip(triggerId, tooltipId)` | Shows on pointer entry or keyboard focus; hides on exit, blur or Cancel. |
| `bind_dismiss(id, options?)` | Close button hides the notification; `on_change(false)`. |
| `bind_dialog(id, options?)` | Starts hidden; `:open()`, `:close(confirmed)`, `.opened`, `on_change(confirmed)`. |

All bindings return `:dispose()`. Dropdown disposal also removes its temporary
outside-click backdrop. Selection/value bindings call `on_change` during initial
selection and subsequent explicit selection, including selecting the same value.
Tabs, segmented controls, radio groups and dropdowns have three entries in these
starter prefabs; customize the prefab and binding together for another count.
Pagination supports any positive integer page count.

Listen for `ui_event` **submit** for button activation; a pointer click emits both
press and submit, so handling both as activation runs an action twice. Native focus
navigation, hover, disabled state and text editing remain engine responsibilities.
Do not bind the same compound instance more than once.

## Preview and tests

The engine checkout contains `examples/orbit_ui` with three interactive galleries,
a blue palette example, a menu and an inventory layout:

```sh
demi run --project examples/orbit_ui --window-size 1160x810
demi test linux --project examples/orbit_ui
demi package test packages/sources/demi.ui.orbit
```

The Components gallery links to the complete icon gallery.
The example script demonstrates subscriptions, control cleanup and runtime creation.
The galleries are templates for a game interface, not a complete game or inventory
system. Layouts use native nodes with original SVG icon assets; no reference-image asset is
included in this package.

## Authoring inactive pages and local content

Click a settings tab in the HUD view to reveal its page. The preview uses the
same declarative show/hide actions as the runtime, without running gameplay Lua.
Preview visibility is not saved and does not enter Undo history; Reset preview
state restores the authored page. It survives editing the page's content.

One map handles instance changes:

```json
"overrides": {
  "$root": {"size": [400, 440]},
  "title": {"text": "Colony settings"},
  "display_page": {
    "children": [{"id": "custom_hint", "type": "label", "text": "Local content", "size": [200, 30]}]
  },
  "alerts": null
}
```

Targets must exist in the chosen prefab; unknown IDs are errors. Local additions use stable host-document IDs and may contain further prefab instances. Moving them between prefab containers preserves those IDs.
In the Inspector, Reset restores inherited property values; the owning instance
provides Restore for removed nodes. Adding/removing local content is undoable and
never rewrites the installed package source.

The `settings` prefab declares page actions alongside the `tabs` prefab's
indicator actions. The engine namespaces both together. `Orbit.bind_tabs` adds
selection state/callbacks and programmatic `:select`; it is not required merely
to switch the authored pages. Optional external `panels` remain a runtime binding
for custom content; declare matching action effects to preview that content in
the editor. Native `Hud.apply_action` is also available directly.

Drag children between containers in Hierarchy to reorganize a view, including
across prefab instances. Inherited children keep their link and receive a parent
override; parent and action references in overrides use host-document IDs.
Choose **Unpack Prefab** in Hierarchy or Inspector for independent editable content.
This bakes the owning instance and nested prefabs with their authored overrides,
preserves IDs and references, and supports Undo. Temporary tab-preview state is
not saved into the unpacked nodes.
{
  "dependencies": [],
  "format_version": 1,
  "id": "asset://orbit/icons/arrow-left",
  "importer": "svg",
  "importer_version": 1,
  "settings": {},
  "source": "arrow-left.svg",
  "source_hash": "fnv1a64:5ea59569a207c5e8",
  "type": "Icon2D"
}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M20 12H5m6-6-6 6 6 6"/></svg>
{
  "dependencies": [],
  "format_version": 1,
  "id": "asset://orbit/icons/arrow-right",
  "importer": "svg",
  "importer_version": 1,
  "settings": {},
  "source": "arrow-right.svg",
  "source_hash": "fnv1a64:d426fd303c2adb65",
  "type": "Icon2D"
}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M4 12h15m-6-6 6 6-6 6"/></svg>
{
  "dependencies": [],
  "format_version": 1,
  "id": "asset://orbit/icons/bell",
  "importer": "svg",
  "importer_version": 1,
  "settings": {},
  "source": "bell.svg",
  "source_hash": "fnv1a64:447022819676bcfd",
  "type": "Icon2D"
}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M6 10a6 6 0 0 1 12 0v6l2 2H4l2-2Zm4 11h4M12 2v2"/></svg>
{
  "dependencies": [],
  "format_version": 1,
  "id": "asset://orbit/icons/cargo",
  "importer": "svg",
  "importer_version": 1,
  "settings": {},
  "source": "cargo.svg",
  "source_hash": "fnv1a64:2ece30bfbb0d5946",
  "type": "Icon2D"
}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="m12 2 9 5v10l-9 5-9-5V7ZM3 7l9 5 9-5M12 12v10M8 4l9 5v5"/></svg>
{
  "dependencies": [],
  "format_version": 1,
  "id": "asset://orbit/icons/check",
  "importer": "svg",
  "importer_version": 1,
  "settings": {},
  "source": "check.svg",
  "source_hash": "fnv1a64:74ae9f31fb5c3004",
  "type": "Icon2D"
}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="m5 12 4 5L19 7"/></svg>
{
  "dependencies": [],
  "format_version": 1,
  "id": "asset://orbit/icons/chevron-down",
  "importer": "svg",
  "importer_version": 1,
  "settings": {},
  "source": "chevron-down.svg",
  "source_hash": "fnv1a64:86bca8bf0f507c34",
  "type": "Icon2D"
}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>
{
  "dependencies": [],
  "format_version": 1,
  "id": "asset://orbit/icons/chevron-right",
  "importer": "svg",
  "importer_version": 1,
  "settings": {},
  "source": "chevron-right.svg",
  "source_hash": "fnv1a64:646f07ecb53722a0",
  "type": "Icon2D"
}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="m9 6 6 6-6 6"/></svg>
{
  "dependencies": [],
  "format_version": 1,
  "id": "asset://orbit/icons/close",
  "importer": "svg",
  "importer_version": 1,
  "settings": {},
  "source": "close.svg",
  "source_hash": "fnv1a64:7b597d1b399df995",
  "type": "Icon2D"
}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="m6 6 12 12M18 6 6 18"/></svg>
{
  "dependencies": [],
  "format_version": 1,
  "id": "asset://orbit/icons/crew",
  "importer": "svg",
  "importer_version": 1,
  "settings": {},
  "source": "crew.svg",
  "source_hash": "fnv1a64:f92921ef29b73af8",
  "type": "Icon2D"
}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="7" r="3"/><path d="M3 21v-3a6 6 0 0 1 12 0v3M16 4a3 3 0 0 1 0 6m2 4a5 5 0 0 1 3 4v3"/></svg>
{
  "dependencies": [],
  "format_version": 1,
  "id": "asset://orbit/icons/download",
  "importer": "svg",
  "importer_version": 1,
  "settings": {},
  "source": "download.svg",
  "source_hash": "fnv1a64:0a01ee6147be4c3c",
  "type": "Icon2D"
}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v13m-5-5 5 5 5-5M3 16v5h18v-5"/></svg>
{
  "dependencies": [],
  "format_version": 1,
  "id": "asset://orbit/icons/energy",
  "importer": "svg",
  "importer_version": 1,
  "settings": {},
  "source": "energy.svg",
  "source_hash": "fnv1a64:9f92be3e3f845b78",
  "type": "Icon2D"
}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="m14 2-10 12h7l-1 8 10-12h-7Z"/></svg>
{
  "dependencies": [],
  "format_version": 1,
  "id": "asset://orbit/icons/folder",
  "importer": "svg",
  "importer_version": 1,
  "settings": {},
  "source": "folder.svg",
  "source_hash": "fnv1a64:ab5ac7b850374586",
  "type": "Icon2D"
}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M3 5h7l3 3h8v13H3Z"/></svg>
{
  "dependencies": [],
  "format_version": 1,
  "id": "asset://orbit/icons/globe",
  "importer": "svg",
  "importer_version": 1,
  "settings": {},
  "source": "globe.svg",
  "source_hash": "fnv1a64:c1bce1fac0ed4c58",
  "type": "Icon2D"
}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><ellipse cx="12" cy="12" rx="4" ry="9"/><path d="M3 12h18"/></svg>
{
  "dependencies": [],
  "format_version": 1,
  "id": "asset://orbit/icons/heart",
  "importer": "svg",
  "importer_version": 1,
  "settings": {},
  "source": "heart.svg",
  "source_hash": "fnv1a64:24c73f452d2683cd",
  "type": "Icon2D"
}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M12 21 3 12C-2 4 7-1 12 7c5-8 14-3 9 5Z"/></svg>
{
  "dependencies": [],
  "format_version": 1,
  "id": "asset://orbit/icons/home",
  "importer": "svg",
  "importer_version": 1,
  "settings": {},
  "source": "home.svg",
  "source_hash": "fnv1a64:1b978434de859b28",
  "type": "Icon2D"
}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="m3 11 9-8 9 8M5 10v11h5v-7h4v7h5V10"/></svg>
{
  "dependencies": [],
  "format_version": 1,
  "id": "asset://orbit/icons/info",
  "importer": "svg",
  "importer_version": 1,
  "settings": {},
  "source": "info.svg",
  "source_hash": "fnv1a64:3bf152d3c5e0250c",
  "type": "Icon2D"
}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="M12 11v6M12 7v.2"/></svg>
{
  "dependencies": [],
  "format_version": 1,
  "id": "asset://orbit/icons/lock",
  "importer": "svg",
  "importer_version": 1,
  "settings": {},
  "source": "lock.svg",
  "source_hash": "fnv1a64:86df211597cd1eaa",
  "type": "Icon2D"
}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><rect x="5" y="10" width="14" height="11" rx="2"/><path d="M8 10V6a4 4 0 0 1 8 0v4m-4 5v2"/></svg>
{
  "dependencies": [],
  "format_version": 1,
  "id": "asset://orbit/icons/menu",
  "importer": "svg",
  "importer_version": 1,
  "settings": {},
  "source": "menu.svg",
  "source_hash": "fnv1a64:79ec803b9dbbc0d8",
  "type": "Icon2D"
}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M4 6h16M4 12h16M4 18h16"/></svg>
{
  "dependencies": [],
  "format_version": 1,
  "id": "asset://orbit/icons/minus",
  "importer": "svg",
  "importer_version": 1,
  "settings": {},
  "source": "minus.svg",
  "source_hash": "fnv1a64:09fe02dadf8615ef",
  "type": "Icon2D"
}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"/></svg>
{
  "dependencies": [],
  "format_version": 1,
  "id": "asset://orbit/icons/pause",
  "importer": "svg",
  "importer_version": 1,
  "settings": {},
  "source": "pause.svg",
  "source_hash": "fnv1a64:2ffcd9623dab47f4",
  "type": "Icon2D"
}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M7 4v16M17 4v16"/></svg>
{
  "dependencies": [],
  "format_version": 1,
  "id": "asset://orbit/icons/play",
  "importer": "svg",
  "importer_version": 1,
  "settings": {},
  "source": "play.svg",
  "source_hash": "fnv1a64:5a03a81711e39cff",
  "type": "Icon2D"
}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="m7 3 14 9-14 9Z"/></svg>
{
  "dependencies": [],
  "format_version": 1,
  "id": "asset://orbit/icons/plus",
  "importer": "svg",
  "importer_version": 1,
  "settings": {},
  "source": "plus.svg",
  "source_hash": "fnv1a64:8f5ee03a2067b3fb",
  "type": "Icon2D"
}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M12 5v14M5 12h14"/></svg>
{
  "dependencies": [],
  "format_version": 1,
  "id": "asset://orbit/icons/power",
  "importer": "svg",
  "importer_version": 1,
  "settings": {},
  "source": "power.svg",
  "source_hash": "fnv1a64:987e70b423bad2c2",
  "type": "Icon2D"
}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v10M6 5a9 9 0 1 0 12 0"/></svg>
{
  "dependencies": [],
  "format_version": 1,
  "id": "asset://orbit/icons/rocket",
  "importer": "svg",
  "importer_version": 1,
  "settings": {},
  "source": "rocket.svg",
  "source_hash": "fnv1a64:99cceb0d7668b17d",
  "type": "Icon2D"
}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M9 15c1-7 6-12 12-12 0 6-5 11-12 12ZM9 9H5l-3 7 7-1m6 0v4l-7 3 1-7M5 19l-2 2"/><circle cx="16" cy="8" r="2"/></svg>
{
  "dependencies": [],
  "format_version": 1,
  "id": "asset://orbit/icons/save",
  "importer": "svg",
  "importer_version": 1,
  "settings": {},
  "source": "save.svg",
  "source_hash": "fnv1a64:02c1359a74c460f6",
  "type": "Icon2D"
}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M4 3h13l4 4v14H3V3Zm3 0v6h10V3M7 21v-8h10v8"/></svg>
{
  "dependencies": [],
  "format_version": 1,
  "id": "asset://orbit/icons/search",
  "importer": "svg",
  "importer_version": 1,
  "settings": {},
  "source": "search.svg",
  "source_hash": "fnv1a64:0ac345a42cbcab57",
  "type": "Icon2D"
}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><circle cx="10" cy="10" r="6"/><path d="m15 15 5 5"/></svg>
{
  "dependencies": [],
  "format_version": 1,
  "id": "asset://orbit/icons/settings",
  "importer": "svg",
  "importer_version": 1,
  "settings": {},
  "source": "settings.svg",
  "source_hash": "fnv1a64:78ed1b40ad7a4206",
  "type": "Icon2D"
}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M4 6h16M4 12h16M4 18h16"/><path d="M8 3v6m8 0v6m-6 0v6"/></svg>
{
  "dependencies": [],
  "format_version": 1,
  "id": "asset://orbit/icons/trash",
  "importer": "svg",
  "importer_version": 1,
  "settings": {},
  "source": "trash.svg",
  "source_hash": "fnv1a64:fbe8d8a5e61cc21b",
  "type": "Icon2D"
}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M3 6h18M8 6V3h8v3M5 6l1 15h12l1-15M10 10v7m4-7v7"/></svg>
{
  "dependencies": [],
  "format_version": 1,
  "id": "asset://orbit/icons/upload",
  "importer": "svg",
  "importer_version": 1,
  "settings": {},
  "source": "upload.svg",
  "source_hash": "fnv1a64:fc626bfe3d1a07c6",
  "type": "Icon2D"
}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M12 16V3m-5 5 5-5 5 5M3 16v5h18v-5"/></svg>
{
  "dependencies": [],
  "format_version": 1,
  "id": "asset://orbit/icons/user",
  "importer": "svg",
  "importer_version": 1,
  "settings": {},
  "source": "user.svg",
  "source_hash": "fnv1a64:e9686824b17d0ba1",
  "type": "Icon2D"
}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="7" r="4"/><path d="M4 21v-2a8 8 0 0 1 16 0v2"/></svg>
{
  "dependencies": [],
  "format_version": 1,
  "id": "asset://orbit/icons/warning",
  "importer": "svg",
  "importer_version": 1,
  "settings": {},
  "source": "warning.svg",
  "source_hash": "fnv1a64:991a0113a6a0b230",
  "type": "Icon2D"
}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="m12 3 10 18H2ZM12 9v5m0 3v.2"/></svg>
{
  "dependencies": [],
  "format_version": 1,
  "id": "asset://orbit/icons/water",
  "importer": "svg",
  "importer_version": 1,
  "settings": {},
  "source": "water.svg",
  "source_hash": "fnv1a64:dc3473f59a614913",
  "type": "Icon2D"
}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2 5 12a8 8 0 1 0 14 0ZM8 15a4 4 0 0 0 4 4"/></svg>
local Templates = require("demi.ui.orbit.templates")
local Orbit = {}

local function copy(value)
  if type(value) ~= "table" then return value end
  local result = {}
  for key, item in pairs(value) do result[key] = copy(item) end
  return result
end

local defaults = {}
for key, parameter in pairs(Templates.showcase.parameters) do
  if type(parameter.default) == "string" and parameter.default:sub(1, 1) == "#" then
    defaults[key] = parameter.default
  end
end
local variants = {
  ember = {},
  glacier = { accent = "#7DCBFF", accent_hover = "#B4E3FF", positive = "#8ADABD" },
  meadow = { accent = "#B6DD83", accent_hover = "#D5EFB2", positive = "#7FD7C8" },
}

---Returns an independent palette. All overrides are #RRGGBB or #RRGGBBAA strings.
---@param name? string ember, glacier or meadow
---@param overrides? table
function Orbit.palette(name, overrides)
  name = name or "ember"
  assert(variants[name], "Unknown Orbit palette: " .. tostring(name))
  local result = copy(defaults)
  for key, value in pairs(variants[name]) do result[key] = value end
  for key, value in pairs(overrides or {}) do
    assert(defaults[key], "Unknown Orbit color: " .. tostring(key))
    assert(type(value) == "string" and (value:match("^#%x%x%x%x%x%x$") or value:match("^#%x%x%x%x%x%x%x%x$")),
      "Orbit colors must use #RRGGBB or #RRGGBBAA")
    result[key] = value
  end
  return result
end

local function values_for(kind, arguments, palette)
  local template = assert(Templates[kind], "Unknown Orbit component: " .. tostring(kind))
  local values = {}
  for key, parameter in pairs(template.parameters) do
    values[key] = copy(palette and palette[key] or parameter.default)
  end
  for key, value in pairs(arguments or {}) do
    local parameter = assert(template.parameters[key], "Unknown Orbit argument: " .. tostring(key))
    local expected = parameter.type
    assert(type(value) == expected or ((expected == "array" or expected == "object") and type(value) == "table"),
      "Wrong type for Orbit argument: " .. key)
    values[key] = copy(value)
  end
  return values
end

---Build a HUD prefab definition for either authored JSON or Hud.create.
---The engine expands the same prefab source in both cases.
function Orbit.node(kind, id, arguments, palette)
  assert(type(id) == "string" and id ~= "", "Orbit instances need a stable nonempty ID")
  values_for(kind, arguments, palette)
  local values = copy(arguments or {})
  for key, value in pairs(palette or {}) do
    if Templates[kind].parameters[key] and values[key] == nil then values[key] = value end
  end
  return { id = id, prefab = "ui-prefab://orbit/" .. kind, arguments = values }
end

function Orbit.button(id, label, options)
  options = copy(options or {})
  local variant = options.variant or "primary"
  local palette = options.palette
  options.variant, options.palette = nil, nil
  options.label = label
  return Orbit.node("button-" .. variant, id, options, palette)
end

---Stable asset URI for a bundled icon; use any asset URI for custom artwork.
function Orbit.icon_asset(name)
  assert(Templates._icons[name], "Unknown Orbit icon: " .. tostring(name))
  return "asset://orbit/icons/" .. name
end

function Orbit.icon(id, name, options)
  options = copy(options or {})
  options.texture = Orbit.icon_asset(name)
  return Orbit.node("icon", id, options)
end

function Orbit.icon_button(id, name, label, options)
  options = copy(options or {})
  local palette = options.palette
  options.palette = nil
  options.texture, options.label = Orbit.icon_asset(name), label
  return Orbit.node("icon-button", id, options, palette)
end

local Controls = require("demi.ui.orbit.controls")
Orbit.bind_tabs = Controls.tabs
Orbit.bind_dropdown = Controls.dropdown
Orbit.bind_choices = Controls.choices
Orbit.bind_stepper = Controls.stepper
Orbit.bind_pagination = Controls.pagination
Orbit.bind_tooltip = Controls.tooltip
Orbit.bind_dismiss = Controls.dismiss
Orbit.bind_dialog = Controls.dialog
return Orbit
-- Compound-control policy stays in the package; the engine owns input/layout.
local Controls = {}
local function bind(callback)
  local Events = require("demi.events")
  local state = {}
  local subscription = Events.subscribe("ui_event", callback)
  function state:dispose()
    if subscription then Events.unsubscribe(subscription); subscription = nil end
  end
  return state
end
local function pressed(event) return event.type == "submit" end
local function changed(options, ...) if options and options.on_change then options.on_change(...) end end
local function require_node(Hud, id) assert(Hud.find(id), "Missing Orbit control: " .. id) end

function Controls.tabs(root, options)
  local Hud = require("demi.hud")
  options = options or {}
  require_node(Hud, root .. ".tab1")
  local state
  state = bind(function(e)
    if not pressed(e) then return end
    for i = 1, 3 do if e.id == root .. ".tab" .. i then state:select(i) end end
  end)
  function state:select(index)
    assert(index >= 1 and index <= 3 and index % 1 == 0, "Tab index must be 1..3")
    assert(Hud.apply_action(root .. ".select" .. index), "Missing tab action: " .. root)
    for i = 1, 3 do
      if options.panels and options.panels[i] then Hud.set_visible(options.panels[i], i == index) end
    end
    self.value = index
    changed(options, index)
  end
  state:select(options.selected or 1)
  return state
end

function Controls.dropdown(root, options)
  local Hud = require("demi.hud")
  options = options or {}
  require_node(Hud, root .. ".trigger")
  local backdrop_id = root .. ".backdrop"
  assert(not Hud.find(backdrop_id), "Dropdown is already bound: " .. root)
  local backdrop, error = Hud.create("", {id=backdrop_id, type="button", dock="fill",
    visible=false, focusable=false, accessibility_hidden=true, background_color="#00000000", hover_color="#00000000", layer=199})
  assert(backdrop, error)
  local state
  state = bind(function(e)
    if e.type == "cancel" then state:open(false); return end
    if not pressed(e) then return end
    if e.id == root .. ".trigger" then state:open(not state.opened)
    elseif e.id == backdrop_id then state:open(false)
    else
      for i = 1, 3 do if e.id == root .. ".option" .. i then state:select(i); return end end
      if state.opened then state:open(false) end
    end
  end)
  function state:open(value)
    self.opened = value
    Hud.set_visible(backdrop_id, value)
    Hud.set_visible(root .. ".menu", value)
  end
  function state:select(index)
    assert(index >= 1 and index <= 3 and index % 1 == 0, "Dropdown index must be 1..3")
    local text = assert(Hud.get_text(root .. ".option" .. index))
    self.value = index
    Hud.set_text(root .. ".trigger", text)
    self:open(false)
    changed(options, index, text)
  end
  local unsubscribe = state.dispose
  function state:dispose() unsubscribe(self); if Hud.find(backdrop_id) then Hud.remove(backdrop) end end
  state:select(options.selected or 2)
  return state
end

function Controls.choices(root, options)
  local Hud = require("demi.hud")
  options = options or {}
  require_node(Hud, root .. ".option1")
  local state
  state = bind(function(e)
    if not pressed(e) then return end
    for i = 1, 3 do if e.id == root .. ".option" .. i then state:select(i) end end
  end)
  function state:select(index)
    assert(index >= 1 and index <= 3 and index % 1 == 0, "Choice index must be 1..3")
    self.value = index
    for i = 1, 3 do Hud.set_checked(root .. ".option" .. i, i == index) end
    changed(options, index)
  end
  state:select(options.selected or 1)
  return state
end

function Controls.stepper(root, options)
  local Hud = require("demi.hud")
  options = options or {}
  local minimum, maximum, step = options.minimum or 0, options.maximum or 99, options.step or 1
  assert(minimum <= maximum and step > 0, "Invalid stepper bounds")
  require_node(Hud, root .. ".value")
  local state
  state = bind(function(e)
    if not pressed(e) then return end
    if e.id == root .. ".minus" then state:set(state.value - step)
    elseif e.id == root .. ".plus" then state:set(state.value + step) end
  end)
  function state:set(value)
    self.value = math.max(minimum, math.min(maximum, value))
    Hud.set_text(root .. ".value", tostring(self.value))
    Hud.set_disabled(root .. ".minus", self.value <= minimum)
    Hud.set_disabled(root .. ".plus", self.value >= maximum)
    changed(options, self.value)
  end
  state:set(options.value or tonumber(Hud.get_text(root .. ".value")) or minimum)
  return state
end

function Controls.pagination(root, options)
  local Hud = require("demi.hud")
  options = options or {}
  local count = options.pages or 3
  assert(count >= 1 and count % 1 == 0, "Page count must be a positive integer")
  require_node(Hud, root .. ".page1")
  local state
  state = bind(function(e)
    if not pressed(e) then return end
    if e.id == root .. ".previous" then state:select(state.value - 1)
    elseif e.id == root .. ".next" then state:select(state.value + 1)
    else for i = 1, 3 do if e.id == root .. ".page" .. i then state:select(state.first + i - 1) end end end
  end)
  function state:select(page)
    self.value = math.max(1, math.min(count, page))
    self.first = math.max(1, math.min(self.value - 1, math.max(1, count - 2)))
    for i = 1, 3 do
      local number = self.first + i - 1
      Hud.set_visible(root .. ".page" .. i, number <= count)
      Hud.set_text(root .. ".page" .. i, (number == self.value and "[" or "") .. number .. (number == self.value and "]" or ""))
    end
    Hud.set_disabled(root .. ".previous", self.value == 1)
    Hud.set_disabled(root .. ".next", self.value == count)
    changed(options, self.value)
  end
  state:select(options.selected or 1)
  return state
end

function Controls.tooltip(trigger, tooltip)
  local Hud = require("demi.hud")
  require_node(Hud, trigger); require_node(Hud, tooltip)
  Hud.set_visible(tooltip, false)
  return bind(function(e)
    if e.id ~= trigger then return end
    if e.type == "pointer_enter" or e.type == "focus_gained" then Hud.set_visible(tooltip, true)
    elseif e.type == "pointer_exit" or e.type == "focus_lost" or e.type == "cancel" then Hud.set_visible(tooltip, false) end
  end)
end

function Controls.dismiss(root, options)
  local Hud = require("demi.hud")
  options = options or {}
  require_node(Hud, root .. ".close")
  return bind(function(e)
    if pressed(e) and e.id == root .. ".close" then Hud.set_visible(root, false); changed(options, false) end
  end)
end

function Controls.dialog(root, options)
  local Hud = require("demi.hud")
  options = options or {}
  require_node(Hud, root)
  local state
  state = bind(function(e)
    if not pressed(e) and e.type ~= "cancel" then return end
    if e.id == root .. ".confirm" then state:close(true)
    elseif e.id == root .. ".cancel" or (state.opened and e.type == "cancel") then state:close(false) end
  end)
  function state:open() self.opened = true; Hud.set_visible(root, true); Hud.focus_next() end
  function state:close(confirmed) self.opened = false; Hud.set_visible(root, false); changed(options, confirmed) end
  Hud.set_visible(root, false)
  return state
end
return Controls
-- Generated parameter metadata; run scripts/update_orbit_metadata.py.
return {
  ["badge"] = {["parameters"]={["accent"]={["default"]="#FFB66B",["type"]="string"},["label"]={["default"]="ONLINE",["type"]="string"},["raised"]={["default"]="#263748",["type"]="string"},["size"]={["default"]={128,30},["type"]="array"}}},
  ["button-danger"] = {["parameters"]={["accent"]={["default"]="#FFB66B",["type"]="string"},["accent_hover"]={["default"]="#FFD09A",["type"]="string"},["action"]={["default"]="",["type"]="string"},["disabled"]={["default"]=false,["type"]="boolean"},["label"]={["default"]="Continue",["type"]="string"},["negative"]={["default"]="#FA8093",["type"]="string"},["on_accent"]={["default"]="#19232F",["type"]="string"},["size"]={["default"]={200,44},["type"]="array"},["stroke"]={["default"]="#3B5166",["type"]="string"}}},
  ["button-primary"] = {["parameters"]={["accent"]={["default"]="#FFB66B",["type"]="string"},["accent_hover"]={["default"]="#FFD09A",["type"]="string"},["action"]={["default"]="",["type"]="string"},["disabled"]={["default"]=false,["type"]="boolean"},["label"]={["default"]="Continue",["type"]="string"},["on_accent"]={["default"]="#19232F",["type"]="string"},["size"]={["default"]={200,44},["type"]="array"},["stroke"]={["default"]="#3B5166",["type"]="string"}}},
  ["button-quiet"] = {["parameters"]={["accent"]={["default"]="#FFB66B",["type"]="string"},["action"]={["default"]="",["type"]="string"},["disabled"]={["default"]=false,["type"]="boolean"},["label"]={["default"]="Continue",["type"]="string"},["size"]={["default"]={200,44},["type"]="array"},["stroke"]={["default"]="#3B5166",["type"]="string"},["text"]={["default"]="#EEF4FA",["type"]="string"}}},
  ["button-secondary"] = {["parameters"]={["accent"]={["default"]="#FFB66B",["type"]="string"},["action"]={["default"]="",["type"]="string"},["disabled"]={["default"]=false,["type"]="boolean"},["label"]={["default"]="Continue",["type"]="string"},["raised"]={["default"]="#263748",["type"]="string"},["size"]={["default"]={200,44},["type"]="array"},["stroke"]={["default"]="#3B5166",["type"]="string"},["text"]={["default"]="#EEF4FA",["type"]="string"}}},
  ["button-with-icon"] = {["parameters"]={["accent"]={["default"]="#FFB66B",["type"]="string"},["action"]={["default"]="",["type"]="string"},["disabled"]={["default"]=false,["type"]="boolean"},["label"]={["default"]="Settings",["type"]="string"},["raised"]={["default"]="#263748",["type"]="string"},["size"]={["default"]={200,44},["type"]="array"},["stroke"]={["default"]="#3B5166",["type"]="string"},["text"]={["default"]="#EEF4FA",["type"]="string"},["texture"]={["default"]="asset://orbit/icons/settings",["type"]="string"}}},
  ["checkbox"] = {["parameters"]={["accent"]={["default"]="#FFB66B",["type"]="string"},["action"]={["default"]="",["type"]="string"},["background"]={["default"]="#101822",["type"]="string"},["checked"]={["default"]=false,["type"]="boolean"},["disabled"]={["default"]=false,["type"]="boolean"},["label"]={["default"]="Remember my choice",["type"]="string"},["size"]={["default"]={280,44},["type"]="array"},["stroke"]={["default"]="#3B5166",["type"]="string"},["text"]={["default"]="#EEF4FA",["type"]="string"}}},
  ["components"] = {["parameters"]={["accent"]={["default"]="#FFB66B",["type"]="string"},["accent_hover"]={["default"]="#FFD09A",["type"]="string"},["background"]={["default"]="#101822",["type"]="string"},["muted"]={["default"]="#A3B5C5",["type"]="string"},["on_accent"]={["default"]="#19232F",["type"]="string"},["raised"]={["default"]="#263748",["type"]="string"},["stroke"]={["default"]="#3B5166",["type"]="string"},["surface"]={["default"]="#1B2735",["type"]="string"},["text"]={["default"]="#EEF4FA",["type"]="string"}}},
  ["dialog"] = {["parameters"]={["accent"]={["default"]="#FFB66B",["type"]="string"},["accent_hover"]={["default"]="#FFD09A",["type"]="string"},["cancel_action"]={["default"]="cancel",["type"]="string"},["confirm_action"]={["default"]="confirm",["type"]="string"},["message"]={["default"]="Your crew is prepared. Confirm to begin the expedition.",["type"]="string"},["muted"]={["default"]="#A3B5C5",["type"]="string"},["on_accent"]={["default"]="#19232F",["type"]="string"},["raised"]={["default"]="#263748",["type"]="string"},["stroke"]={["default"]="#3B5166",["type"]="string"},["surface"]={["default"]="#1B2735",["type"]="string"},["text"]={["default"]="#EEF4FA",["type"]="string"},["title"]={["default"]="Ready to depart?",["type"]="string"}}},
  ["divider"] = {["parameters"]={["size"]={["default"]={280,1},["type"]="array"},["stroke"]={["default"]="#3B5166",["type"]="string"}}},
  ["dropdown"] = {["parameters"]={["accent"]={["default"]="#FFB66B",["type"]="string"},["background"]={["default"]="#101822",["type"]="string"},["label1"]={["default"]="Low",["type"]="string"},["label2"]={["default"]="Balanced",["type"]="string"},["label3"]={["default"]="Ultra",["type"]="string"},["muted"]={["default"]="#A3B5C5",["type"]="string"},["raised"]={["default"]="#263748",["type"]="string"},["size"]={["default"]={280,44},["type"]="array"},["stroke"]={["default"]="#3B5166",["type"]="string"},["surface"]={["default"]="#1B2735",["type"]="string"},["text"]={["default"]="#EEF4FA",["type"]="string"}}},
  ["heading"] = {["parameters"]={["label"]={["default"]="Heading",["type"]="string"},["size"]={["default"]={320,40},["type"]="array"},["text"]={["default"]="#EEF4FA",["type"]="string"}}},
  ["icon-button"] = {["parameters"]={["accent"]={["default"]="#FFB66B",["type"]="string"},["action"]={["default"]="",["type"]="string"},["disabled"]={["default"]=false,["type"]="boolean"},["label"]={["default"]="Settings",["type"]="string"},["raised"]={["default"]="#263748",["type"]="string"},["size"]={["default"]={44,44},["type"]="array"},["stroke"]={["default"]="#3B5166",["type"]="string"},["text"]={["default"]="#EEF4FA",["type"]="string"},["texture"]={["default"]="asset://orbit/icons/settings",["type"]="string"}}},
  ["icon-gallery"] = {["parameters"]={["tint"]={["default"]="#FFB66B",["type"]="string"}}},
  ["icon"] = {["parameters"]={["label"]={["default"]="",["type"]="string"},["size"]={["default"]={24,24},["type"]="array"},["texture"]={["default"]="asset://orbit/icons/rocket",["type"]="string"},["tint"]={["default"]="#EEF4FA",["type"]="string"}}},
  ["input"] = {["parameters"]={["accent"]={["default"]="#FFB66B",["type"]="string"},["action"]={["default"]="",["type"]="string"},["background"]={["default"]="#101822",["type"]="string"},["placeholder"]={["default"]="Enter a name",["type"]="string"},["raised"]={["default"]="#263748",["type"]="string"},["size"]={["default"]={280,44},["type"]="array"},["stroke"]={["default"]="#3B5166",["type"]="string"},["text"]={["default"]="#EEF4FA",["type"]="string"},["value"]={["default"]="",["type"]="string"}}},
  ["inventory-slot"] = {["parameters"]={["accent"]={["default"]="#FFB66B",["type"]="string"},["action"]={["default"]="",["type"]="string"},["count"]={["default"]="24",["type"]="string"},["disabled"]={["default"]=false,["type"]="boolean"},["label"]={["default"]="ORE",["type"]="string"},["raised"]={["default"]="#263748",["type"]="string"},["size"]={["default"]={76,76},["type"]="array"},["stroke"]={["default"]="#3B5166",["type"]="string"},["text"]={["default"]="#EEF4FA",["type"]="string"}}},
  ["inventory"] = {["parameters"]={["accent"]={["default"]="#FFB66B",["type"]="string"},["background"]={["default"]="#101822",["type"]="string"},["raised"]={["default"]="#263748",["type"]="string"},["stroke"]={["default"]="#3B5166",["type"]="string"},["surface"]={["default"]="#1B2735",["type"]="string"},["text"]={["default"]="#EEF4FA",["type"]="string"},["title"]={["default"]="Cargo hold",["type"]="string"}}},
  ["label"] = {["parameters"]={["label"]={["default"]="Label",["type"]="string"},["size"]={["default"]={240,24},["type"]="array"},["text"]={["default"]="#EEF4FA",["type"]="string"}}},
  ["list-row"] = {["parameters"]={["accent"]={["default"]="#FFB66B",["type"]="string"},["action"]={["default"]="",["type"]="string"},["detail"]={["default"]="Manage your next assignment",["type"]="string"},["muted"]={["default"]="#A3B5C5",["type"]="string"},["raised"]={["default"]="#263748",["type"]="string"},["size"]={["default"]={320,64},["type"]="array"},["stroke"]={["default"]="#3B5166",["type"]="string"},["surface"]={["default"]="#1B2735",["type"]="string"},["symbol"]={["default"]="01",["type"]="string"},["text"]={["default"]="#EEF4FA",["type"]="string"},["title"]={["default"]="Surface operations",["type"]="string"}}},
  ["main-menu"] = {["parameters"]={["accent"]={["default"]="#FFB66B",["type"]="string"},["accent_hover"]={["default"]="#FFD09A",["type"]="string"},["background"]={["default"]="#101822",["type"]="string"},["muted"]={["default"]="#A3B5C5",["type"]="string"},["on_accent"]={["default"]="#19232F",["type"]="string"},["raised"]={["default"]="#263748",["type"]="string"},["stroke"]={["default"]="#3B5166",["type"]="string"},["subtitle"]={["default"]="Your next story starts here.",["type"]="string"},["surface"]={["default"]="#1B2735",["type"]="string"},["text"]={["default"]="#EEF4FA",["type"]="string"},["title"]={["default"]="Beyond the horizon",["type"]="string"}}},
  ["metric"] = {["parameters"]={["accent"]={["default"]="#FFB66B",["type"]="string"},["label"]={["default"]="POWER RESERVE",["type"]="string"},["muted"]={["default"]="#A3B5C5",["type"]="string"},["size"]={["default"]={176,100},["type"]="array"},["stroke"]={["default"]="#3B5166",["type"]="string"},["surface"]={["default"]="#1B2735",["type"]="string"},["value"]={["default"]="84 kW",["type"]="string"}}},
  ["modal"] = {["parameters"]={["accent"]={["default"]="#FFB66B",["type"]="string"},["accent_hover"]={["default"]="#FFD09A",["type"]="string"},["cancel_action"]={["default"]="cancel",["type"]="string"},["confirm_action"]={["default"]="confirm",["type"]="string"},["message"]={["default"]="You can cancel and return safely.",["type"]="string"},["muted"]={["default"]="#A3B5C5",["type"]="string"},["on_accent"]={["default"]="#19232F",["type"]="string"},["raised"]={["default"]="#263748",["type"]="string"},["stroke"]={["default"]="#3B5166",["type"]="string"},["surface"]={["default"]="#1B2735",["type"]="string"},["text"]={["default"]="#EEF4FA",["type"]="string"},["title"]={["default"]="Confirm your choice",["type"]="string"}}},
  ["notification"] = {["parameters"]={["accent"]={["default"]="#FFB66B",["type"]="string"},["message"]={["default"]="Your settings are ready for the next mission.",["type"]="string"},["muted"]={["default"]="#A3B5C5",["type"]="string"},["stroke"]={["default"]="#3B5166",["type"]="string"},["surface"]={["default"]="#1B2735",["type"]="string"},["text"]={["default"]="#EEF4FA",["type"]="string"},["title"]={["default"]="Changes saved",["type"]="string"}}},
  ["pagination"] = {["parameters"]={["accent"]={["default"]="#FFB66B",["type"]="string"},["raised"]={["default"]="#263748",["type"]="string"},["size"]={["default"]={280,40},["type"]="array"},["stroke"]={["default"]="#3B5166",["type"]="string"},["text"]={["default"]="#EEF4FA",["type"]="string"}}},
  ["panel"] = {["parameters"]={["accent"]={["default"]="#FFB66B",["type"]="string"},["content"]={["default"]={},["type"]="array"},["size"]={["default"]={320,260},["type"]="array"},["stroke"]={["default"]="#3B5166",["type"]="string"},["surface"]={["default"]="#1B2735",["type"]="string"},["text"]={["default"]="#EEF4FA",["type"]="string"},["title"]={["default"]="Panel",["type"]="string"}}},
  ["progress"] = {["parameters"]={["accent"]={["default"]="#FFB66B",["type"]="string"},["action"]={["default"]="",["type"]="string"},["muted"]={["default"]="#A3B5C5",["type"]="string"},["raised"]={["default"]="#263748",["type"]="string"},["size"]={["default"]={280,8},["type"]="array"},["text"]={["default"]="#EEF4FA",["type"]="string"},["value"]={["default"]=0.65,["type"]="number"}}},
  ["radio-group"] = {["parameters"]={["accent"]={["default"]="#FFB66B",["type"]="string"},["label1"]={["default"]="Balanced",["type"]="string"},["label2"]={["default"]="Performance",["type"]="string"},["label3"]={["default"]="Quality",["type"]="string"},["raised"]={["default"]="#263748",["type"]="string"},["size"]={["default"]={280,132},["type"]="array"},["stroke"]={["default"]="#3B5166",["type"]="string"},["text"]={["default"]="#EEF4FA",["type"]="string"}}},
  ["search"] = {["parameters"]={["accent"]={["default"]="#FFB66B",["type"]="string"},["action"]={["default"]="",["type"]="string"},["background"]={["default"]="#101822",["type"]="string"},["placeholder"]={["default"]="Search items...",["type"]="string"},["raised"]={["default"]="#263748",["type"]="string"},["size"]={["default"]={280,44},["type"]="array"},["stroke"]={["default"]="#3B5166",["type"]="string"},["text"]={["default"]="#EEF4FA",["type"]="string"},["value"]={["default"]="",["type"]="string"}}},
  ["segmented"] = {["parameters"]={["accent"]={["default"]="#FFB66B",["type"]="string"},["background"]={["default"]="#101822",["type"]="string"},["label1"]={["default"]="Day",["type"]="string"},["label2"]={["default"]="Week",["type"]="string"},["label3"]={["default"]="Month",["type"]="string"},["raised"]={["default"]="#263748",["type"]="string"},["size"]={["default"]={360,52},["type"]="array"},["surface"]={["default"]="#1B2735",["type"]="string"},["text"]={["default"]="#EEF4FA",["type"]="string"}}},
  ["settings"] = {["parameters"]={["accent"]={["default"]="#FFB66B",["type"]="string"},["accent_hover"]={["default"]="#FFD09A",["type"]="string"},["background"]={["default"]="#101822",["type"]="string"},["muted"]={["default"]="#A3B5C5",["type"]="string"},["on_accent"]={["default"]="#19232F",["type"]="string"},["raised"]={["default"]="#263748",["type"]="string"},["stroke"]={["default"]="#3B5166",["type"]="string"},["surface"]={["default"]="#1B2735",["type"]="string"},["text"]={["default"]="#EEF4FA",["type"]="string"},["title"]={["default"]="System settings",["type"]="string"},["volume"]={["default"]=0.72,["type"]="number"}}},
  ["showcase"] = {["parameters"]={["accent"]={["default"]="#FFB66B",["type"]="string"},["accent_hover"]={["default"]="#FFD09A",["type"]="string"},["background"]={["default"]="#101822",["type"]="string"},["muted"]={["default"]="#A3B5C5",["type"]="string"},["negative"]={["default"]="#FA8093",["type"]="string"},["on_accent"]={["default"]="#19232F",["type"]="string"},["palette_name"]={["default"]="EMBER / DEFAULT",["type"]="string"},["positive"]={["default"]="#67D7BB",["type"]="string"},["raised"]={["default"]="#263748",["type"]="string"},["stroke"]={["default"]="#3B5166",["type"]="string"},["surface"]={["default"]="#1B2735",["type"]="string"},["text"]={["default"]="#EEF4FA",["type"]="string"}}},
  ["slider"] = {["parameters"]={["accent"]={["default"]="#FFB66B",["type"]="string"},["action"]={["default"]="",["type"]="string"},["muted"]={["default"]="#A3B5C5",["type"]="string"},["raised"]={["default"]="#263748",["type"]="string"},["size"]={["default"]={280,40},["type"]="array"},["text"]={["default"]="#EEF4FA",["type"]="string"},["value"]={["default"]=0.65,["type"]="number"}}},
  ["slot"] = {["parameters"]={["accent"]={["default"]="#FFB66B",["type"]="string"},["action"]={["default"]="",["type"]="string"},["disabled"]={["default"]=false,["type"]="boolean"},["label"]={["default"]="01",["type"]="string"},["raised"]={["default"]="#263748",["type"]="string"},["size"]={["default"]={64,64},["type"]="array"},["stroke"]={["default"]="#3B5166",["type"]="string"},["text"]={["default"]="#EEF4FA",["type"]="string"}}},
  ["status-bar"] = {["parameters"]={["accent"]={["default"]="#FFB66B",["type"]="string"},["oxygen"]={["default"]="OXYGEN  98%",["type"]="string"},["positive"]={["default"]="#67D7BB",["type"]="string"},["power"]={["default"]="POWER  84 kW",["type"]="string"},["raised"]={["default"]="#263748",["type"]="string"},["surface"]={["default"]="#1B2735",["type"]="string"},["water"]={["default"]="WATER  120 L",["type"]="string"}}},
  ["stepper"] = {["parameters"]={["accent"]={["default"]="#FFB66B",["type"]="string"},["raised"]={["default"]="#263748",["type"]="string"},["stroke"]={["default"]="#3B5166",["type"]="string"},["text"]={["default"]="#EEF4FA",["type"]="string"},["value"]={["default"]="1",["type"]="string"}}},
  ["tabs"] = {["parameters"]={["accent"]={["default"]="#FFB66B",["type"]="string"},["label1"]={["default"]="Overview",["type"]="string"},["label2"]={["default"]="Details",["type"]="string"},["label3"]={["default"]="History",["type"]="string"},["raised"]={["default"]="#263748",["type"]="string"},["size"]={["default"]={360,44},["type"]="array"},["surface"]={["default"]="#1B2735",["type"]="string"},["text"]={["default"]="#EEF4FA",["type"]="string"}}},
  ["toggle"] = {["parameters"]={["accent"]={["default"]="#FFB66B",["type"]="string"},["action"]={["default"]="",["type"]="string"},["background"]={["default"]="#101822",["type"]="string"},["checked"]={["default"]=true,["type"]="boolean"},["disabled"]={["default"]=false,["type"]="boolean"},["label"]={["default"]="Notifications",["type"]="string"},["size"]={["default"]={280,44},["type"]="array"},["stroke"]={["default"]="#3B5166",["type"]="string"},["text"]={["default"]="#EEF4FA",["type"]="string"}}},
  ["tooltip"] = {["parameters"]={["message"]={["default"]="Helpful context appears here.",["type"]="string"},["raised"]={["default"]="#263748",["type"]="string"},["size"]={["default"]={280,84},["type"]="array"},["stroke"]={["default"]="#3B5166",["type"]="string"},["text"]={["default"]="#EEF4FA",["type"]="string"}}},
  _icons = {["arrow-left"]=true,["arrow-right"]=true,["bell"]=true,["cargo"]=true,["check"]=true,["chevron-down"]=true,["chevron-right"]=true,["close"]=true,["crew"]=true,["download"]=true,["energy"]=true,["folder"]=true,["globe"]=true,["heart"]=true,["home"]=true,["info"]=true,["lock"]=true,["menu"]=true,["minus"]=true,["pause"]=true,["play"]=true,["plus"]=true,["power"]=true,["rocket"]=true,["save"]=true,["search"]=true,["settings"]=true,["trash"]=true,["upload"]=true,["user"]=true,["warning"]=true,["water"]=true},
}
local Test = require("demi.test")
local Orbit = require("demi.ui.orbit")
Test.case("palette copies and explicit overrides stay independent", function()
  local first = Orbit.palette("glacier", {accent="#ABCDEF"})
  local second = Orbit.palette("glacier")
  Test.equal(first.accent, "#ABCDEF")
  Test.equal(second.accent, "#7DCBFF")
  Test.equal(pcall(function() Orbit.palette("missing") end), false)
  Test.equal(pcall(function() Orbit.palette("ember", {typo="#FFFFFF"}) end), false)
end)
Test.case("runtime buttons preserve caller identity and state", function()
  local options={disabled=true, size={180,44}, palette=Orbit.palette("glacier")}
  local button=Orbit.button("continue", "Continue", options)
  Test.equal(button.id, "continue"); Test.equal(button.prefab, "ui-prefab://orbit/button-primary")
  Test.equal(button.arguments.disabled, true); Test.equal(button.arguments.accent, "#7DCBFF")
  button.arguments.size[1]=500; Test.equal(options.size[1],180)
end)
Test.case("source definitions retain typed arguments for the shared loader", function()
  local node=Orbit.node("settings", "prefs", {volume=0.25})
  Test.equal(node.id,"prefs")
  Test.equal(node.prefab,"ui-prefab://orbit/settings")
  Test.equal(node.arguments.volume,0.25)
  Test.equal(pcall(function() Orbit.node("slider","s",{unknown=1}) end),false)
end)
Test.case("icons use stable assets and accessible button labels", function()
  local icon = Orbit.icon("status", "energy", {tint="#FFB66B", size={32,32}})
  Test.equal(icon.arguments.texture, "asset://orbit/icons/energy")
  Test.equal(icon.arguments.size[1], 32)
  local button = Orbit.icon_button("settings", "settings", "Open settings")
  Test.equal(button.arguments.label, "Open settings")
  Test.equal(button.prefab, "ui-prefab://orbit/icon-button")
  Test.equal(pcall(function() Orbit.icon_asset("unknown") end), false)
end)
{
  "format_version": 1,
  "id": "ui-prefab://orbit/badge",
  "parameters": {
    "accent": {
      "type": "string",
      "default": "#FFB66B"
    },
    "label": {
      "type": "string",
      "default": "ONLINE"
    },
    "raised": {
      "type": "string",
      "default": "#263748"
    },
    "size": {
      "type": "array",
      "default": [
        128,
        30
      ]
    }
  },
  "root": {
    "id": "badge",
    "type": "panel",
    "size": "${size}",
    "background_color": "${raised}",
    "corner_radius": 16,
    "children": [
      {
        "id": "text",
        "type": "label",
        "dock": "fill",
        "text": "${label}",
        "font_size": 13,
        "text_color": "${accent}",
        "text_alignment": "center",
        "text_vertical_alignment": "center"
      }
    ]
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/button-danger",
  "parameters": {
    "accent": {
      "type": "string",
      "default": "#FFB66B"
    },
    "accent_hover": {
      "type": "string",
      "default": "#FFD09A"
    },
    "action": {
      "type": "string",
      "default": ""
    },
    "disabled": {
      "type": "boolean",
      "default": false
    },
    "label": {
      "type": "string",
      "default": "Continue"
    },
    "negative": {
      "type": "string",
      "default": "#FA8093"
    },
    "on_accent": {
      "type": "string",
      "default": "#19232F"
    },
    "size": {
      "type": "array",
      "default": [
        200,
        44
      ]
    },
    "stroke": {
      "type": "string",
      "default": "#3B5166"
    }
  },
  "root": {
    "id": "control",
    "type": "button",
    "size": "${size}",
    "text": "${label}",
    "action": "${action}",
    "disabled": "${disabled}",
    "corner_radius": 9,
    "font_size": 16,
    "text_color": "${on_accent}",
    "background_color": "${negative}",
    "hover_color": "${accent_hover}",
    "border_color": "${stroke}",
    "border_width": 0,
    "color": "${accent}"
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/button-primary",
  "parameters": {
    "accent": {
      "type": "string",
      "default": "#FFB66B"
    },
    "accent_hover": {
      "type": "string",
      "default": "#FFD09A"
    },
    "action": {
      "type": "string",
      "default": ""
    },
    "disabled": {
      "type": "boolean",
      "default": false
    },
    "label": {
      "type": "string",
      "default": "Continue"
    },
    "on_accent": {
      "type": "string",
      "default": "#19232F"
    },
    "size": {
      "type": "array",
      "default": [
        200,
        44
      ]
    },
    "stroke": {
      "type": "string",
      "default": "#3B5166"
    }
  },
  "root": {
    "id": "control",
    "type": "button",
    "size": "${size}",
    "text": "${label}",
    "action": "${action}",
    "disabled": "${disabled}",
    "corner_radius": 9,
    "font_size": 16,
    "text_color": "${on_accent}",
    "background_color": "${accent}",
    "hover_color": "${accent_hover}",
    "border_color": "${stroke}",
    "border_width": 0,
    "color": "${accent}"
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/button-quiet",
  "parameters": {
    "accent": {
      "type": "string",
      "default": "#FFB66B"
    },
    "action": {
      "type": "string",
      "default": ""
    },
    "disabled": {
      "type": "boolean",
      "default": false
    },
    "label": {
      "type": "string",
      "default": "Continue"
    },
    "size": {
      "type": "array",
      "default": [
        200,
        44
      ]
    },
    "stroke": {
      "type": "string",
      "default": "#3B5166"
    },
    "text": {
      "type": "string",
      "default": "#EEF4FA"
    }
  },
  "root": {
    "id": "control",
    "type": "button",
    "size": "${size}",
    "text": "${label}",
    "action": "${action}",
    "disabled": "${disabled}",
    "corner_radius": 9,
    "font_size": 16,
    "text_color": "${text}",
    "background_color": "#00000000",
    "hover_color": "${stroke}",
    "border_color": "${stroke}",
    "border_width": 0,
    "color": "${accent}"
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/button-secondary",
  "parameters": {
    "accent": {
      "type": "string",
      "default": "#FFB66B"
    },
    "action": {
      "type": "string",
      "default": ""
    },
    "disabled": {
      "type": "boolean",
      "default": false
    },
    "label": {
      "type": "string",
      "default": "Continue"
    },
    "raised": {
      "type": "string",
      "default": "#263748"
    },
    "size": {
      "type": "array",
      "default": [
        200,
        44
      ]
    },
    "stroke": {
      "type": "string",
      "default": "#3B5166"
    },
    "text": {
      "type": "string",
      "default": "#EEF4FA"
    }
  },
  "root": {
    "id": "control",
    "type": "button",
    "size": "${size}",
    "text": "${label}",
    "action": "${action}",
    "disabled": "${disabled}",
    "corner_radius": 9,
    "font_size": 16,
    "text_color": "${text}",
    "background_color": "${raised}",
    "hover_color": "${stroke}",
    "border_color": "${stroke}",
    "border_width": 1,
    "color": "${accent}"
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/button-with-icon",
  "parameters": {
    "accent": {
      "type": "string",
      "default": "#FFB66B"
    },
    "action": {
      "type": "string",
      "default": ""
    },
    "disabled": {
      "type": "boolean",
      "default": false
    },
    "label": {
      "type": "string",
      "default": "Settings"
    },
    "raised": {
      "type": "string",
      "default": "#263748"
    },
    "size": {
      "type": "array",
      "default": [
        200,
        44
      ]
    },
    "stroke": {
      "type": "string",
      "default": "#3B5166"
    },
    "text": {
      "type": "string",
      "default": "#EEF4FA"
    },
    "texture": {
      "type": "string",
      "default": "asset://orbit/icons/settings"
    }
  },
  "root": {
    "id": "control",
    "type": "button",
    "size": "${size}",
    "text": "",
    "action": "${action}",
    "disabled": "${disabled}",
    "corner_radius": 9,
    "font_size": 16,
    "text_color": "${text}",
    "background_color": "${raised}",
    "hover_color": "${stroke}",
    "border_color": "${stroke}",
    "border_width": 1,
    "color": "${accent}",
    "accessibility_label": "${label}",
    "children": [
      {
        "id": "icon",
        "type": "image",
        "size": [
          24,
          24
        ],
        "texture": "${texture}",
        "color": "${text}",
        "accessibility_hidden": true
      },
      {
        "id": "label",
        "type": "label",
        "dock": "fill",
        "margin": [
          34,
          0,
          0,
          0
        ],
        "text": "${label}",
        "text_color": "${text}",
        "font_size": 16,
        "text_vertical_alignment": "center"
      }
    ],
    "pad": [
      14,
      10,
      14,
      10
    ]
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/checkbox",
  "parameters": {
    "accent": {
      "type": "string",
      "default": "#FFB66B"
    },
    "action": {
      "type": "string",
      "default": ""
    },
    "background": {
      "type": "string",
      "default": "#101822"
    },
    "checked": {
      "type": "boolean",
      "default": false
    },
    "disabled": {
      "type": "boolean",
      "default": false
    },
    "label": {
      "type": "string",
      "default": "Remember my choice"
    },
    "size": {
      "type": "array",
      "default": [
        280,
        44
      ]
    },
    "stroke": {
      "type": "string",
      "default": "#3B5166"
    },
    "text": {
      "type": "string",
      "default": "#EEF4FA"
    }
  },
  "root": {
    "id": "control",
    "type": "toggle",
    "size": "${size}",
    "text": "${label}",
    "action": "${action}",
    "disabled": "${disabled}",
    "corner_radius": 5,
    "font_size": 16,
    "text_color": "${text}",
    "background_color": "${background}",
    "hover_color": "${stroke}",
    "border_color": "${stroke}",
    "border_width": 1,
    "color": "${accent}",
    "checked": "${checked}"
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/components",
  "parameters": {
    "accent": {
      "type": "string",
      "default": "#FFB66B"
    },
    "accent_hover": {
      "type": "string",
      "default": "#FFD09A"
    },
    "background": {
      "type": "string",
      "default": "#101822"
    },
    "muted": {
      "type": "string",
      "default": "#A3B5C5"
    },
    "on_accent": {
      "type": "string",
      "default": "#19232F"
    },
    "raised": {
      "type": "string",
      "default": "#263748"
    },
    "stroke": {
      "type": "string",
      "default": "#3B5166"
    },
    "surface": {
      "type": "string",
      "default": "#1B2735"
    },
    "text": {
      "type": "string",
      "default": "#EEF4FA"
    }
  },
  "root": {
    "id": "components",
    "type": "container",
    "size": [
      1160,
      810
    ],
    "children": [
      {
        "id": "background",
        "type": "panel",
        "dock": "fill",
        "background_color": "${background}"
      },
      {
        "id": "eyebrow",
        "type": "label",
        "text": "ORBIT  /  COMPONENT LIBRARY",
        "at": [
          56,
          32
        ],
        "size": [
          800,
          24
        ],
        "text_color": "${accent}",
        "font_size": 13,
        "text_vertical_alignment": "center"
      },
      {
        "id": "title",
        "type": "label",
        "text": "Patterns for the whole game.",
        "at": [
          56,
          64
        ],
        "size": [
          950,
          52
        ],
        "text_color": "${text}",
        "font_size": 32,
        "text_vertical_alignment": "center"
      },
      {
        "id": "navigation",
        "prefab": "ui-prefab://orbit/panel",
        "arguments": {
          "accent": "${accent}",
          "stroke": "${stroke}",
          "surface": "${surface}",
          "text": "${text}",
          "title": "Navigation",
          "content": [
            {
              "id": "tabs",
              "prefab": "ui-prefab://orbit/tabs",
              "arguments": {
                "accent": "${accent}",
                "raised": "${raised}",
                "surface": "${surface}",
                "text": "${text}",
                "size": [
                  460,
                  44
                ]
              },
              "overrides": {
                "$root": {
                  "at": [
                    0,
                    0
                  ]
                }
              }
            },
            {
              "id": "segment",
              "prefab": "ui-prefab://orbit/segmented",
              "arguments": {
                "accent": "${accent}",
                "background": "${background}",
                "raised": "${raised}",
                "surface": "${surface}",
                "text": "${text}",
                "size": [
                  460,
                  52
                ]
              },
              "overrides": {
                "$root": {
                  "at": [
                    0,
                    60
                  ]
                }
              }
            },
            {
              "id": "pages",
              "prefab": "ui-prefab://orbit/pagination",
              "arguments": {
                "accent": "${accent}",
                "raised": "${raised}",
                "stroke": "${stroke}",
                "text": "${text}",
                "size": [
                  460,
                  40
                ]
              },
              "overrides": {
                "$root": {
                  "at": [
                    0,
                    130
                  ]
                }
              }
            }
          ],
          "size": [
            500,
            240
          ]
        },
        "overrides": {
          "$root": {
            "at": [
              56,
              148
            ]
          }
        }
      },
      {
        "id": "forms",
        "prefab": "ui-prefab://orbit/panel",
        "arguments": {
          "accent": "${accent}",
          "stroke": "${stroke}",
          "surface": "${surface}",
          "text": "${text}",
          "title": "Forms and choices",
          "content": [
            {
              "id": "quality",
              "prefab": "ui-prefab://orbit/dropdown",
              "arguments": {
                "accent": "${accent}",
                "background": "${background}",
                "muted": "${muted}",
                "raised": "${raised}",
                "stroke": "${stroke}",
                "surface": "${surface}",
                "text": "${text}",
                "size": [
                  280,
                  44
                ]
              },
              "overrides": {
                "$root": {
                  "at": [
                    0,
                    0
                  ]
                }
              }
            },
            {
              "id": "quantity",
              "prefab": "ui-prefab://orbit/stepper",
              "arguments": {
                "accent": "${accent}",
                "raised": "${raised}",
                "stroke": "${stroke}",
                "text": "${text}"
              },
              "overrides": {
                "$root": {
                  "at": [
                    0,
                    64
                  ]
                }
              }
            },
            {
              "id": "remember",
              "prefab": "ui-prefab://orbit/checkbox",
              "arguments": {
                "accent": "${accent}",
                "background": "${background}",
                "stroke": "${stroke}",
                "text": "${text}",
                "label": "Remember my choice",
                "size": [
                  300,
                  44
                ]
              },
              "overrides": {
                "$root": {
                  "at": [
                    0,
                    126
                  ]
                }
              }
            },
            {
              "id": "help",
              "prefab": "ui-prefab://orbit/button-secondary",
              "arguments": {
                "accent": "${accent}",
                "raised": "${raised}",
                "stroke": "${stroke}",
                "text": "${text}",
                "label": "Help ?",
                "size": [
                  120,
                  44
                ]
              },
              "overrides": {
                "$root": {
                  "at": [
                    340,
                    0
                  ]
                }
              }
            },
            {
              "id": "tip",
              "prefab": "ui-prefab://orbit/tooltip",
              "arguments": {
                "raised": "${raised}",
                "stroke": "${stroke}",
                "text": "${text}",
                "message": "Use this control to select a quality preset.",
                "size": [
                  280,
                  84
                ]
              },
              "overrides": {
                "$root": {
                  "at": [
                    190,
                    50
                  ]
                }
              }
            }
          ],
          "size": [
            524,
            310
          ]
        },
        "overrides": {
          "$root": {
            "at": [
              580,
              148
            ]
          }
        }
      },
      {
        "id": "list",
        "prefab": "ui-prefab://orbit/panel",
        "arguments": {
          "accent": "${accent}",
          "stroke": "${stroke}",
          "surface": "${surface}",
          "text": "${text}",
          "title": "Lists and inventory",
          "content": [
            {
              "id": "row1",
              "prefab": "ui-prefab://orbit/list-row",
              "arguments": {
                "accent": "${accent}",
                "muted": "${muted}",
                "raised": "${raised}",
                "stroke": "${stroke}",
                "surface": "${surface}",
                "text": "${text}",
                "title": "Surface operations",
                "detail": "3 active assignments",
                "symbol": "01",
                "size": [
                  460,
                  64
                ]
              },
              "overrides": {
                "$root": {
                  "at": [
                    0,
                    0
                  ]
                }
              }
            },
            {
              "id": "row2",
              "prefab": "ui-prefab://orbit/list-row",
              "arguments": {
                "accent": "${accent}",
                "muted": "${muted}",
                "raised": "${raised}",
                "stroke": "${stroke}",
                "surface": "${surface}",
                "text": "${text}",
                "title": "Research division",
                "detail": "New technology available",
                "symbol": "02",
                "size": [
                  460,
                  64
                ]
              },
              "overrides": {
                "$root": {
                  "at": [
                    0,
                    76
                  ]
                }
              }
            },
            {
              "id": "slots",
              "type": "container",
              "at": [
                0,
                160
              ],
              "size": [
                460,
                76
              ],
              "stack": "row",
              "gap": 12,
              "children": [
                {
                  "id": "ore",
                  "prefab": "ui-prefab://orbit/inventory-slot",
                  "arguments": {
                    "accent": "${accent}",
                    "raised": "${raised}",
                    "stroke": "${stroke}",
                    "text": "${text}",
                    "label": "ORE",
                    "count": "24",
                    "size": [
                      76,
                      76
                    ]
                  },
                  "overrides": {
                    "$root": {
                      "at": [
                        0,
                        0
                      ]
                    }
                  }
                },
                {
                  "id": "water",
                  "prefab": "ui-prefab://orbit/inventory-slot",
                  "arguments": {
                    "accent": "${accent}",
                    "raised": "${raised}",
                    "stroke": "${stroke}",
                    "text": "${text}",
                    "label": "H2O",
                    "count": "08",
                    "size": [
                      76,
                      76
                    ]
                  },
                  "overrides": {
                    "$root": {
                      "at": [
                        0,
                        0
                      ]
                    }
                  }
                },
                {
                  "id": "med",
                  "prefab": "ui-prefab://orbit/inventory-slot",
                  "arguments": {
                    "accent": "${accent}",
                    "raised": "${raised}",
                    "stroke": "${stroke}",
                    "text": "${text}",
                    "label": "MED",
                    "count": "03",
                    "size": [
                      76,
                      76
                    ]
                  },
                  "overrides": {
                    "$root": {
                      "at": [
                        0,
                        0
                      ]
                    }
                  }
                }
              ]
            }
          ],
          "size": [
            500,
            320
          ]
        },
        "overrides": {
          "$root": {
            "at": [
              56,
              412
            ]
          }
        }
      },
      {
        "id": "notice",
        "prefab": "ui-prefab://orbit/notification",
        "arguments": {
          "accent": "${accent}",
          "muted": "${muted}",
          "stroke": "${stroke}",
          "surface": "${surface}",
          "text": "${text}",
          "title": "Deployment ready",
          "message": "Your crew has reached the landing site."
        },
        "overrides": {
          "$root": {
            "at": [
              580,
              482
            ]
          }
        }
      },
      {
        "id": "open_dialog",
        "prefab": "ui-prefab://orbit/button-primary",
        "arguments": {
          "accent": "${accent}",
          "accent_hover": "${accent_hover}",
          "on_accent": "${on_accent}",
          "stroke": "${stroke}",
          "label": "Open confirmation",
          "action": "orbit.modal",
          "size": [
            248,
            44
          ]
        },
        "overrides": {
          "$root": {
            "at": [
              580,
              644
            ]
          }
        }
      },
      {
        "id": "metric",
        "prefab": "ui-prefab://orbit/metric",
        "arguments": {
          "accent": "${accent}",
          "muted": "${muted}",
          "stroke": "${stroke}",
          "surface": "${surface}",
          "label": "EXPEDITION SCORE",
          "value": "12,480",
          "size": [
            252,
            106
          ]
        },
        "overrides": {
          "$root": {
            "at": [
              852,
              626
            ]
          }
        }
      },
      {
        "id": "confirm",
        "prefab": "ui-prefab://orbit/modal",
        "arguments": {
          "accent": "${accent}",
          "accent_hover": "${accent_hover}",
          "muted": "${muted}",
          "on_accent": "${on_accent}",
          "raised": "${raised}",
          "stroke": "${stroke}",
          "surface": "${surface}",
          "text": "${text}",
          "title": "Begin the expedition?",
          "message": "Your crew is ready. Confirm to continue."
        },
        "overrides": {
          "$root": {
            "at": [
              0,
              0
            ]
          }
        }
      },
      {
        "id": "feedback",
        "type": "label",
        "text": "Explore the controls. Make them yours.",
        "at": [
          56,
          760
        ],
        "size": [
          950,
          24
        ],
        "text_color": "${muted}",
        "font_size": 14,
        "text_vertical_alignment": "center"
      },
      {
        "id": "back",
        "prefab": "ui-prefab://orbit/button-secondary",
        "arguments": {
          "accent": "${accent}",
          "raised": "${raised}",
          "stroke": "${stroke}",
          "text": "${text}",
          "label": "< Back to showcase",
          "action": "orbit.showcase",
          "size": [
            244,
            40
          ]
        },
        "overrides": {
          "$root": {
            "at": [
              860,
              752
            ]
          }
        }
      },
      {
        "id": "browse_icons",
        "prefab": "ui-prefab://orbit/button-with-icon",
        "arguments": {
          "texture": "asset://orbit/icons/search",
          "label": "Browse icons",
          "action": "orbit.icons"
        },
        "overrides": {
          "$root": {
            "at": [
              760,
              30
            ],
            "size": [
              344,
              44
            ]
          }
        }
      }
    ]
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/dialog",
  "parameters": {
    "accent": {
      "type": "string",
      "default": "#FFB66B"
    },
    "accent_hover": {
      "type": "string",
      "default": "#FFD09A"
    },
    "cancel_action": {
      "type": "string",
      "default": "cancel"
    },
    "confirm_action": {
      "type": "string",
      "default": "confirm"
    },
    "message": {
      "type": "string",
      "default": "Your crew is prepared. Confirm to begin the expedition."
    },
    "muted": {
      "type": "string",
      "default": "#A3B5C5"
    },
    "on_accent": {
      "type": "string",
      "default": "#19232F"
    },
    "raised": {
      "type": "string",
      "default": "#263748"
    },
    "stroke": {
      "type": "string",
      "default": "#3B5166"
    },
    "surface": {
      "type": "string",
      "default": "#1B2735"
    },
    "text": {
      "type": "string",
      "default": "#EEF4FA"
    },
    "title": {
      "type": "string",
      "default": "Ready to depart?"
    }
  },
  "root": {
    "id": "dialog",
    "type": "panel",
    "size": [
      400,
      240
    ],
    "background_color": "${surface}",
    "border_color": "${stroke}",
    "border_width": 1,
    "corner_radius": 14,
    "children": [
      {
        "id": "header",
        "type": "container",
        "dock": "top",
        "size": [
          0,
          32
        ],
        "margin": [
          20,
          16,
          20,
          0
        ],
        "children": [
          {
            "id": "rail",
            "type": "panel",
            "dock": "left",
            "size": [
              3,
              0
            ],
            "margin": [
              0,
              7,
              0,
              7
            ],
            "background_color": "${accent}"
          },
          {
            "id": "title",
            "type": "label",
            "dock": "fill",
            "margin": [
              16,
              0,
              0,
              0
            ],
            "text": "${title}",
            "font_size": 20,
            "text_color": "${text}",
            "text_vertical_alignment": "center"
          }
        ]
      },
      {
        "id": "body",
        "type": "container",
        "dock": "fill",
        "margin": [
          20,
          64,
          20,
          20
        ],
        "children": [
          {
            "id": "message",
            "type": "text",
            "text": "${message}",
            "dock": "top",
            "size": [
              0,
              74
            ],
            "font_size": 16,
            "text_color": "${muted}",
            "text_wrap": "word"
          },
          {
            "id": "cancel",
            "prefab": "ui-prefab://orbit/button-secondary",
            "arguments": {
              "accent": "${accent}",
              "raised": "${raised}",
              "stroke": "${stroke}",
              "text": "${text}",
              "label": "Cancel",
              "action": "${cancel_action}",
              "size": [
                164,
                44
              ]
            },
            "overrides": {
              "$root": {
                "at": [
                  0,
                  100
                ]
              }
            }
          },
          {
            "id": "confirm",
            "prefab": "ui-prefab://orbit/button-primary",
            "arguments": {
              "accent": "${accent}",
              "accent_hover": "${accent_hover}",
              "on_accent": "${on_accent}",
              "stroke": "${stroke}",
              "label": "Confirm",
              "action": "${confirm_action}",
              "size": [
                184,
                44
              ]
            },
            "overrides": {
              "$root": {
                "at": [
                  176,
                  100
                ]
              }
            }
          }
        ]
      }
    ]
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/divider",
  "parameters": {
    "size": {
      "type": "array",
      "default": [
        280,
        1
      ]
    },
    "stroke": {
      "type": "string",
      "default": "#3B5166"
    }
  },
  "root": {
    "id": "divider",
    "type": "panel",
    "size": "${size}",
    "background_color": "${stroke}"
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/dropdown",
  "parameters": {
    "accent": {
      "type": "string",
      "default": "#FFB66B"
    },
    "background": {
      "type": "string",
      "default": "#101822"
    },
    "label1": {
      "type": "string",
      "default": "Low"
    },
    "label2": {
      "type": "string",
      "default": "Balanced"
    },
    "label3": {
      "type": "string",
      "default": "Ultra"
    },
    "muted": {
      "type": "string",
      "default": "#A3B5C5"
    },
    "raised": {
      "type": "string",
      "default": "#263748"
    },
    "size": {
      "type": "array",
      "default": [
        280,
        44
      ]
    },
    "stroke": {
      "type": "string",
      "default": "#3B5166"
    },
    "surface": {
      "type": "string",
      "default": "#1B2735"
    },
    "text": {
      "type": "string",
      "default": "#EEF4FA"
    }
  },
  "root": {
    "id": "dropdown",
    "type": "container",
    "size": "${size}",
    "children": [
      {
        "id": "trigger",
        "type": "button",
        "dock": "fill",
        "text": "${label2}",
        "font_size": 16,
        "background_color": "${background}",
        "hover_color": "${raised}",
        "text_color": "${text}",
        "color": "${accent}",
        "border_color": "${stroke}",
        "border_width": 1,
        "corner_radius": 9
      },
      {
        "id": "arrow",
        "type": "image",
        "anchor_min": [
          1,
          0.5
        ],
        "anchor_max": [
          1,
          0.5
        ],
        "at": [
          -30,
          -9
        ],
        "size": [
          18,
          18
        ],
        "texture": "asset://orbit/icons/chevron-down",
        "color": "${muted}",
        "accessibility_hidden": true
      },
      {
        "id": "menu",
        "type": "panel",
        "anchor_max": [
          1,
          0
        ],
        "position": [
          0,
          48
        ],
        "size": [
          0,
          142
        ],
        "pad": 6,
        "stack": "column",
        "gap": 2,
        "background_color": "${surface}",
        "border_color": "${stroke}",
        "border_width": 1,
        "corner_radius": 10,
        "visible": false,
        "layer": 200,
        "children": [
          {
            "id": "option1",
            "type": "button",
            "size": [
              0,
              42
            ],
            "text": "${label1}",
            "action": "",
            "disabled": false,
            "corner_radius": 6,
            "font_size": 16,
            "text_color": "${text}",
            "background_color": "${raised}",
            "hover_color": "${stroke}",
            "border_color": "${stroke}",
            "border_width": 0,
            "color": "${accent}",
            "layer": 201,
            "anchor_min": [
              0,
              0
            ],
            "anchor_max": [
              1,
              0
            ]
          },
          {
            "id": "option2",
            "type": "button",
            "size": [
              0,
              42
            ],
            "text": "${label2}",
            "action": "",
            "disabled": false,
            "corner_radius": 6,
            "font_size": 16,
            "text_color": "${text}",
            "background_color": "${raised}",
            "hover_color": "${stroke}",
            "border_color": "${stroke}",
            "border_width": 0,
            "color": "${accent}",
            "layer": 201,
            "anchor_min": [
              0,
              0
            ],
            "anchor_max": [
              1,
              0
            ]
          },
          {
            "id": "option3",
            "type": "button",
            "size": [
              0,
              42
            ],
            "text": "${label3}",
            "action": "",
            "disabled": false,
            "corner_radius": 6,
            "font_size": 16,
            "text_color": "${text}",
            "background_color": "${raised}",
            "hover_color": "${stroke}",
            "border_color": "${stroke}",
            "border_width": 0,
            "color": "${accent}",
            "layer": 201,
            "anchor_min": [
              0,
              0
            ],
            "anchor_max": [
              1,
              0
            ]
          }
        ],
        "alignment": "stretch"
      }
    ]
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/heading",
  "parameters": {
    "label": {
      "type": "string",
      "default": "Heading"
    },
    "size": {
      "type": "array",
      "default": [
        320,
        40
      ]
    },
    "text": {
      "type": "string",
      "default": "#EEF4FA"
    }
  },
  "root": {
    "id": "heading",
    "type": "label",
    "text": "${label}",
    "size": "${size}",
    "font_size": 28,
    "text_color": "${text}"
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/icon-button",
  "parameters": {
    "accent": {
      "type": "string",
      "default": "#FFB66B"
    },
    "action": {
      "type": "string",
      "default": ""
    },
    "disabled": {
      "type": "boolean",
      "default": false
    },
    "label": {
      "type": "string",
      "default": "Settings"
    },
    "raised": {
      "type": "string",
      "default": "#263748"
    },
    "size": {
      "type": "array",
      "default": [
        44,
        44
      ]
    },
    "stroke": {
      "type": "string",
      "default": "#3B5166"
    },
    "text": {
      "type": "string",
      "default": "#EEF4FA"
    },
    "texture": {
      "type": "string",
      "default": "asset://orbit/icons/settings"
    }
  },
  "root": {
    "id": "control",
    "type": "button",
    "size": "${size}",
    "text": "",
    "action": "${action}",
    "disabled": "${disabled}",
    "corner_radius": 9,
    "font_size": 16,
    "text_color": "${text}",
    "background_color": "${raised}",
    "hover_color": "${stroke}",
    "border_color": "${stroke}",
    "border_width": 1,
    "color": "${accent}",
    "accessibility_label": "${label}",
    "children": [
      {
        "id": "icon",
        "type": "image",
        "dock": "center",
        "size": [
          20,
          20
        ],
        "texture": "${texture}",
        "color": "${text}",
        "accessibility_hidden": true
      }
    ]
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/icon-gallery",
  "parameters": {
    "tint": {
      "type": "string",
      "default": "#FFB66B"
    }
  },
  "root": {
    "id": "icons",
    "type": "container",
    "dock": "fill",
    "children": [
      {
        "id": "background",
        "type": "panel",
        "dock": "fill",
        "background_color": "#101822"
      },
      {
        "id": "title",
        "type": "label",
        "at": [
          56,
          38
        ],
        "size": [
          1000,
          50
        ],
        "text": "Orbit / Icons",
        "font_size": 28,
        "text_color": "#EEF4FA"
      },
      {
        "id": "tile_arrow-right",
        "type": "panel",
        "at": [
          56,
          120
        ],
        "size": [
          112,
          105
        ],
        "background_color": "#1B2735",
        "corner_radius": 12,
        "children": [
          {
            "id": "tile_arrow-right.image",
            "type": "image",
            "at": [
              38,
              15
            ],
            "size": [
              36,
              36
            ],
            "texture": "asset://orbit/icons/arrow-right",
            "color": "${tint}"
          },
          {
            "id": "tile_arrow-right.label",
            "type": "label",
            "dock": "bottom",
            "size": [
              0,
              30
            ],
            "margin": [
              4,
              0,
              4,
              4
            ],
            "text": "arrow-right",
            "font_size": 12,
            "text_color": "#A3B5C5",
            "text_alignment": "center"
          }
        ]
      },
      {
        "id": "tile_arrow-left",
        "type": "panel",
        "at": [
          188,
          120
        ],
        "size": [
          112,
          105
        ],
        "background_color": "#1B2735",
        "corner_radius": 12,
        "children": [
          {
            "id": "tile_arrow-left.image",
            "type": "image",
            "at": [
              38,
              15
            ],
            "size": [
              36,
              36
            ],
            "texture": "asset://orbit/icons/arrow-left",
            "color": "${tint}"
          },
          {
            "id": "tile_arrow-left.label",
            "type": "label",
            "dock": "bottom",
            "size": [
              0,
              30
            ],
            "margin": [
              4,
              0,
              4,
              4
            ],
            "text": "arrow-left",
            "font_size": 12,
            "text_color": "#A3B5C5",
            "text_alignment": "center"
          }
        ]
      },
      {
        "id": "tile_chevron-down",
        "type": "panel",
        "at": [
          320,
          120
        ],
        "size": [
          112,
          105
        ],
        "background_color": "#1B2735",
        "corner_radius": 12,
        "children": [
          {
            "id": "tile_chevron-down.image",
            "type": "image",
            "at": [
              38,
              15
            ],
            "size": [
              36,
              36
            ],
            "texture": "asset://orbit/icons/chevron-down",
            "color": "${tint}"
          },
          {
            "id": "tile_chevron-down.label",
            "type": "label",
            "dock": "bottom",
            "size": [
              0,
              30
            ],
            "margin": [
              4,
              0,
              4,
              4
            ],
            "text": "chevron-down",
            "font_size": 12,
            "text_color": "#A3B5C5",
            "text_alignment": "center"
          }
        ]
      },
      {
        "id": "tile_chevron-right",
        "type": "panel",
        "at": [
          452,
          120
        ],
        "size": [
          112,
          105
        ],
        "background_color": "#1B2735",
        "corner_radius": 12,
        "children": [
          {
            "id": "tile_chevron-right.image",
            "type": "image",
            "at": [
              38,
              15
            ],
            "size": [
              36,
              36
            ],
            "texture": "asset://orbit/icons/chevron-right",
            "color": "${tint}"
          },
          {
            "id": "tile_chevron-right.label",
            "type": "label",
            "dock": "bottom",
            "size": [
              0,
              30
            ],
            "margin": [
              4,
              0,
              4,
              4
            ],
            "text": "chevron-right",
            "font_size": 12,
            "text_color": "#A3B5C5",
            "text_alignment": "center"
          }
        ]
      },
      {
        "id": "tile_check",
        "type": "panel",
        "at": [
          584,
          120
        ],
        "size": [
          112,
          105
        ],
        "background_color": "#1B2735",
        "corner_radius": 12,
        "children": [
          {
            "id": "tile_check.image",
            "type": "image",
            "at": [
              38,
              15
            ],
            "size": [
              36,
              36
            ],
            "texture": "asset://orbit/icons/check",
            "color": "${tint}"
          },
          {
            "id": "tile_check.label",
            "type": "label",
            "dock": "bottom",
            "size": [
              0,
              30
            ],
            "margin": [
              4,
              0,
              4,
              4
            ],
            "text": "check",
            "font_size": 12,
            "text_color": "#A3B5C5",
            "text_alignment": "center"
          }
        ]
      },
      {
        "id": "tile_close",
        "type": "panel",
        "at": [
          716,
          120
        ],
        "size": [
          112,
          105
        ],
        "background_color": "#1B2735",
        "corner_radius": 12,
        "children": [
          {
            "id": "tile_close.image",
            "type": "image",
            "at": [
              38,
              15
            ],
            "size": [
              36,
              36
            ],
            "texture": "asset://orbit/icons/close",
            "color": "${tint}"
          },
          {
            "id": "tile_close.label",
            "type": "label",
            "dock": "bottom",
            "size": [
              0,
              30
            ],
            "margin": [
              4,
              0,
              4,
              4
            ],
            "text": "close",
            "font_size": 12,
            "text_color": "#A3B5C5",
            "text_alignment": "center"
          }
        ]
      },
      {
        "id": "tile_plus",
        "type": "panel",
        "at": [
          848,
          120
        ],
        "size": [
          112,
          105
        ],
        "background_color": "#1B2735",
        "corner_radius": 12,
        "children": [
          {
            "id": "tile_plus.image",
            "type": "image",
            "at": [
              38,
              15
            ],
            "size": [
              36,
              36
            ],
            "texture": "asset://orbit/icons/plus",
            "color": "${tint}"
          },
          {
            "id": "tile_plus.label",
            "type": "label",
            "dock": "bottom",
            "size": [
              0,
              30
            ],
            "margin": [
              4,
              0,
              4,
              4
            ],
            "text": "plus",
            "font_size": 12,
            "text_color": "#A3B5C5",
            "text_alignment": "center"
          }
        ]
      },
      {
        "id": "tile_minus",
        "type": "panel",
        "at": [
          980,
          120
        ],
        "size": [
          112,
          105
        ],
        "background_color": "#1B2735",
        "corner_radius": 12,
        "children": [
          {
            "id": "tile_minus.image",
            "type": "image",
            "at": [
              38,
              15
            ],
            "size": [
              36,
              36
            ],
            "texture": "asset://orbit/icons/minus",
            "color": "${tint}"
          },
          {
            "id": "tile_minus.label",
            "type": "label",
            "dock": "bottom",
            "size": [
              0,
              30
            ],
            "margin": [
              4,
              0,
              4,
              4
            ],
            "text": "minus",
            "font_size": 12,
            "text_color": "#A3B5C5",
            "text_alignment": "center"
          }
        ]
      },
      {
        "id": "tile_search",
        "type": "panel",
        "at": [
          56,
          245
        ],
        "size": [
          112,
          105
        ],
        "background_color": "#1B2735",
        "corner_radius": 12,
        "children": [
          {
            "id": "tile_search.image",
            "type": "image",
            "at": [
              38,
              15
            ],
            "size": [
              36,
              36
            ],
            "texture": "asset://orbit/icons/search",
            "color": "${tint}"
          },
          {
            "id": "tile_search.label",
            "type": "label",
            "dock": "bottom",
            "size": [
              0,
              30
            ],
            "margin": [
              4,
              0,
              4,
              4
            ],
            "text": "search",
            "font_size": 12,
            "text_color": "#A3B5C5",
            "text_alignment": "center"
          }
        ]
      },
      {
        "id": "tile_menu",
        "type": "panel",
        "at": [
          188,
          245
        ],
        "size": [
          112,
          105
        ],
        "background_color": "#1B2735",
        "corner_radius": 12,
        "children": [
          {
            "id": "tile_menu.image",
            "type": "image",
            "at": [
              38,
              15
            ],
            "size": [
              36,
              36
            ],
            "texture": "asset://orbit/icons/menu",
            "color": "${tint}"
          },
          {
            "id": "tile_menu.label",
            "type": "label",
            "dock": "bottom",
            "size": [
              0,
              30
            ],
            "margin": [
              4,
              0,
              4,
              4
            ],
            "text": "menu",
            "font_size": 12,
            "text_color": "#A3B5C5",
            "text_alignment": "center"
          }
        ]
      },
      {
        "id": "tile_home",
        "type": "panel",
        "at": [
          320,
          245
        ],
        "size": [
          112,
          105
        ],
        "background_color": "#1B2735",
        "corner_radius": 12,
        "children": [
          {
            "id": "tile_home.image",
            "type": "image",
            "at": [
              38,
              15
            ],
            "size": [
              36,
              36
            ],
            "texture": "asset://orbit/icons/home",
            "color": "${tint}"
          },
          {
            "id": "tile_home.label",
            "type": "label",
            "dock": "bottom",
            "size": [
              0,
              30
            ],
            "margin": [
              4,
              0,
              4,
              4
            ],
            "text": "home",
            "font_size": 12,
            "text_color": "#A3B5C5",
            "text_alignment": "center"
          }
        ]
      },
      {
        "id": "tile_settings",
        "type": "panel",
        "at": [
          452,
          245
        ],
        "size": [
          112,
          105
        ],
        "background_color": "#1B2735",
        "corner_radius": 12,
        "children": [
          {
            "id": "tile_settings.image",
            "type": "image",
            "at": [
              38,
              15
            ],
            "size": [
              36,
              36
            ],
            "texture": "asset://orbit/icons/settings",
            "color": "${tint}"
          },
          {
            "id": "tile_settings.label",
            "type": "label",
            "dock": "bottom",
            "size": [
              0,
              30
            ],
            "margin": [
              4,
              0,
              4,
              4
            ],
            "text": "settings",
            "font_size": 12,
            "text_color": "#A3B5C5",
            "text_alignment": "center"
          }
        ]
      },
      {
        "id": "tile_user",
        "type": "panel",
        "at": [
          584,
          245
        ],
        "size": [
          112,
          105
        ],
        "background_color": "#1B2735",
        "corner_radius": 12,
        "children": [
          {
            "id": "tile_user.image",
            "type": "image",
            "at": [
              38,
              15
            ],
            "size": [
              36,
              36
            ],
            "texture": "asset://orbit/icons/user",
            "color": "${tint}"
          },
          {
            "id": "tile_user.label",
            "type": "label",
            "dock": "bottom",
            "size": [
              0,
              30
            ],
            "margin": [
              4,
              0,
              4,
              4
            ],
            "text": "user",
            "font_size": 12,
            "text_color": "#A3B5C5",
            "text_alignment": "center"
          }
        ]
      },
      {
        "id": "tile_crew",
        "type": "panel",
        "at": [
          716,
          245
        ],
        "size": [
          112,
          105
        ],
        "background_color": "#1B2735",
        "corner_radius": 12,
        "children": [
          {
            "id": "tile_crew.image",
            "type": "image",
            "at": [
              38,
              15
            ],
            "size": [
              36,
              36
            ],
            "texture": "asset://orbit/icons/crew",
            "color": "${tint}"
          },
          {
            "id": "tile_crew.label",
            "type": "label",
            "dock": "bottom",
            "size": [
              0,
              30
            ],
            "margin": [
              4,
              0,
              4,
              4
            ],
            "text": "crew",
            "font_size": 12,
            "text_color": "#A3B5C5",
            "text_alignment": "center"
          }
        ]
      },
      {
        "id": "tile_info",
        "type": "panel",
        "at": [
          848,
          245
        ],
        "size": [
          112,
          105
        ],
        "background_color": "#1B2735",
        "corner_radius": 12,
        "children": [
          {
            "id": "tile_info.image",
            "type": "image",
            "at": [
              38,
              15
            ],
            "size": [
              36,
              36
            ],
            "texture": "asset://orbit/icons/info",
            "color": "${tint}"
          },
          {
            "id": "tile_info.label",
            "type": "label",
            "dock": "bottom",
            "size": [
              0,
              30
            ],
            "margin": [
              4,
              0,
              4,
              4
            ],
            "text": "info",
            "font_size": 12,
            "text_color": "#A3B5C5",
            "text_alignment": "center"
          }
        ]
      },
      {
        "id": "tile_warning",
        "type": "panel",
        "at": [
          980,
          245
        ],
        "size": [
          112,
          105
        ],
        "background_color": "#1B2735",
        "corner_radius": 12,
        "children": [
          {
            "id": "tile_warning.image",
            "type": "image",
            "at": [
              38,
              15
            ],
            "size": [
              36,
              36
            ],
            "texture": "asset://orbit/icons/warning",
            "color": "${tint}"
          },
          {
            "id": "tile_warning.label",
            "type": "label",
            "dock": "bottom",
            "size": [
              0,
              30
            ],
            "margin": [
              4,
              0,
              4,
              4
            ],
            "text": "warning",
            "font_size": 12,
            "text_color": "#A3B5C5",
            "text_alignment": "center"
          }
        ]
      },
      {
        "id": "tile_bell",
        "type": "panel",
        "at": [
          56,
          370
        ],
        "size": [
          112,
          105
        ],
        "background_color": "#1B2735",
        "corner_radius": 12,
        "children": [
          {
            "id": "tile_bell.image",
            "type": "image",
            "at": [
              38,
              15
            ],
            "size": [
              36,
              36
            ],
            "texture": "asset://orbit/icons/bell",
            "color": "${tint}"
          },
          {
            "id": "tile_bell.label",
            "type": "label",
            "dock": "bottom",
            "size": [
              0,
              30
            ],
            "margin": [
              4,
              0,
              4,
              4
            ],
            "text": "bell",
            "font_size": 12,
            "text_color": "#A3B5C5",
            "text_alignment": "center"
          }
        ]
      },
      {
        "id": "tile_power",
        "type": "panel",
        "at": [
          188,
          370
        ],
        "size": [
          112,
          105
        ],
        "background_color": "#1B2735",
        "corner_radius": 12,
        "children": [
          {
            "id": "tile_power.image",
            "type": "image",
            "at": [
              38,
              15
            ],
            "size": [
              36,
              36
            ],
            "texture": "asset://orbit/icons/power",
            "color": "${tint}"
          },
          {
            "id": "tile_power.label",
            "type": "label",
            "dock": "bottom",
            "size": [
              0,
              30
            ],
            "margin": [
              4,
              0,
              4,
              4
            ],
            "text": "power",
            "font_size": 12,
            "text_color": "#A3B5C5",
            "text_alignment": "center"
          }
        ]
      },
      {
        "id": "tile_play",
        "type": "panel",
        "at": [
          320,
          370
        ],
        "size": [
          112,
          105
        ],
        "background_color": "#1B2735",
        "corner_radius": 12,
        "children": [
          {
            "id": "tile_play.image",
            "type": "image",
            "at": [
              38,
              15
            ],
            "size": [
              36,
              36
            ],
            "texture": "asset://orbit/icons/play",
            "color": "${tint}"
          },
          {
            "id": "tile_play.label",
            "type": "label",
            "dock": "bottom",
            "size": [
              0,
              30
            ],
            "margin": [
              4,
              0,
              4,
              4
            ],
            "text": "play",
            "font_size": 12,
            "text_color": "#A3B5C5",
            "text_alignment": "center"
          }
        ]
      },
      {
        "id": "tile_pause",
        "type": "panel",
        "at": [
          452,
          370
        ],
        "size": [
          112,
          105
        ],
        "background_color": "#1B2735",
        "corner_radius": 12,
        "children": [
          {
            "id": "tile_pause.image",
            "type": "image",
            "at": [
              38,
              15
            ],
            "size": [
              36,
              36
            ],
            "texture": "asset://orbit/icons/pause",
            "color": "${tint}"
          },
          {
            "id": "tile_pause.label",
            "type": "label",
            "dock": "bottom",
            "size": [
              0,
              30
            ],
            "margin": [
              4,
              0,
              4,
              4
            ],
            "text": "pause",
            "font_size": 12,
            "text_color": "#A3B5C5",
            "text_alignment": "center"
          }
        ]
      },
      {
        "id": "tile_save",
        "type": "panel",
        "at": [
          584,
          370
        ],
        "size": [
          112,
          105
        ],
        "background_color": "#1B2735",
        "corner_radius": 12,
        "children": [
          {
            "id": "tile_save.image",
            "type": "image",
            "at": [
              38,
              15
            ],
            "size": [
              36,
              36
            ],
            "texture": "asset://orbit/icons/save",
            "color": "${tint}"
          },
          {
            "id": "tile_save.label",
            "type": "label",
            "dock": "bottom",
            "size": [
              0,
              30
            ],
            "margin": [
              4,
              0,
              4,
              4
            ],
            "text": "save",
            "font_size": 12,
            "text_color": "#A3B5C5",
            "text_alignment": "center"
          }
        ]
      },
      {
        "id": "tile_folder",
        "type": "panel",
        "at": [
          716,
          370
        ],
        "size": [
          112,
          105
        ],
        "background_color": "#1B2735",
        "corner_radius": 12,
        "children": [
          {
            "id": "tile_folder.image",
            "type": "image",
            "at": [
              38,
              15
            ],
            "size": [
              36,
              36
            ],
            "texture": "asset://orbit/icons/folder",
            "color": "${tint}"
          },
          {
            "id": "tile_folder.label",
            "type": "label",
            "dock": "bottom",
            "size": [
              0,
              30
            ],
            "margin": [
              4,
              0,
              4,
              4
            ],
            "text": "folder",
            "font_size": 12,
            "text_color": "#A3B5C5",
            "text_alignment": "center"
          }
        ]
      },
      {
        "id": "tile_download",
        "type": "panel",
        "at": [
          848,
          370
        ],
        "size": [
          112,
          105
        ],
        "background_color": "#1B2735",
        "corner_radius": 12,
        "children": [
          {
            "id": "tile_download.image",
            "type": "image",
            "at": [
              38,
              15
            ],
            "size": [
              36,
              36
            ],
            "texture": "asset://orbit/icons/download",
            "color": "${tint}"
          },
          {
            "id": "tile_download.label",
            "type": "label",
            "dock": "bottom",
            "size": [
              0,
              30
            ],
            "margin": [
              4,
              0,
              4,
              4
            ],
            "text": "download",
            "font_size": 12,
            "text_color": "#A3B5C5",
            "text_alignment": "center"
          }
        ]
      },
      {
        "id": "tile_upload",
        "type": "panel",
        "at": [
          980,
          370
        ],
        "size": [
          112,
          105
        ],
        "background_color": "#1B2735",
        "corner_radius": 12,
        "children": [
          {
            "id": "tile_upload.image",
            "type": "image",
            "at": [
              38,
              15
            ],
            "size": [
              36,
              36
            ],
            "texture": "asset://orbit/icons/upload",
            "color": "${tint}"
          },
          {
            "id": "tile_upload.label",
            "type": "label",
            "dock": "bottom",
            "size": [
              0,
              30
            ],
            "margin": [
              4,
              0,
              4,
              4
            ],
            "text": "upload",
            "font_size": 12,
            "text_color": "#A3B5C5",
            "text_alignment": "center"
          }
        ]
      },
      {
        "id": "tile_trash",
        "type": "panel",
        "at": [
          56,
          495
        ],
        "size": [
          112,
          105
        ],
        "background_color": "#1B2735",
        "corner_radius": 12,
        "children": [
          {
            "id": "tile_trash.image",
            "type": "image",
            "at": [
              38,
              15
            ],
            "size": [
              36,
              36
            ],
            "texture": "asset://orbit/icons/trash",
            "color": "${tint}"
          },
          {
            "id": "tile_trash.label",
            "type": "label",
            "dock": "bottom",
            "size": [
              0,
              30
            ],
            "margin": [
              4,
              0,
              4,
              4
            ],
            "text": "trash",
            "font_size": 12,
            "text_color": "#A3B5C5",
            "text_alignment": "center"
          }
        ]
      },
      {
        "id": "tile_lock",
        "type": "panel",
        "at": [
          188,
          495
        ],
        "size": [
          112,
          105
        ],
        "background_color": "#1B2735",
        "corner_radius": 12,
        "children": [
          {
            "id": "tile_lock.image",
            "type": "image",
            "at": [
              38,
              15
            ],
            "size": [
              36,
              36
            ],
            "texture": "asset://orbit/icons/lock",
            "color": "${tint}"
          },
          {
            "id": "tile_lock.label",
            "type": "label",
            "dock": "bottom",
            "size": [
              0,
              30
            ],
            "margin": [
              4,
              0,
              4,
              4
            ],
            "text": "lock",
            "font_size": 12,
            "text_color": "#A3B5C5",
            "text_alignment": "center"
          }
        ]
      },
      {
        "id": "tile_heart",
        "type": "panel",
        "at": [
          320,
          495
        ],
        "size": [
          112,
          105
        ],
        "background_color": "#1B2735",
        "corner_radius": 12,
        "children": [
          {
            "id": "tile_heart.image",
            "type": "image",
            "at": [
              38,
              15
            ],
            "size": [
              36,
              36
            ],
            "texture": "asset://orbit/icons/heart",
            "color": "${tint}"
          },
          {
            "id": "tile_heart.label",
            "type": "label",
            "dock": "bottom",
            "size": [
              0,
              30
            ],
            "margin": [
              4,
              0,
              4,
              4
            ],
            "text": "heart",
            "font_size": 12,
            "text_color": "#A3B5C5",
            "text_alignment": "center"
          }
        ]
      },
      {
        "id": "tile_water",
        "type": "panel",
        "at": [
          452,
          495
        ],
        "size": [
          112,
          105
        ],
        "background_color": "#1B2735",
        "corner_radius": 12,
        "children": [
          {
            "id": "tile_water.image",
            "type": "image",
            "at": [
              38,
              15
            ],
            "size": [
              36,
              36
            ],
            "texture": "asset://orbit/icons/water",
            "color": "${tint}"
          },
          {
            "id": "tile_water.label",
            "type": "label",
            "dock": "bottom",
            "size": [
              0,
              30
            ],
            "margin": [
              4,
              0,
              4,
              4
            ],
            "text": "water",
            "font_size": 12,
            "text_color": "#A3B5C5",
            "text_alignment": "center"
          }
        ]
      },
      {
        "id": "tile_energy",
        "type": "panel",
        "at": [
          584,
          495
        ],
        "size": [
          112,
          105
        ],
        "background_color": "#1B2735",
        "corner_radius": 12,
        "children": [
          {
            "id": "tile_energy.image",
            "type": "image",
            "at": [
              38,
              15
            ],
            "size": [
              36,
              36
            ],
            "texture": "asset://orbit/icons/energy",
            "color": "${tint}"
          },
          {
            "id": "tile_energy.label",
            "type": "label",
            "dock": "bottom",
            "size": [
              0,
              30
            ],
            "margin": [
              4,
              0,
              4,
              4
            ],
            "text": "energy",
            "font_size": 12,
            "text_color": "#A3B5C5",
            "text_alignment": "center"
          }
        ]
      },
      {
        "id": "tile_cargo",
        "type": "panel",
        "at": [
          716,
          495
        ],
        "size": [
          112,
          105
        ],
        "background_color": "#1B2735",
        "corner_radius": 12,
        "children": [
          {
            "id": "tile_cargo.image",
            "type": "image",
            "at": [
              38,
              15
            ],
            "size": [
              36,
              36
            ],
            "texture": "asset://orbit/icons/cargo",
            "color": "${tint}"
          },
          {
            "id": "tile_cargo.label",
            "type": "label",
            "dock": "bottom",
            "size": [
              0,
              30
            ],
            "margin": [
              4,
              0,
              4,
              4
            ],
            "text": "cargo",
            "font_size": 12,
            "text_color": "#A3B5C5",
            "text_alignment": "center"
          }
        ]
      },
      {
        "id": "tile_globe",
        "type": "panel",
        "at": [
          848,
          495
        ],
        "size": [
          112,
          105
        ],
        "background_color": "#1B2735",
        "corner_radius": 12,
        "children": [
          {
            "id": "tile_globe.image",
            "type": "image",
            "at": [
              38,
              15
            ],
            "size": [
              36,
              36
            ],
            "texture": "asset://orbit/icons/globe",
            "color": "${tint}"
          },
          {
            "id": "tile_globe.label",
            "type": "label",
            "dock": "bottom",
            "size": [
              0,
              30
            ],
            "margin": [
              4,
              0,
              4,
              4
            ],
            "text": "globe",
            "font_size": 12,
            "text_color": "#A3B5C5",
            "text_alignment": "center"
          }
        ]
      },
      {
        "id": "tile_rocket",
        "type": "panel",
        "at": [
          980,
          495
        ],
        "size": [
          112,
          105
        ],
        "background_color": "#1B2735",
        "corner_radius": 12,
        "children": [
          {
            "id": "tile_rocket.image",
            "type": "image",
            "at": [
              38,
              15
            ],
            "size": [
              36,
              36
            ],
            "texture": "asset://orbit/icons/rocket",
            "color": "${tint}"
          },
          {
            "id": "tile_rocket.label",
            "type": "label",
            "dock": "bottom",
            "size": [
              0,
              30
            ],
            "margin": [
              4,
              0,
              4,
              4
            ],
            "text": "rocket",
            "font_size": 12,
            "text_color": "#A3B5C5",
            "text_alignment": "center"
          }
        ]
      },
      {
        "id": "icon_action",
        "prefab": "ui-prefab://orbit/icon-button",
        "arguments": {
          "texture": "asset://orbit/icons/settings",
          "label": "Settings"
        },
        "overrides": {
          "$root": {
            "at": [
              56,
              662
            ]
          }
        }
      },
      {
        "id": "save",
        "prefab": "ui-prefab://orbit/button-with-icon",
        "arguments": {
          "texture": "asset://orbit/icons/save",
          "label": "Save changes"
        },
        "overrides": {
          "$root": {
            "at": [
              124,
              662
            ]
          }
        }
      },
      {
        "id": "back",
        "prefab": "ui-prefab://orbit/button-secondary",
        "arguments": {
          "label": "< Components",
          "action": "orbit.components"
        },
        "overrides": {
          "$root": {
            "at": [
              916,
              752
            ],
            "size": [
              188,
              40
            ]
          }
        }
      }
    ]
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/icon",
  "parameters": {
    "texture": {
      "type": "string",
      "default": "asset://orbit/icons/rocket"
    },
    "size": {
      "type": "array",
      "default": [
        24,
        24
      ]
    },
    "tint": {
      "type": "string",
      "default": "#EEF4FA"
    },
    "label": {
      "type": "string",
      "default": ""
    }
  },
  "root": {
    "id": "icon",
    "type": "image",
    "size": "${size}",
    "texture": "${texture}",
    "color": "${tint}",
    "accessibility_label": "${label}"
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/input",
  "parameters": {
    "accent": {
      "type": "string",
      "default": "#FFB66B"
    },
    "action": {
      "type": "string",
      "default": ""
    },
    "background": {
      "type": "string",
      "default": "#101822"
    },
    "placeholder": {
      "type": "string",
      "default": "Enter a name"
    },
    "raised": {
      "type": "string",
      "default": "#263748"
    },
    "size": {
      "type": "array",
      "default": [
        280,
        44
      ]
    },
    "stroke": {
      "type": "string",
      "default": "#3B5166"
    },
    "text": {
      "type": "string",
      "default": "#EEF4FA"
    },
    "value": {
      "type": "string",
      "default": ""
    }
  },
  "root": {
    "id": "input",
    "type": "text_input",
    "size": "${size}",
    "text": "${value}",
    "placeholder": "${placeholder}",
    "text_vertical_alignment": "center",
    "action": "${action}",
    "font_size": 16,
    "background_color": "${background}",
    "text_color": "${text}",
    "color": "${accent}",
    "hover_color": "${raised}",
    "border_color": "${stroke}",
    "border_width": 1,
    "corner_radius": 9,
    "pad": [
      12,
      8,
      12,
      8
    ]
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/inventory-slot",
  "parameters": {
    "accent": {
      "type": "string",
      "default": "#FFB66B"
    },
    "action": {
      "type": "string",
      "default": ""
    },
    "count": {
      "type": "string",
      "default": "24"
    },
    "disabled": {
      "type": "boolean",
      "default": false
    },
    "label": {
      "type": "string",
      "default": "ORE"
    },
    "raised": {
      "type": "string",
      "default": "#263748"
    },
    "size": {
      "type": "array",
      "default": [
        76,
        76
      ]
    },
    "stroke": {
      "type": "string",
      "default": "#3B5166"
    },
    "text": {
      "type": "string",
      "default": "#EEF4FA"
    }
  },
  "root": {
    "id": "control",
    "type": "button",
    "size": "${size}",
    "text": "",
    "action": "${action}",
    "disabled": "${disabled}",
    "corner_radius": 9,
    "font_size": 16,
    "text_color": "${text}",
    "background_color": "${raised}",
    "hover_color": "${stroke}",
    "border_color": "${stroke}",
    "border_width": 1,
    "color": "${accent}",
    "accessibility_label": "${label}",
    "children": [
      {
        "id": "item",
        "type": "label",
        "dock": "fill",
        "margin": [
          4,
          4,
          4,
          18
        ],
        "text": "${label}",
        "text_color": "${text}",
        "font_size": 15,
        "text_alignment": "center",
        "text_vertical_alignment": "center"
      },
      {
        "id": "count",
        "type": "label",
        "dock": "bottom",
        "size": [
          0,
          20
        ],
        "margin": [
          6,
          0,
          6,
          4
        ],
        "text": "${count}",
        "font_size": 12,
        "text_color": "${accent}",
        "text_alignment": "end"
      }
    ]
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/inventory",
  "parameters": {
    "accent": {
      "type": "string",
      "default": "#FFB66B"
    },
    "background": {
      "type": "string",
      "default": "#101822"
    },
    "raised": {
      "type": "string",
      "default": "#263748"
    },
    "stroke": {
      "type": "string",
      "default": "#3B5166"
    },
    "surface": {
      "type": "string",
      "default": "#1B2735"
    },
    "text": {
      "type": "string",
      "default": "#EEF4FA"
    },
    "title": {
      "type": "string",
      "default": "Cargo hold"
    }
  },
  "root": {
    "id": "inventory",
    "type": "panel",
    "size": [
      500,
      456
    ],
    "background_color": "${surface}",
    "border_color": "${stroke}",
    "border_width": 1,
    "corner_radius": 14,
    "children": [
      {
        "id": "header",
        "type": "container",
        "dock": "top",
        "size": [
          0,
          32
        ],
        "margin": [
          20,
          16,
          20,
          0
        ],
        "children": [
          {
            "id": "rail",
            "type": "panel",
            "dock": "left",
            "size": [
              3,
              0
            ],
            "margin": [
              0,
              7,
              0,
              7
            ],
            "background_color": "${accent}"
          },
          {
            "id": "title",
            "type": "label",
            "dock": "fill",
            "margin": [
              16,
              0,
              0,
              0
            ],
            "text": "${title}",
            "font_size": 20,
            "text_color": "${text}",
            "text_vertical_alignment": "center"
          }
        ]
      },
      {
        "id": "body",
        "type": "container",
        "dock": "fill",
        "margin": [
          20,
          64,
          20,
          20
        ],
        "children": [
          {
            "id": "search",
            "prefab": "ui-prefab://orbit/search",
            "arguments": {
              "accent": "${accent}",
              "background": "${background}",
              "raised": "${raised}",
              "stroke": "${stroke}",
              "text": "${text}",
              "size": [
                460,
                44
              ]
            },
            "overrides": {
              "$root": {
                "at": [
                  0,
                  0
                ]
              }
            }
          },
          {
            "id": "grid",
            "type": "container",
            "at": [
              0,
              62
            ],
            "size": [
              460,
              240
            ],
            "stack": "grid",
            "columns": 6,
            "gap": 6,
            "children": [
              {
                "id": "slot1",
                "prefab": "ui-prefab://orbit/inventory-slot",
                "arguments": {
                  "accent": "${accent}",
                  "raised": "${raised}",
                  "stroke": "${stroke}",
                  "text": "${text}",
                  "label": "Fe",
                  "count": "3",
                  "size": [
                    72,
                    72
                  ]
                }
              },
              {
                "id": "slot2",
                "prefab": "ui-prefab://orbit/inventory-slot",
                "arguments": {
                  "accent": "${accent}",
                  "raised": "${raised}",
                  "stroke": "${stroke}",
                  "text": "${text}",
                  "label": "H2O",
                  "count": "6",
                  "size": [
                    72,
                    72
                  ]
                }
              },
              {
                "id": "slot3",
                "prefab": "ui-prefab://orbit/inventory-slot",
                "arguments": {
                  "accent": "${accent}",
                  "raised": "${raised}",
                  "stroke": "${stroke}",
                  "text": "${text}",
                  "label": "O2",
                  "count": "9",
                  "size": [
                    72,
                    72
                  ]
                }
              },
              {
                "id": "slot4",
                "prefab": "ui-prefab://orbit/inventory-slot",
                "arguments": {
                  "accent": "${accent}",
                  "raised": "${raised}",
                  "stroke": "${stroke}",
                  "text": "${text}",
                  "label": "Cu",
                  "count": "12",
                  "size": [
                    72,
                    72
                  ]
                }
              },
              {
                "id": "slot5",
                "prefab": "ui-prefab://orbit/inventory-slot",
                "arguments": {
                  "accent": "${accent}",
                  "raised": "${raised}",
                  "stroke": "${stroke}",
                  "text": "${text}",
                  "label": "Si",
                  "count": "15",
                  "size": [
                    72,
                    72
                  ]
                }
              },
              {
                "id": "slot6",
                "prefab": "ui-prefab://orbit/inventory-slot",
                "arguments": {
                  "accent": "${accent}",
                  "raised": "${raised}",
                  "stroke": "${stroke}",
                  "text": "${text}",
                  "label": "MED",
                  "count": "18",
                  "size": [
                    72,
                    72
                  ]
                }
              },
              {
                "id": "slot7",
                "prefab": "ui-prefab://orbit/inventory-slot",
                "arguments": {
                  "accent": "${accent}",
                  "raised": "${raised}",
                  "stroke": "${stroke}",
                  "text": "${text}",
                  "label": "KIT",
                  "count": "21",
                  "size": [
                    72,
                    72
                  ]
                }
              },
              {
                "id": "slot8",
                "prefab": "ui-prefab://orbit/inventory-slot",
                "arguments": {
                  "accent": "${accent}",
                  "raised": "${raised}",
                  "stroke": "${stroke}",
                  "text": "${text}",
                  "label": "SEED",
                  "count": "24",
                  "size": [
                    72,
                    72
                  ]
                }
              },
              {
                "id": "slot9",
                "prefab": "ui-prefab://orbit/inventory-slot",
                "arguments": {
                  "accent": "${accent}",
                  "raised": "${raised}",
                  "stroke": "${stroke}",
                  "text": "${text}",
                  "label": "CELL",
                  "count": "27",
                  "size": [
                    72,
                    72
                  ]
                }
              },
              {
                "id": "slot10",
                "prefab": "ui-prefab://orbit/inventory-slot",
                "arguments": {
                  "accent": "${accent}",
                  "raised": "${raised}",
                  "stroke": "${stroke}",
                  "text": "${text}",
                  "label": "ORE",
                  "count": "30",
                  "size": [
                    72,
                    72
                  ]
                }
              },
              {
                "id": "slot11",
                "prefab": "ui-prefab://orbit/inventory-slot",
                "arguments": {
                  "accent": "${accent}",
                  "raised": "${raised}",
                  "stroke": "${stroke}",
                  "text": "${text}",
                  "label": "FOOD",
                  "count": "33",
                  "size": [
                    72,
                    72
                  ]
                }
              },
              {
                "id": "slot12",
                "prefab": "ui-prefab://orbit/inventory-slot",
                "arguments": {
                  "accent": "${accent}",
                  "raised": "${raised}",
                  "stroke": "${stroke}",
                  "text": "${text}",
                  "label": "FUEL",
                  "count": "36",
                  "size": [
                    72,
                    72
                  ]
                }
              }
            ]
          },
          {
            "id": "pages",
            "prefab": "ui-prefab://orbit/pagination",
            "arguments": {
              "accent": "${accent}",
              "raised": "${raised}",
              "stroke": "${stroke}",
              "text": "${text}",
              "size": [
                460,
                40
              ]
            },
            "overrides": {
              "$root": {
                "at": [
                  0,
                  328
                ]
              }
            }
          }
        ]
      }
    ]
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/label",
  "parameters": {
    "label": {
      "type": "string",
      "default": "Label"
    },
    "size": {
      "type": "array",
      "default": [
        240,
        24
      ]
    },
    "text": {
      "type": "string",
      "default": "#EEF4FA"
    }
  },
  "root": {
    "id": "label",
    "type": "label",
    "text": "${label}",
    "size": "${size}",
    "font_size": 16,
    "text_color": "${text}"
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/list-row",
  "parameters": {
    "accent": {
      "type": "string",
      "default": "#FFB66B"
    },
    "action": {
      "type": "string",
      "default": ""
    },
    "detail": {
      "type": "string",
      "default": "Manage your next assignment"
    },
    "muted": {
      "type": "string",
      "default": "#A3B5C5"
    },
    "raised": {
      "type": "string",
      "default": "#263748"
    },
    "size": {
      "type": "array",
      "default": [
        320,
        64
      ]
    },
    "stroke": {
      "type": "string",
      "default": "#3B5166"
    },
    "surface": {
      "type": "string",
      "default": "#1B2735"
    },
    "symbol": {
      "type": "string",
      "default": "01"
    },
    "text": {
      "type": "string",
      "default": "#EEF4FA"
    },
    "title": {
      "type": "string",
      "default": "Surface operations"
    }
  },
  "root": {
    "id": "row",
    "type": "button",
    "size": "${size}",
    "background_color": "${surface}",
    "hover_color": "${raised}",
    "color": "${accent}",
    "border_color": "${stroke}",
    "border_width": 1,
    "corner_radius": 10,
    "action": "${action}",
    "accessibility_label": "${title}",
    "children": [
      {
        "id": "symbol",
        "type": "label",
        "text": "${symbol}",
        "at": [
          12,
          16
        ],
        "size": [
          28,
          28
        ],
        "text_color": "${accent}",
        "font_size": 18,
        "text_vertical_alignment": "center"
      },
      {
        "id": "copy",
        "type": "container",
        "dock": "fill",
        "margin": [
          52,
          8,
          28,
          8
        ],
        "stack": "column",
        "gap": 0,
        "children": [
          {
            "id": "title",
            "type": "label",
            "size": [
              0,
              25
            ],
            "text": "${title}",
            "text_color": "${text}",
            "font_size": 16,
            "anchor_min": [
              0,
              0
            ],
            "anchor_max": [
              1,
              0
            ]
          },
          {
            "id": "detail",
            "type": "label",
            "size": [
              0,
              20
            ],
            "text": "${detail}",
            "text_color": "${muted}",
            "font_size": 12,
            "anchor_min": [
              0,
              0
            ],
            "anchor_max": [
              1,
              0
            ]
          }
        ],
        "alignment": "stretch"
      },
      {
        "id": "arrow",
        "type": "image",
        "anchor_min": [
          1,
          0.5
        ],
        "anchor_max": [
          1,
          0.5
        ],
        "at": [
          -30,
          -9
        ],
        "size": [
          18,
          18
        ],
        "texture": "asset://orbit/icons/chevron-right",
        "color": "${muted}",
        "accessibility_hidden": true
      }
    ]
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/main-menu",
  "parameters": {
    "accent": {
      "type": "string",
      "default": "#FFB66B"
    },
    "accent_hover": {
      "type": "string",
      "default": "#FFD09A"
    },
    "background": {
      "type": "string",
      "default": "#101822"
    },
    "muted": {
      "type": "string",
      "default": "#A3B5C5"
    },
    "on_accent": {
      "type": "string",
      "default": "#19232F"
    },
    "raised": {
      "type": "string",
      "default": "#263748"
    },
    "stroke": {
      "type": "string",
      "default": "#3B5166"
    },
    "subtitle": {
      "type": "string",
      "default": "Your next story starts here."
    },
    "surface": {
      "type": "string",
      "default": "#1B2735"
    },
    "text": {
      "type": "string",
      "default": "#EEF4FA"
    },
    "title": {
      "type": "string",
      "default": "Beyond the horizon"
    }
  },
  "root": {
    "id": "main_menu",
    "type": "container",
    "dock": "fill",
    "children": [
      {
        "id": "background",
        "type": "panel",
        "dock": "fill",
        "background_color": "${background}"
      },
      {
        "id": "title",
        "type": "label",
        "text": "${title}",
        "at": [
          56,
          64
        ],
        "size": [
          700,
          64
        ],
        "text_color": "${text}",
        "font_size": 40,
        "text_vertical_alignment": "center"
      },
      {
        "id": "subtitle",
        "type": "label",
        "text": "${subtitle}",
        "at": [
          56,
          136
        ],
        "size": [
          700,
          32
        ],
        "text_color": "${muted}",
        "font_size": 18,
        "text_vertical_alignment": "center"
      },
      {
        "id": "menu",
        "prefab": "ui-prefab://orbit/panel",
        "arguments": {
          "accent": "${accent}",
          "stroke": "${stroke}",
          "surface": "${surface}",
          "text": "${text}",
          "title": "Expedition",
          "content": [
            {
              "id": "continue",
              "prefab": "ui-prefab://orbit/button-primary",
              "arguments": {
                "accent": "${accent}",
                "accent_hover": "${accent_hover}",
                "on_accent": "${on_accent}",
                "stroke": "${stroke}",
                "label": "Continue",
                "action": "menu.continue",
                "size": [
                  300,
                  48
                ]
              },
              "overrides": {
                "$root": {
                  "at": [
                    0,
                    0
                  ]
                }
              }
            },
            {
              "id": "new_game",
              "prefab": "ui-prefab://orbit/button-secondary",
              "arguments": {
                "accent": "${accent}",
                "raised": "${raised}",
                "stroke": "${stroke}",
                "text": "${text}",
                "label": "New expedition",
                "action": "menu.new",
                "size": [
                  300,
                  48
                ]
              },
              "overrides": {
                "$root": {
                  "at": [
                    0,
                    62
                  ]
                }
              }
            },
            {
              "id": "settings",
              "prefab": "ui-prefab://orbit/button-secondary",
              "arguments": {
                "accent": "${accent}",
                "raised": "${raised}",
                "stroke": "${stroke}",
                "text": "${text}",
                "label": "Settings",
                "action": "menu.settings",
                "size": [
                  300,
                  48
                ]
              },
              "overrides": {
                "$root": {
                  "at": [
                    0,
                    124
                  ]
                }
              }
            },
            {
              "id": "quit",
              "prefab": "ui-prefab://orbit/button-quiet",
              "arguments": {
                "accent": "${accent}",
                "stroke": "${stroke}",
                "text": "${text}",
                "label": "Quit",
                "action": "menu.quit",
                "size": [
                  300,
                  44
                ]
              },
              "overrides": {
                "$root": {
                  "at": [
                    0,
                    186
                  ]
                }
              }
            }
          ],
          "size": [
            340,
            322
          ]
        },
        "overrides": {
          "$root": {
            "at": [
              56,
              224
            ]
          }
        }
      }
    ]
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/metric",
  "parameters": {
    "accent": {
      "type": "string",
      "default": "#FFB66B"
    },
    "label": {
      "type": "string",
      "default": "POWER RESERVE"
    },
    "muted": {
      "type": "string",
      "default": "#A3B5C5"
    },
    "size": {
      "type": "array",
      "default": [
        176,
        100
      ]
    },
    "stroke": {
      "type": "string",
      "default": "#3B5166"
    },
    "surface": {
      "type": "string",
      "default": "#1B2735"
    },
    "value": {
      "type": "string",
      "default": "84 kW"
    }
  },
  "root": {
    "id": "metric",
    "type": "panel",
    "size": "${size}",
    "background_color": "${surface}",
    "border_color": "${stroke}",
    "border_width": 1,
    "corner_radius": 10,
    "pad": 16,
    "stack": "column",
    "gap": 4,
    "children": [
      {
        "id": "label",
        "type": "label",
        "text": "${label}",
        "size": [
          0,
          22
        ],
        "font_size": 12,
        "text_color": "${muted}",
        "anchor_min": [
          0,
          0
        ],
        "anchor_max": [
          1,
          0
        ]
      },
      {
        "id": "value",
        "type": "label",
        "text": "${value}",
        "size": [
          0,
          36
        ],
        "font_size": 28,
        "text_color": "${accent}",
        "anchor_min": [
          0,
          0
        ],
        "anchor_max": [
          1,
          0
        ]
      }
    ],
    "alignment": "stretch"
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/modal",
  "parameters": {
    "accent": {
      "type": "string",
      "default": "#FFB66B"
    },
    "accent_hover": {
      "type": "string",
      "default": "#FFD09A"
    },
    "cancel_action": {
      "type": "string",
      "default": "cancel"
    },
    "confirm_action": {
      "type": "string",
      "default": "confirm"
    },
    "message": {
      "type": "string",
      "default": "You can cancel and return safely."
    },
    "muted": {
      "type": "string",
      "default": "#A3B5C5"
    },
    "on_accent": {
      "type": "string",
      "default": "#19232F"
    },
    "raised": {
      "type": "string",
      "default": "#263748"
    },
    "stroke": {
      "type": "string",
      "default": "#3B5166"
    },
    "surface": {
      "type": "string",
      "default": "#1B2735"
    },
    "text": {
      "type": "string",
      "default": "#EEF4FA"
    },
    "title": {
      "type": "string",
      "default": "Confirm your choice"
    }
  },
  "root": {
    "id": "modal",
    "type": "modal",
    "dock": "fill",
    "visible": false,
    "layer": 400,
    "respect_safe_area": false,
    "background_color": "#000000A8",
    "children": [
      {
        "id": "window",
        "type": "panel",
        "size": [
          400,
          240
        ],
        "background_color": "${surface}",
        "border_color": "${stroke}",
        "border_width": 1,
        "corner_radius": 14,
        "children": [
          {
            "id": "header",
            "type": "container",
            "dock": "top",
            "size": [
              0,
              32
            ],
            "margin": [
              20,
              16,
              20,
              0
            ],
            "children": [
              {
                "id": "rail",
                "type": "panel",
                "dock": "left",
                "size": [
                  3,
                  0
                ],
                "margin": [
                  0,
                  7,
                  0,
                  7
                ],
                "background_color": "${accent}"
              },
              {
                "id": "title",
                "type": "label",
                "dock": "fill",
                "margin": [
                  16,
                  0,
                  0,
                  0
                ],
                "text": "${title}",
                "font_size": 20,
                "text_color": "${text}",
                "text_vertical_alignment": "center"
              }
            ]
          },
          {
            "id": "body",
            "type": "container",
            "dock": "fill",
            "margin": [
              20,
              64,
              20,
              20
            ],
            "children": [
              {
                "id": "message",
                "type": "text",
                "text": "${message}",
                "dock": "top",
                "size": [
                  0,
                  74
                ],
                "font_size": 16,
                "text_color": "${muted}",
                "text_wrap": "word"
              },
              {
                "id": "cancel",
                "prefab": "ui-prefab://orbit/button-secondary",
                "arguments": {
                  "accent": "${accent}",
                  "raised": "${raised}",
                  "stroke": "${stroke}",
                  "text": "${text}",
                  "label": "Cancel",
                  "action": "${cancel_action}",
                  "size": [
                    164,
                    44
                  ]
                },
                "overrides": {
                  "$root": {
                    "at": [
                      0,
                      100
                    ]
                  }
                }
              },
              {
                "id": "confirm",
                "prefab": "ui-prefab://orbit/button-primary",
                "arguments": {
                  "accent": "${accent}",
                  "accent_hover": "${accent_hover}",
                  "on_accent": "${on_accent}",
                  "stroke": "${stroke}",
                  "label": "Confirm",
                  "action": "${confirm_action}",
                  "size": [
                    184,
                    44
                  ]
                },
                "overrides": {
                  "$root": {
                    "at": [
                      176,
                      100
                    ]
                  }
                }
              }
            ]
          }
        ],
        "dock": "center",
        "layer": 401
      }
    ]
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/notification",
  "parameters": {
    "accent": {
      "type": "string",
      "default": "#FFB66B"
    },
    "message": {
      "type": "string",
      "default": "Your settings are ready for the next mission."
    },
    "muted": {
      "type": "string",
      "default": "#A3B5C5"
    },
    "stroke": {
      "type": "string",
      "default": "#3B5166"
    },
    "surface": {
      "type": "string",
      "default": "#1B2735"
    },
    "text": {
      "type": "string",
      "default": "#EEF4FA"
    },
    "title": {
      "type": "string",
      "default": "Changes saved"
    }
  },
  "root": {
    "id": "notification",
    "type": "panel",
    "size": [
      380,
      130
    ],
    "background_color": "${surface}",
    "border_color": "${stroke}",
    "border_width": 1,
    "corner_radius": 14,
    "children": [
      {
        "id": "header",
        "type": "container",
        "dock": "top",
        "size": [
          0,
          32
        ],
        "margin": [
          20,
          16,
          20,
          0
        ],
        "children": [
          {
            "id": "rail",
            "type": "panel",
            "dock": "left",
            "size": [
              3,
              0
            ],
            "margin": [
              0,
              7,
              0,
              7
            ],
            "background_color": "${accent}"
          },
          {
            "id": "title",
            "type": "label",
            "dock": "fill",
            "margin": [
              16,
              0,
              40,
              0
            ],
            "text": "${title}",
            "font_size": 20,
            "text_color": "${text}",
            "text_vertical_alignment": "center"
          },
          {
            "id": "close",
            "prefab": "ui-prefab://orbit/icon-button",
            "arguments": {
              "accent": "${accent}",
              "stroke": "${stroke}",
              "text": "${text}",
              "label": "Close notification",
              "size": [
                32,
                32
              ],
              "texture": "asset://orbit/icons/close"
            },
            "overrides": {
              "$root": {
                "dock": "right"
              }
            }
          }
        ]
      },
      {
        "id": "body",
        "type": "container",
        "dock": "fill",
        "margin": [
          20,
          64,
          20,
          20
        ],
        "children": [
          {
            "id": "message",
            "type": "label",
            "text": "${message}",
            "at": [
              0,
              0
            ],
            "size": [
              280,
              42
            ],
            "text_color": "${muted}",
            "font_size": 14,
            "text_vertical_alignment": "center"
          }
        ]
      }
    ]
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/pagination",
  "parameters": {
    "accent": {
      "type": "string",
      "default": "#FFB66B"
    },
    "raised": {
      "type": "string",
      "default": "#263748"
    },
    "size": {
      "type": "array",
      "default": [
        280,
        40
      ]
    },
    "stroke": {
      "type": "string",
      "default": "#3B5166"
    },
    "text": {
      "type": "string",
      "default": "#EEF4FA"
    }
  },
  "root": {
    "id": "pagination",
    "type": "container",
    "size": "${size}",
    "stack": "grid",
    "columns": 5,
    "gap": 6,
    "children": [
      {
        "id": "previous",
        "type": "button",
        "size": [
          0,
          40
        ],
        "text": "<",
        "action": "",
        "disabled": false,
        "corner_radius": 9,
        "font_size": 16,
        "text_color": "${text}",
        "background_color": "${raised}",
        "hover_color": "${stroke}",
        "border_color": "${stroke}",
        "border_width": 1,
        "color": "${accent}",
        "anchor_min": [
          0,
          0
        ],
        "anchor_max": [
          1,
          0
        ]
      },
      {
        "id": "page1",
        "type": "button",
        "size": [
          0,
          40
        ],
        "text": "1",
        "action": "",
        "disabled": false,
        "corner_radius": 9,
        "font_size": 16,
        "text_color": "${text}",
        "background_color": "${raised}",
        "hover_color": "${stroke}",
        "border_color": "${stroke}",
        "border_width": 1,
        "color": "${accent}",
        "anchor_min": [
          0,
          0
        ],
        "anchor_max": [
          1,
          0
        ]
      },
      {
        "id": "page2",
        "type": "button",
        "size": [
          0,
          40
        ],
        "text": "2",
        "action": "",
        "disabled": false,
        "corner_radius": 9,
        "font_size": 16,
        "text_color": "${text}",
        "background_color": "${raised}",
        "hover_color": "${stroke}",
        "border_color": "${stroke}",
        "border_width": 1,
        "color": "${accent}",
        "anchor_min": [
          0,
          0
        ],
        "anchor_max": [
          1,
          0
        ]
      },
      {
        "id": "page3",
        "type": "button",
        "size": [
          0,
          40
        ],
        "text": "3",
        "action": "",
        "disabled": false,
        "corner_radius": 9,
        "font_size": 16,
        "text_color": "${text}",
        "background_color": "${raised}",
        "hover_color": "${stroke}",
        "border_color": "${stroke}",
        "border_width": 1,
        "color": "${accent}",
        "anchor_min": [
          0,
          0
        ],
        "anchor_max": [
          1,
          0
        ]
      },
      {
        "id": "next",
        "type": "button",
        "size": [
          0,
          40
        ],
        "text": ">",
        "action": "",
        "disabled": false,
        "corner_radius": 9,
        "font_size": 16,
        "text_color": "${text}",
        "background_color": "${raised}",
        "hover_color": "${stroke}",
        "border_color": "${stroke}",
        "border_width": 1,
        "color": "${accent}",
        "anchor_min": [
          0,
          0
        ],
        "anchor_max": [
          1,
          0
        ]
      }
    ]
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/panel",
  "parameters": {
    "accent": {
      "type": "string",
      "default": "#FFB66B"
    },
    "content": {
      "type": "array",
      "default": []
    },
    "size": {
      "type": "array",
      "default": [
        320,
        260
      ]
    },
    "stroke": {
      "type": "string",
      "default": "#3B5166"
    },
    "surface": {
      "type": "string",
      "default": "#1B2735"
    },
    "text": {
      "type": "string",
      "default": "#EEF4FA"
    },
    "title": {
      "type": "string",
      "default": "Panel"
    }
  },
  "root": {
    "id": "panel",
    "type": "panel",
    "size": "${size}",
    "background_color": "${surface}",
    "border_color": "${stroke}",
    "border_width": 1,
    "corner_radius": 14,
    "children": [
      {
        "id": "header",
        "type": "container",
        "dock": "top",
        "size": [
          0,
          32
        ],
        "margin": [
          20,
          16,
          20,
          0
        ],
        "children": [
          {
            "id": "rail",
            "type": "panel",
            "dock": "left",
            "size": [
              3,
              0
            ],
            "margin": [
              0,
              7,
              0,
              7
            ],
            "background_color": "${accent}"
          },
          {
            "id": "title",
            "type": "label",
            "dock": "fill",
            "margin": [
              16,
              0,
              0,
              0
            ],
            "text": "${title}",
            "font_size": 20,
            "text_color": "${text}",
            "text_vertical_alignment": "center"
          }
        ]
      },
      {
        "id": "body",
        "type": "container",
        "dock": "fill",
        "margin": [
          20,
          64,
          20,
          20
        ],
        "children": "${content}"
      }
    ]
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/progress",
  "parameters": {
    "accent": {
      "type": "string",
      "default": "#FFB66B"
    },
    "action": {
      "type": "string",
      "default": ""
    },
    "muted": {
      "type": "string",
      "default": "#A3B5C5"
    },
    "raised": {
      "type": "string",
      "default": "#263748"
    },
    "size": {
      "type": "array",
      "default": [
        280,
        8
      ]
    },
    "text": {
      "type": "string",
      "default": "#EEF4FA"
    },
    "value": {
      "type": "number",
      "default": 0.65
    }
  },
  "root": {
    "id": "progress",
    "type": "progress",
    "size": "${size}",
    "value": "${value}",
    "minimum": 0,
    "maximum": 1,
    "action": "${action}",
    "color": "${accent}",
    "background_color": "${raised}",
    "text_color": "${text}",
    "border_color": "${muted}",
    "corner_radius": 4
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/radio-group",
  "parameters": {
    "accent": {
      "type": "string",
      "default": "#FFB66B"
    },
    "label1": {
      "type": "string",
      "default": "Balanced"
    },
    "label2": {
      "type": "string",
      "default": "Performance"
    },
    "label3": {
      "type": "string",
      "default": "Quality"
    },
    "raised": {
      "type": "string",
      "default": "#263748"
    },
    "size": {
      "type": "array",
      "default": [
        280,
        132
      ]
    },
    "stroke": {
      "type": "string",
      "default": "#3B5166"
    },
    "text": {
      "type": "string",
      "default": "#EEF4FA"
    }
  },
  "root": {
    "id": "choices",
    "type": "container",
    "size": "${size}",
    "stack": "column",
    "gap": 6,
    "children": [
      {
        "id": "option1",
        "type": "toggle",
        "size": [
          0,
          40
        ],
        "text": "${label1}",
        "action": "",
        "disabled": false,
        "corner_radius": 8,
        "font_size": 16,
        "text_color": "${text}",
        "background_color": "${raised}",
        "hover_color": "${stroke}",
        "border_color": "${stroke}",
        "border_width": 1,
        "color": "${accent}",
        "checked": true,
        "anchor_min": [
          0,
          0
        ],
        "anchor_max": [
          1,
          0
        ]
      },
      {
        "id": "option2",
        "type": "toggle",
        "size": [
          0,
          40
        ],
        "text": "${label2}",
        "action": "",
        "disabled": false,
        "corner_radius": 8,
        "font_size": 16,
        "text_color": "${text}",
        "background_color": "${raised}",
        "hover_color": "${stroke}",
        "border_color": "${stroke}",
        "border_width": 1,
        "color": "${accent}",
        "checked": false,
        "anchor_min": [
          0,
          0
        ],
        "anchor_max": [
          1,
          0
        ]
      },
      {
        "id": "option3",
        "type": "toggle",
        "size": [
          0,
          40
        ],
        "text": "${label3}",
        "action": "",
        "disabled": false,
        "corner_radius": 8,
        "font_size": 16,
        "text_color": "${text}",
        "background_color": "${raised}",
        "hover_color": "${stroke}",
        "border_color": "${stroke}",
        "border_width": 1,
        "color": "${accent}",
        "checked": false,
        "anchor_min": [
          0,
          0
        ],
        "anchor_max": [
          1,
          0
        ]
      }
    ],
    "alignment": "stretch"
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/search",
  "parameters": {
    "accent": {
      "type": "string",
      "default": "#FFB66B"
    },
    "action": {
      "type": "string",
      "default": ""
    },
    "background": {
      "type": "string",
      "default": "#101822"
    },
    "placeholder": {
      "type": "string",
      "default": "Search items..."
    },
    "raised": {
      "type": "string",
      "default": "#263748"
    },
    "size": {
      "type": "array",
      "default": [
        280,
        44
      ]
    },
    "stroke": {
      "type": "string",
      "default": "#3B5166"
    },
    "text": {
      "type": "string",
      "default": "#EEF4FA"
    },
    "value": {
      "type": "string",
      "default": ""
    }
  },
  "root": {
    "id": "input",
    "type": "text_input",
    "size": "${size}",
    "text": "${value}",
    "placeholder": "${placeholder}",
    "text_vertical_alignment": "center",
    "action": "${action}",
    "font_size": 16,
    "background_color": "${background}",
    "text_color": "${text}",
    "color": "${accent}",
    "hover_color": "${raised}",
    "border_color": "${stroke}",
    "border_width": 1,
    "corner_radius": 9,
    "pad": [
      16,
      8,
      16,
      8
    ]
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/segmented",
  "parameters": {
    "accent": {
      "type": "string",
      "default": "#FFB66B"
    },
    "background": {
      "type": "string",
      "default": "#101822"
    },
    "label1": {
      "type": "string",
      "default": "Day"
    },
    "label2": {
      "type": "string",
      "default": "Week"
    },
    "label3": {
      "type": "string",
      "default": "Month"
    },
    "raised": {
      "type": "string",
      "default": "#263748"
    },
    "size": {
      "type": "array",
      "default": [
        360,
        52
      ]
    },
    "surface": {
      "type": "string",
      "default": "#1B2735"
    },
    "text": {
      "type": "string",
      "default": "#EEF4FA"
    }
  },
  "root": {
    "id": "segmented",
    "type": "panel",
    "size": "${size}",
    "background_color": "${background}",
    "pad": 4,
    "corner_radius": 10,
    "stack": "grid",
    "columns": 3,
    "gap": 4,
    "children": [
      {
        "id": "tab1",
        "type": "button",
        "size": [
          0,
          44
        ],
        "text": "${label1}",
        "font_size": 15,
        "background_color": "${surface}",
        "hover_color": "${raised}",
        "color": "${accent}",
        "text_color": "${text}",
        "corner_radius": 8,
        "children": [
          {
            "id": "indicator1",
            "type": "panel",
            "anchor_min": [
              0,
              1
            ],
            "anchor_max": [
              1,
              1
            ],
            "size": [
              0,
              3
            ],
            "position": [
              0,
              -3
            ],
            "background_color": "${accent}",
            "visible": true
          }
        ],
        "anchor_min": [
          0,
          0
        ],
        "anchor_max": [
          1,
          0
        ],
        "action": "select1"
      },
      {
        "id": "tab2",
        "type": "button",
        "size": [
          0,
          44
        ],
        "text": "${label2}",
        "font_size": 15,
        "background_color": "${surface}",
        "hover_color": "${raised}",
        "color": "${accent}",
        "text_color": "${text}",
        "corner_radius": 8,
        "children": [
          {
            "id": "indicator2",
            "type": "panel",
            "anchor_min": [
              0,
              1
            ],
            "anchor_max": [
              1,
              1
            ],
            "size": [
              0,
              3
            ],
            "position": [
              0,
              -3
            ],
            "background_color": "${accent}",
            "visible": false
          }
        ],
        "anchor_min": [
          0,
          0
        ],
        "anchor_max": [
          1,
          0
        ],
        "action": "select2"
      },
      {
        "id": "tab3",
        "type": "button",
        "size": [
          0,
          44
        ],
        "text": "${label3}",
        "font_size": 15,
        "background_color": "${surface}",
        "hover_color": "${raised}",
        "color": "${accent}",
        "text_color": "${text}",
        "corner_radius": 8,
        "children": [
          {
            "id": "indicator3",
            "type": "panel",
            "anchor_min": [
              0,
              1
            ],
            "anchor_max": [
              1,
              1
            ],
            "size": [
              0,
              3
            ],
            "position": [
              0,
              -3
            ],
            "background_color": "${accent}",
            "visible": false
          }
        ],
        "anchor_min": [
          0,
          0
        ],
        "anchor_max": [
          1,
          0
        ],
        "action": "select3"
      }
    ],
    "action_effects": {
      "select1": {
        "show": [
          "indicator1"
        ],
        "hide": [
          "indicator2",
          "indicator3"
        ]
      },
      "select2": {
        "show": [
          "indicator2"
        ],
        "hide": [
          "indicator1",
          "indicator3"
        ]
      },
      "select3": {
        "show": [
          "indicator3"
        ],
        "hide": [
          "indicator1",
          "indicator2"
        ]
      }
    }
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/settings",
  "parameters": {
    "accent": {
      "type": "string",
      "default": "#FFB66B"
    },
    "accent_hover": {
      "type": "string",
      "default": "#FFD09A"
    },
    "background": {
      "type": "string",
      "default": "#101822"
    },
    "muted": {
      "type": "string",
      "default": "#A3B5C5"
    },
    "on_accent": {
      "type": "string",
      "default": "#19232F"
    },
    "raised": {
      "type": "string",
      "default": "#263748"
    },
    "stroke": {
      "type": "string",
      "default": "#3B5166"
    },
    "surface": {
      "type": "string",
      "default": "#1B2735"
    },
    "text": {
      "type": "string",
      "default": "#EEF4FA"
    },
    "title": {
      "type": "string",
      "default": "System settings"
    },
    "volume": {
      "type": "number",
      "default": 0.72
    }
  },
  "root": {
    "id": "settings",
    "type": "panel",
    "size": [
      400,
      474
    ],
    "background_color": "${surface}",
    "border_color": "${stroke}",
    "border_width": 1,
    "corner_radius": 14,
    "children": [
      {
        "id": "header",
        "type": "container",
        "dock": "top",
        "size": [
          0,
          32
        ],
        "margin": [
          20,
          16,
          20,
          0
        ],
        "children": [
          {
            "id": "rail",
            "type": "panel",
            "dock": "left",
            "size": [
              3,
              0
            ],
            "margin": [
              0,
              7,
              0,
              7
            ],
            "background_color": "${accent}"
          },
          {
            "id": "title",
            "type": "label",
            "dock": "fill",
            "margin": [
              16,
              0,
              0,
              0
            ],
            "text": "${title}",
            "font_size": 20,
            "text_color": "${text}",
            "text_vertical_alignment": "center"
          }
        ]
      },
      {
        "id": "body",
        "type": "container",
        "dock": "fill",
        "margin": [
          20,
          64,
          20,
          20
        ],
        "children": [
          {
            "id": "tabs",
            "prefab": "ui-prefab://orbit/tabs",
            "arguments": {
              "accent": "${accent}",
              "raised": "${raised}",
              "surface": "${surface}",
              "text": "${text}",
              "label1": "Audio",
              "label2": "Display",
              "label3": "Controls",
              "size": [
                360,
                44
              ]
            },
            "overrides": {
              "$root": {
                "at": [
                  0,
                  0
                ]
              }
            }
          },
          {
            "id": "audio_page",
            "type": "container",
            "at": [
              0,
              56
            ],
            "size": [
              360,
              276
            ],
            "children": [
              {
                "id": "volume_label",
                "prefab": "ui-prefab://orbit/label",
                "arguments": {
                  "text": "${text}",
                  "label": "Master volume",
                  "size": [
                    300,
                    24
                  ]
                },
                "overrides": {
                  "$root": {
                    "at": [
                      0,
                      0
                    ]
                  }
                }
              },
              {
                "id": "volume",
                "prefab": "ui-prefab://orbit/slider",
                "arguments": {
                  "accent": "${accent}",
                  "muted": "${muted}",
                  "raised": "${raised}",
                  "text": "${text}",
                  "value": "${volume}",
                  "action": "orbit.volume",
                  "size": [
                    360,
                    36
                  ]
                },
                "overrides": {
                  "$root": {
                    "at": [
                      0,
                      29
                    ]
                  }
                }
              },
              {
                "id": "music_label",
                "prefab": "ui-prefab://orbit/label",
                "arguments": {
                  "text": "${text}",
                  "label": "Music",
                  "size": [
                    300,
                    24
                  ]
                },
                "overrides": {
                  "$root": {
                    "at": [
                      0,
                      81
                    ]
                  }
                }
              },
              {
                "id": "music",
                "prefab": "ui-prefab://orbit/slider",
                "arguments": {
                  "accent": "${accent}",
                  "muted": "${muted}",
                  "raised": "${raised}",
                  "text": "${text}",
                  "value": 0.4,
                  "action": "orbit.music",
                  "size": [
                    360,
                    36
                  ]
                },
                "overrides": {
                  "$root": {
                    "at": [
                      0,
                      110
                    ]
                  }
                }
              },
              {
                "id": "alerts",
                "prefab": "ui-prefab://orbit/toggle",
                "arguments": {
                  "accent": "${accent}",
                  "background": "${background}",
                  "stroke": "${stroke}",
                  "text": "${text}",
                  "label": "Mission notifications",
                  "checked": true,
                  "action": "orbit.alerts",
                  "size": [
                    360,
                    44
                  ]
                },
                "overrides": {
                  "$root": {
                    "at": [
                      0,
                      162
                    ]
                  }
                }
              },
              {
                "id": "callsign",
                "prefab": "ui-prefab://orbit/input",
                "arguments": {
                  "accent": "${accent}",
                  "background": "${background}",
                  "raised": "${raised}",
                  "stroke": "${stroke}",
                  "text": "${text}",
                  "placeholder": "Your callsign",
                  "action": "orbit.callsign",
                  "size": [
                    360,
                    44
                  ]
                },
                "overrides": {
                  "$root": {
                    "at": [
                      0,
                      224
                    ]
                  }
                }
              }
            ]
          },
          {
            "id": "display_page",
            "type": "container",
            "at": [
              0,
              56
            ],
            "size": [
              360,
              276
            ],
            "visible": false,
            "children": [
              {
                "id": "display_label",
                "prefab": "ui-prefab://orbit/label",
                "arguments": {
                  "text": "${text}",
                  "label": "Display quality",
                  "size": [
                    360,
                    24
                  ]
                },
                "overrides": {
                  "$root": {
                    "at": [
                      0,
                      0
                    ]
                  }
                }
              },
              {
                "id": "quality",
                "prefab": "ui-prefab://orbit/dropdown",
                "arguments": {
                  "accent": "${accent}",
                  "background": "${background}",
                  "muted": "${muted}",
                  "raised": "${raised}",
                  "stroke": "${stroke}",
                  "surface": "${surface}",
                  "text": "${text}",
                  "size": [
                    360,
                    44
                  ]
                },
                "overrides": {
                  "$root": {
                    "at": [
                      0,
                      34
                    ]
                  }
                }
              },
              {
                "id": "scale_label",
                "prefab": "ui-prefab://orbit/label",
                "arguments": {
                  "text": "${text}",
                  "label": "Interface scale",
                  "size": [
                    360,
                    24
                  ]
                },
                "overrides": {
                  "$root": {
                    "at": [
                      0,
                      94
                    ]
                  }
                }
              },
              {
                "id": "ui_scale",
                "prefab": "ui-prefab://orbit/slider",
                "arguments": {
                  "accent": "${accent}",
                  "muted": "${muted}",
                  "raised": "${raised}",
                  "text": "${text}",
                  "value": 0.7,
                  "size": [
                    360,
                    36
                  ]
                },
                "overrides": {
                  "$root": {
                    "at": [
                      0,
                      124
                    ]
                  }
                }
              },
              {
                "id": "contrast",
                "prefab": "ui-prefab://orbit/checkbox",
                "arguments": {
                  "accent": "${accent}",
                  "background": "${background}",
                  "stroke": "${stroke}",
                  "text": "${text}",
                  "label": "High contrast",
                  "checked": false,
                  "size": [
                    360,
                    44
                  ]
                },
                "overrides": {
                  "$root": {
                    "at": [
                      0,
                      182
                    ]
                  }
                }
              }
            ]
          },
          {
            "id": "controls_page",
            "type": "container",
            "at": [
              0,
              56
            ],
            "size": [
              360,
              276
            ],
            "visible": false,
            "children": [
              {
                "id": "controls_label",
                "prefab": "ui-prefab://orbit/label",
                "arguments": {
                  "text": "${text}",
                  "label": "Control preference",
                  "size": [
                    360,
                    24
                  ]
                },
                "overrides": {
                  "$root": {
                    "at": [
                      0,
                      0
                    ]
                  }
                }
              },
              {
                "id": "controls",
                "prefab": "ui-prefab://orbit/radio-group",
                "arguments": {
                  "accent": "${accent}",
                  "raised": "${raised}",
                  "stroke": "${stroke}",
                  "text": "${text}",
                  "label1": "Keyboard + mouse",
                  "label2": "Controller",
                  "label3": "Touch",
                  "size": [
                    360,
                    132
                  ]
                },
                "overrides": {
                  "$root": {
                    "at": [
                      0,
                      38
                    ]
                  }
                }
              },
              {
                "id": "controls_hint",
                "prefab": "ui-prefab://orbit/label",
                "arguments": {
                  "text": "${muted}",
                  "label": "All controls support native HUD events.",
                  "size": [
                    360,
                    44
                  ]
                },
                "overrides": {
                  "$root": {
                    "at": [
                      0,
                      192
                    ]
                  }
                }
              }
            ]
          },
          {
            "id": "reset",
            "prefab": "ui-prefab://orbit/button-secondary",
            "arguments": {
              "accent": "${accent}",
              "raised": "${raised}",
              "stroke": "${stroke}",
              "text": "${text}",
              "label": "Reset",
              "action": "orbit.reset",
              "size": [
                164,
                44
              ]
            },
            "overrides": {
              "$root": {
                "at": [
                  0,
                  346
                ]
              }
            }
          },
          {
            "id": "apply",
            "prefab": "ui-prefab://orbit/button-primary",
            "arguments": {
              "accent": "${accent}",
              "accent_hover": "${accent_hover}",
              "on_accent": "${on_accent}",
              "stroke": "${stroke}",
              "label": "Apply changes",
              "action": "orbit.apply",
              "size": [
                184,
                44
              ]
            },
            "overrides": {
              "$root": {
                "at": [
                  176,
                  346
                ]
              }
            }
          }
        ]
      }
    ],
    "action_effects": {
      "tabs.select1": {
        "show": [
          "audio_page"
        ],
        "hide": [
          "display_page",
          "controls_page"
        ]
      },
      "tabs.select2": {
        "show": [
          "display_page"
        ],
        "hide": [
          "audio_page",
          "controls_page"
        ]
      },
      "tabs.select3": {
        "show": [
          "controls_page"
        ],
        "hide": [
          "audio_page",
          "display_page"
        ]
      }
    }
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/showcase",
  "parameters": {
    "accent": {
      "type": "string",
      "default": "#FFB66B"
    },
    "accent_hover": {
      "type": "string",
      "default": "#FFD09A"
    },
    "background": {
      "type": "string",
      "default": "#101822"
    },
    "muted": {
      "type": "string",
      "default": "#A3B5C5"
    },
    "negative": {
      "type": "string",
      "default": "#FA8093"
    },
    "on_accent": {
      "type": "string",
      "default": "#19232F"
    },
    "palette_name": {
      "type": "string",
      "default": "EMBER / DEFAULT"
    },
    "positive": {
      "type": "string",
      "default": "#67D7BB"
    },
    "raised": {
      "type": "string",
      "default": "#263748"
    },
    "stroke": {
      "type": "string",
      "default": "#3B5166"
    },
    "surface": {
      "type": "string",
      "default": "#1B2735"
    },
    "text": {
      "type": "string",
      "default": "#EEF4FA"
    }
  },
  "root": {
    "id": "showcase",
    "type": "container",
    "size": [
      1160,
      810
    ],
    "children": [
      {
        "id": "background",
        "type": "panel",
        "dock": "fill",
        "respect_safe_area": false,
        "background_color": "${background}"
      },
      {
        "id": "eyebrow",
        "type": "label",
        "at": [
          56,
          32
        ],
        "size": [
          650,
          24
        ],
        "text": "ORBIT  /  NATIVE INTERFACE KIT",
        "font_size": 13,
        "text_color": "${accent}"
      },
      {
        "id": "title",
        "prefab": "ui-prefab://orbit/heading",
        "arguments": {
          "text": "${text}",
          "label": "A clear view of your next mission.",
          "size": [
            800,
            52
          ]
        },
        "overrides": {
          "$root": {
            "at": [
              56,
              63
            ]
          }
        }
      },
      {
        "id": "palette",
        "prefab": "ui-prefab://orbit/badge",
        "arguments": {
          "accent": "${accent}",
          "raised": "${raised}",
          "label": "${palette_name}",
          "size": [
            188,
            32
          ]
        },
        "overrides": {
          "$root": {
            "at": [
              916,
              59
            ]
          }
        }
      },
      {
        "id": "crew",
        "prefab": "ui-prefab://orbit/panel",
        "arguments": {
          "accent": "${accent}",
          "stroke": "${stroke}",
          "surface": "${surface}",
          "text": "${text}",
          "title": "Crew profile",
          "content": [
            {
              "id": "role",
              "prefab": "ui-prefab://orbit/badge",
              "arguments": {
                "accent": "${positive}",
                "raised": "${raised}",
                "label": "FIELD ENGINEER",
                "size": [
                  180,
                  30
                ]
              },
              "overrides": {
                "$root": {
                  "at": [
                    0,
                    0
                  ]
                }
              }
            },
            {
              "id": "name",
              "prefab": "ui-prefab://orbit/heading",
              "arguments": {
                "text": "${text}",
                "label": "Mara Quinn",
                "size": [
                  260,
                  40
                ]
              },
              "overrides": {
                "$root": {
                  "at": [
                    0,
                    48
                  ]
                }
              }
            },
            {
              "id": "detail",
              "prefab": "ui-prefab://orbit/label",
              "arguments": {
                "text": "${muted}",
                "label": "Crew 07 / Surface team",
                "size": [
                  260,
                  24
                ]
              },
              "overrides": {
                "$root": {
                  "at": [
                    0,
                    90
                  ]
                }
              }
            },
            {
              "id": "health_label",
              "prefab": "ui-prefab://orbit/label",
              "arguments": {
                "text": "${text}",
                "label": "Health  /  86%",
                "size": [
                  260,
                  24
                ]
              },
              "overrides": {
                "$root": {
                  "at": [
                    0,
                    144
                  ]
                }
              }
            },
            {
              "id": "health",
              "prefab": "ui-prefab://orbit/progress",
              "arguments": {
                "accent": "${positive}",
                "muted": "${muted}",
                "raised": "${raised}",
                "text": "${text}",
                "value": 0.86,
                "size": [
                  260,
                  8
                ]
              },
              "overrides": {
                "$root": {
                  "at": [
                    0,
                    177
                  ]
                }
              }
            },
            {
              "id": "oxygen_label",
              "prefab": "ui-prefab://orbit/label",
              "arguments": {
                "text": "${text}",
                "label": "Oxygen  /  64%",
                "size": [
                  260,
                  24
                ]
              },
              "overrides": {
                "$root": {
                  "at": [
                    0,
                    209
                  ]
                }
              }
            },
            {
              "id": "oxygen",
              "prefab": "ui-prefab://orbit/progress",
              "arguments": {
                "accent": "#7EBDF5",
                "muted": "${muted}",
                "raised": "${raised}",
                "text": "${text}",
                "value": 0.64,
                "size": [
                  260,
                  8
                ]
              },
              "overrides": {
                "$root": {
                  "at": [
                    0,
                    242
                  ]
                }
              }
            },
            {
              "id": "energy_label",
              "prefab": "ui-prefab://orbit/label",
              "arguments": {
                "text": "${text}",
                "label": "Energy  /  72%",
                "size": [
                  260,
                  24
                ]
              },
              "overrides": {
                "$root": {
                  "at": [
                    0,
                    274
                  ]
                }
              }
            },
            {
              "id": "energy",
              "prefab": "ui-prefab://orbit/progress",
              "arguments": {
                "accent": "${accent}",
                "muted": "${muted}",
                "raised": "${raised}",
                "text": "${text}",
                "value": 0.72,
                "size": [
                  260,
                  8
                ]
              },
              "overrides": {
                "$root": {
                  "at": [
                    0,
                    307
                  ]
                }
              }
            }
          ],
          "size": [
            300,
            416
          ]
        },
        "overrides": {
          "$root": {
            "at": [
              56,
              148
            ]
          }
        }
      },
      {
        "id": "settings",
        "prefab": "ui-prefab://orbit/settings",
        "arguments": {
          "accent": "${accent}",
          "accent_hover": "${accent_hover}",
          "background": "${background}",
          "muted": "${muted}",
          "on_accent": "${on_accent}",
          "raised": "${raised}",
          "stroke": "${stroke}",
          "surface": "${surface}",
          "text": "${text}",
          "title": "System settings",
          "volume": 0.72
        },
        "overrides": {
          "$root": {
            "at": [
              380,
              148
            ]
          }
        }
      },
      {
        "id": "actions",
        "prefab": "ui-prefab://orbit/panel",
        "arguments": {
          "accent": "${accent}",
          "stroke": "${stroke}",
          "surface": "${surface}",
          "text": "${text}",
          "title": "Actions",
          "content": [
            {
              "id": "primary",
              "prefab": "ui-prefab://orbit/button-primary",
              "arguments": {
                "accent": "${accent}",
                "accent_hover": "${accent_hover}",
                "on_accent": "${on_accent}",
                "stroke": "${stroke}",
                "label": "Start expedition",
                "action": "orbit.deploy",
                "size": [
                  260,
                  44
                ]
              },
              "overrides": {
                "$root": {
                  "at": [
                    0,
                    0
                  ]
                }
              }
            },
            {
              "id": "secondary",
              "prefab": "ui-prefab://orbit/button-secondary",
              "arguments": {
                "accent": "${accent}",
                "raised": "${raised}",
                "stroke": "${stroke}",
                "text": "${text}",
                "label": "View briefing",
                "action": "orbit.briefing",
                "size": [
                  260,
                  44
                ]
              },
              "overrides": {
                "$root": {
                  "at": [
                    0,
                    58
                  ]
                }
              }
            },
            {
              "id": "danger",
              "prefab": "ui-prefab://orbit/button-danger",
              "arguments": {
                "accent": "${accent}",
                "accent_hover": "${accent_hover}",
                "negative": "${negative}",
                "on_accent": "${on_accent}",
                "stroke": "${stroke}",
                "label": "Abort mission",
                "action": "orbit.abort",
                "size": [
                  260,
                  44
                ]
              },
              "overrides": {
                "$root": {
                  "at": [
                    0,
                    116
                  ]
                }
              }
            },
            {
              "id": "disabled",
              "prefab": "ui-prefab://orbit/button-secondary",
              "arguments": {
                "accent": "${accent}",
                "raised": "${raised}",
                "stroke": "${stroke}",
                "text": "${text}",
                "label": "Dock unavailable",
                "disabled": true,
                "size": [
                  260,
                  44
                ]
              },
              "overrides": {
                "$root": {
                  "at": [
                    0,
                    174
                  ]
                }
              }
            },
            {
              "id": "quiet",
              "prefab": "ui-prefab://orbit/button-quiet",
              "arguments": {
                "accent": "${accent}",
                "stroke": "${stroke}",
                "text": "${text}",
                "label": "Return to base",
                "action": "orbit.back",
                "size": [
                  260,
                  44
                ]
              },
              "overrides": {
                "$root": {
                  "at": [
                    0,
                    232
                  ]
                }
              }
            }
          ],
          "size": [
            300,
            364
          ]
        },
        "overrides": {
          "$root": {
            "at": [
              804,
              148
            ]
          }
        }
      },
      {
        "id": "cargo",
        "prefab": "ui-prefab://orbit/panel",
        "arguments": {
          "accent": "${accent}",
          "stroke": "${stroke}",
          "surface": "${surface}",
          "text": "${text}",
          "title": "Cargo",
          "content": [
            {
              "id": "ore",
              "prefab": "ui-prefab://orbit/slot",
              "arguments": {
                "accent": "${accent}",
                "raised": "${raised}",
                "stroke": "${stroke}",
                "text": "${text}",
                "label": "Fe",
                "action": "orbit.slot.ore",
                "size": [
                  60,
                  60
                ]
              },
              "overrides": {
                "$root": {
                  "at": [
                    0,
                    0
                  ]
                }
              }
            },
            {
              "id": "water",
              "prefab": "ui-prefab://orbit/slot",
              "arguments": {
                "accent": "${accent}",
                "raised": "${raised}",
                "stroke": "${stroke}",
                "text": "${text}",
                "label": "H2O",
                "action": "orbit.slot.water",
                "size": [
                  60,
                  60
                ]
              },
              "overrides": {
                "$root": {
                  "at": [
                    70,
                    0
                  ]
                }
              }
            },
            {
              "id": "oxygen",
              "prefab": "ui-prefab://orbit/slot",
              "arguments": {
                "accent": "${accent}",
                "raised": "${raised}",
                "stroke": "${stroke}",
                "text": "${text}",
                "label": "O2",
                "action": "orbit.slot.oxygen",
                "size": [
                  60,
                  60
                ]
              },
              "overrides": {
                "$root": {
                  "at": [
                    140,
                    0
                  ]
                }
              }
            },
            {
              "id": "empty",
              "prefab": "ui-prefab://orbit/slot",
              "arguments": {
                "accent": "${accent}",
                "raised": "${raised}",
                "stroke": "${stroke}",
                "text": "${text}",
                "label": "+",
                "action": "orbit.slot.add",
                "size": [
                  50,
                  60
                ]
              },
              "overrides": {
                "$root": {
                  "at": [
                    210,
                    0
                  ]
                }
              }
            }
          ],
          "size": [
            300,
            144
          ]
        },
        "overrides": {
          "$root": {
            "at": [
              56,
              588
            ]
          }
        }
      },
      {
        "id": "deployment",
        "prefab": "ui-prefab://orbit/panel",
        "arguments": {
          "accent": "${accent}",
          "stroke": "${stroke}",
          "surface": "${surface}",
          "text": "${text}",
          "title": "Deployment",
          "content": [
            {
              "id": "status",
              "prefab": "ui-prefab://orbit/label",
              "arguments": {
                "text": "${positive}",
                "label": "All systems nominal",
                "size": [
                  260,
                  24
                ]
              },
              "overrides": {
                "$root": {
                  "at": [
                    0,
                    0
                  ]
                }
              }
            },
            {
              "id": "ready",
              "prefab": "ui-prefab://orbit/progress",
              "arguments": {
                "accent": "${accent}",
                "muted": "${muted}",
                "raised": "${raised}",
                "text": "${text}",
                "value": 0.88,
                "size": [
                  260,
                  8
                ]
              },
              "overrides": {
                "$root": {
                  "at": [
                    0,
                    44
                  ]
                }
              }
            },
            {
              "id": "time",
              "prefab": "ui-prefab://orbit/label",
              "arguments": {
                "text": "${muted}",
                "label": "Launch window  /  04:32",
                "size": [
                  260,
                  24
                ]
              },
              "overrides": {
                "$root": {
                  "at": [
                    0,
                    72
                  ]
                }
              }
            }
          ],
          "size": [
            300,
            196
          ]
        },
        "overrides": {
          "$root": {
            "at": [
              804,
              536
            ]
          }
        }
      },
      {
        "id": "feedback",
        "type": "label",
        "at": [
          380,
          650
        ],
        "size": [
          400,
          60
        ],
        "text": "Tweak your settings. Make it yours.",
        "font_size": 16,
        "text_color": "${muted}",
        "text_wrap": "word"
      },
      {
        "id": "footer",
        "type": "label",
        "at": [
          56,
          760
        ],
        "size": [
          1100,
          22
        ],
        "text": "ORIGINAL COMPONENTS  /  FLEXIBLE PALETTE  /  READY FOR YOUR GAME",
        "font_size": 12,
        "text_color": "${muted}"
      },
      {
        "id": "browse_components",
        "prefab": "ui-prefab://orbit/button-secondary",
        "arguments": {
          "accent": "${accent}",
          "raised": "${raised}",
          "stroke": "${stroke}",
          "text": "${text}",
          "label": "Explore components >",
          "action": "orbit.components",
          "size": [
            244,
            40
          ]
        },
        "overrides": {
          "$root": {
            "at": [
              860,
              752
            ]
          }
        }
      }
    ]
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/slider",
  "parameters": {
    "accent": {
      "type": "string",
      "default": "#FFB66B"
    },
    "action": {
      "type": "string",
      "default": ""
    },
    "muted": {
      "type": "string",
      "default": "#A3B5C5"
    },
    "raised": {
      "type": "string",
      "default": "#263748"
    },
    "size": {
      "type": "array",
      "default": [
        280,
        40
      ]
    },
    "text": {
      "type": "string",
      "default": "#EEF4FA"
    },
    "value": {
      "type": "number",
      "default": 0.65
    }
  },
  "root": {
    "id": "slider",
    "type": "slider",
    "size": "${size}",
    "value": "${value}",
    "minimum": 0,
    "maximum": 1,
    "action": "${action}",
    "color": "${accent}",
    "background_color": "${raised}",
    "text_color": "${text}",
    "border_color": "${muted}",
    "corner_radius": 4
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/slot",
  "parameters": {
    "accent": {
      "type": "string",
      "default": "#FFB66B"
    },
    "action": {
      "type": "string",
      "default": ""
    },
    "disabled": {
      "type": "boolean",
      "default": false
    },
    "label": {
      "type": "string",
      "default": "01"
    },
    "raised": {
      "type": "string",
      "default": "#263748"
    },
    "size": {
      "type": "array",
      "default": [
        64,
        64
      ]
    },
    "stroke": {
      "type": "string",
      "default": "#3B5166"
    },
    "text": {
      "type": "string",
      "default": "#EEF4FA"
    }
  },
  "root": {
    "id": "control",
    "type": "button",
    "size": "${size}",
    "text": "${label}",
    "action": "${action}",
    "disabled": "${disabled}",
    "corner_radius": 10,
    "font_size": 15,
    "text_color": "${text}",
    "background_color": "${raised}",
    "hover_color": "${stroke}",
    "border_color": "${stroke}",
    "border_width": 1,
    "color": "${accent}"
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/status-bar",
  "parameters": {
    "accent": {
      "type": "string",
      "default": "#FFB66B"
    },
    "oxygen": {
      "type": "string",
      "default": "OXYGEN  98%"
    },
    "positive": {
      "type": "string",
      "default": "#67D7BB"
    },
    "power": {
      "type": "string",
      "default": "POWER  84 kW"
    },
    "raised": {
      "type": "string",
      "default": "#263748"
    },
    "surface": {
      "type": "string",
      "default": "#1B2735"
    },
    "water": {
      "type": "string",
      "default": "WATER  120 L"
    }
  },
  "root": {
    "id": "status_bar",
    "type": "panel",
    "dock": "top",
    "size": [
      0,
      68
    ],
    "pad": [
      16,
      12,
      16,
      12
    ],
    "stack": "row",
    "gap": 12,
    "background_color": "${surface}",
    "children": [
      {
        "id": "power",
        "prefab": "ui-prefab://orbit/badge",
        "arguments": {
          "accent": "${accent}",
          "raised": "${raised}",
          "label": "${power}",
          "size": [
            170,
            40
          ]
        },
        "overrides": {
          "$root": {
            "at": [
              0,
              0
            ]
          }
        }
      },
      {
        "id": "water",
        "prefab": "ui-prefab://orbit/badge",
        "arguments": {
          "accent": "${positive}",
          "raised": "${raised}",
          "label": "${water}",
          "size": [
            170,
            40
          ]
        },
        "overrides": {
          "$root": {
            "at": [
              0,
              0
            ]
          }
        }
      },
      {
        "id": "oxygen",
        "prefab": "ui-prefab://orbit/badge",
        "arguments": {
          "accent": "#7DCBFF",
          "raised": "${raised}",
          "label": "${oxygen}",
          "size": [
            170,
            40
          ]
        },
        "overrides": {
          "$root": {
            "at": [
              0,
              0
            ]
          }
        }
      }
    ]
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/stepper",
  "parameters": {
    "accent": {
      "type": "string",
      "default": "#FFB66B"
    },
    "raised": {
      "type": "string",
      "default": "#263748"
    },
    "stroke": {
      "type": "string",
      "default": "#3B5166"
    },
    "text": {
      "type": "string",
      "default": "#EEF4FA"
    },
    "value": {
      "type": "string",
      "default": "1"
    }
  },
  "root": {
    "id": "stepper",
    "type": "container",
    "size": [
      212,
      44
    ],
    "children": [
      {
        "id": "minus",
        "prefab": "ui-prefab://orbit/button-secondary",
        "arguments": {
          "accent": "${accent}",
          "raised": "${raised}",
          "stroke": "${stroke}",
          "text": "${text}",
          "label": "-",
          "size": [
            44,
            44
          ]
        },
        "overrides": {
          "$root": {
            "at": [
              0,
              0
            ]
          }
        }
      },
      {
        "id": "value",
        "type": "label",
        "text": "${value}",
        "at": [
          56,
          0
        ],
        "size": [
          100,
          44
        ],
        "text_color": "${text}",
        "font_size": 16,
        "text_vertical_alignment": "center",
        "text_alignment": "center"
      },
      {
        "id": "plus",
        "prefab": "ui-prefab://orbit/button-secondary",
        "arguments": {
          "accent": "${accent}",
          "raised": "${raised}",
          "stroke": "${stroke}",
          "text": "${text}",
          "label": "+",
          "size": [
            44,
            44
          ]
        },
        "overrides": {
          "$root": {
            "at": [
              168,
              0
            ]
          }
        }
      }
    ]
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/tabs",
  "parameters": {
    "accent": {
      "type": "string",
      "default": "#FFB66B"
    },
    "label1": {
      "type": "string",
      "default": "Overview"
    },
    "label2": {
      "type": "string",
      "default": "Details"
    },
    "label3": {
      "type": "string",
      "default": "History"
    },
    "raised": {
      "type": "string",
      "default": "#263748"
    },
    "size": {
      "type": "array",
      "default": [
        360,
        44
      ]
    },
    "surface": {
      "type": "string",
      "default": "#1B2735"
    },
    "text": {
      "type": "string",
      "default": "#EEF4FA"
    }
  },
  "root": {
    "id": "tabs",
    "type": "container",
    "size": "${size}",
    "stack": "grid",
    "columns": 3,
    "gap": 6,
    "children": [
      {
        "id": "tab1",
        "type": "button",
        "size": [
          0,
          44
        ],
        "text": "${label1}",
        "font_size": 15,
        "background_color": "${surface}",
        "hover_color": "${raised}",
        "color": "${accent}",
        "text_color": "${text}",
        "corner_radius": 8,
        "children": [
          {
            "id": "indicator1",
            "type": "panel",
            "anchor_min": [
              0,
              1
            ],
            "anchor_max": [
              1,
              1
            ],
            "size": [
              0,
              3
            ],
            "position": [
              0,
              -3
            ],
            "background_color": "${accent}",
            "visible": true
          }
        ],
        "anchor_min": [
          0,
          0
        ],
        "anchor_max": [
          1,
          0
        ],
        "action": "select1"
      },
      {
        "id": "tab2",
        "type": "button",
        "size": [
          0,
          44
        ],
        "text": "${label2}",
        "font_size": 15,
        "background_color": "${surface}",
        "hover_color": "${raised}",
        "color": "${accent}",
        "text_color": "${text}",
        "corner_radius": 8,
        "children": [
          {
            "id": "indicator2",
            "type": "panel",
            "anchor_min": [
              0,
              1
            ],
            "anchor_max": [
              1,
              1
            ],
            "size": [
              0,
              3
            ],
            "position": [
              0,
              -3
            ],
            "background_color": "${accent}",
            "visible": false
          }
        ],
        "anchor_min": [
          0,
          0
        ],
        "anchor_max": [
          1,
          0
        ],
        "action": "select2"
      },
      {
        "id": "tab3",
        "type": "button",
        "size": [
          0,
          44
        ],
        "text": "${label3}",
        "font_size": 15,
        "background_color": "${surface}",
        "hover_color": "${raised}",
        "color": "${accent}",
        "text_color": "${text}",
        "corner_radius": 8,
        "children": [
          {
            "id": "indicator3",
            "type": "panel",
            "anchor_min": [
              0,
              1
            ],
            "anchor_max": [
              1,
              1
            ],
            "size": [
              0,
              3
            ],
            "position": [
              0,
              -3
            ],
            "background_color": "${accent}",
            "visible": false
          }
        ],
        "anchor_min": [
          0,
          0
        ],
        "anchor_max": [
          1,
          0
        ],
        "action": "select3"
      }
    ],
    "action_effects": {
      "select1": {
        "show": [
          "indicator1"
        ],
        "hide": [
          "indicator2",
          "indicator3"
        ]
      },
      "select2": {
        "show": [
          "indicator2"
        ],
        "hide": [
          "indicator1",
          "indicator3"
        ]
      },
      "select3": {
        "show": [
          "indicator3"
        ],
        "hide": [
          "indicator1",
          "indicator2"
        ]
      }
    }
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/toggle",
  "parameters": {
    "accent": {
      "type": "string",
      "default": "#FFB66B"
    },
    "action": {
      "type": "string",
      "default": ""
    },
    "background": {
      "type": "string",
      "default": "#101822"
    },
    "checked": {
      "type": "boolean",
      "default": true
    },
    "disabled": {
      "type": "boolean",
      "default": false
    },
    "label": {
      "type": "string",
      "default": "Notifications"
    },
    "size": {
      "type": "array",
      "default": [
        280,
        44
      ]
    },
    "stroke": {
      "type": "string",
      "default": "#3B5166"
    },
    "text": {
      "type": "string",
      "default": "#EEF4FA"
    }
  },
  "root": {
    "id": "control",
    "type": "toggle",
    "size": "${size}",
    "text": "${label}",
    "action": "${action}",
    "disabled": "${disabled}",
    "corner_radius": 9,
    "font_size": 16,
    "text_color": "${text}",
    "background_color": "${background}",
    "hover_color": "${stroke}",
    "border_color": "${stroke}",
    "border_width": 1,
    "color": "${accent}",
    "checked": "${checked}"
  }
}
{
  "format_version": 1,
  "id": "ui-prefab://orbit/tooltip",
  "parameters": {
    "message": {
      "type": "string",
      "default": "Helpful context appears here."
    },
    "raised": {
      "type": "string",
      "default": "#263748"
    },
    "size": {
      "type": "array",
      "default": [
        280,
        84
      ]
    },
    "stroke": {
      "type": "string",
      "default": "#3B5166"
    },
    "text": {
      "type": "string",
      "default": "#EEF4FA"
    }
  },
  "root": {
    "id": "tooltip",
    "type": "panel",
    "size": "${size}",
    "background_color": "${raised}",
    "border_color": "${stroke}",
    "border_width": 1,
    "corner_radius": 8,
    "pad": 12,
    "layer": 300,
    "visible": false,
    "children": [
      {
        "id": "text",
        "type": "text",
        "dock": "fill",
        "text": "${message}",
        "text_color": "${text}",
        "font_size": 14,
        "text_wrap": "word",
        "layer": 301
      }
    ]
  }
}
