@underpostnet/cyberia 3.2.80
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.dockerignore +14 -0
- package/.env.example +144 -0
- package/.github/workflows/cyberia-client.cd.yml +40 -0
- package/.github/workflows/cyberia-server.cd.yml +40 -0
- package/.github/workflows/docker-image.cyberia-client.ci.yml +71 -0
- package/.github/workflows/docker-image.cyberia-client.dev.ci.yml +70 -0
- package/.github/workflows/docker-image.cyberia-server.ci.yml +71 -0
- package/.github/workflows/docker-image.cyberia-server.dev.ci.yml +71 -0
- package/.github/workflows/docker-image.engine-cyberia.ci.yml +53 -0
- package/.github/workflows/docker-image.engine-cyberia.dev.ci.yml +53 -0
- package/.github/workflows/engine-cyberia.cd.yml +157 -0
- package/.github/workflows/engine-cyberia.ci.yml +125 -0
- package/.github/workflows/ghpkg.ci.yml +160 -0
- package/.github/workflows/gitlab.ci.yml +20 -0
- package/.github/workflows/hardhat.ci.yml +82 -0
- package/.github/workflows/npmpkg.ci.yml +126 -0
- package/.github/workflows/publish.ci.yml +87 -0
- package/.github/workflows/publish.cyberia.ci.yml +79 -0
- package/.github/workflows/pwa-microservices-template-page.cd.yml +65 -0
- package/.github/workflows/pwa-microservices-template-test.ci.yml +33 -0
- package/.github/workflows/release.cd.yml +46 -0
- package/.nycrc +9 -0
- package/.prettierignore +12 -0
- package/.prettierrc +9 -0
- package/.vscode/extensions.json +10 -0
- package/.vscode/settings.json +26 -0
- package/CHANGELOG.md +2516 -0
- package/CLI-HELP.md +1099 -0
- package/Dockerfile +161 -0
- package/Dockerfile.dev +161 -0
- package/Dockerfile.test +165 -0
- package/LICENSE +21 -0
- package/README.md +259 -0
- package/baremetal/commission-workflows.json +211 -0
- package/baremetal/packer-workflows.json +24 -0
- package/bin/build.js +261 -0
- package/bin/build.template.js +33 -0
- package/bin/cyberia.js +5627 -0
- package/bin/deploy.js +1547 -0
- package/bin/index.js +5627 -0
- package/bump.config.js +27 -0
- package/compose.env +144 -0
- package/conf.js +952 -0
- package/deployment.yaml +418 -0
- package/docker-compose.yml +434 -0
- package/examples/static-page/README.md +150 -0
- package/examples/static-page/ssr-components/CustomPage.js +554 -0
- package/examples/static-page/static-config-example.json +57 -0
- package/hardhat/.env.example +31 -0
- package/hardhat/contracts/ObjectLayerToken.sol +391 -0
- package/hardhat/deployments/.gitkeep +0 -0
- package/hardhat/deployments/hardhat-ObjectLayerToken.json +11 -0
- package/hardhat/hardhat.config.js +136 -0
- package/hardhat/ignition/modules/.gitkeep +0 -0
- package/hardhat/ignition/modules/ObjectLayerToken.js +21 -0
- package/hardhat/networks/besu-object-layer.network.json +138 -0
- package/hardhat/package-lock.json +2871 -0
- package/hardhat/package.json +43 -0
- package/hardhat/scripts/deployObjectLayerToken.js +98 -0
- package/hardhat/test/ObjectLayerToken.js +696 -0
- package/hardhat/types/ethers-contracts/ObjectLayerToken.ts +690 -0
- package/hardhat/types/ethers-contracts/common.ts +92 -0
- package/hardhat/types/ethers-contracts/factories/ObjectLayerToken__factory.ts +1055 -0
- package/hardhat/types/ethers-contracts/factories/index.ts +4 -0
- package/hardhat/types/ethers-contracts/hardhat.d.ts +47 -0
- package/hardhat/types/ethers-contracts/index.ts +6 -0
- package/ipfs/configure-ipfs.sh +13 -0
- package/jsconfig.json +9 -0
- package/manifests/cronjobs/dd-cron/dd-cron-backup.yaml +48 -0
- package/manifests/cronjobs/dd-cron/dd-cron-dns.yaml +48 -0
- package/manifests/deployment/adminer/deployment.yaml +32 -0
- package/manifests/deployment/adminer/kustomization.yaml +7 -0
- package/manifests/deployment/adminer/service.yaml +13 -0
- package/manifests/deployment/dd-cyberia-development/deployment.yaml +418 -0
- package/manifests/deployment/dd-cyberia-development/grpc-service.yaml +17 -0
- package/manifests/deployment/dd-cyberia-development/proxy.yaml +189 -0
- package/manifests/deployment/dd-cyberia-development/pv-pvc.yaml +164 -0
- package/manifests/deployment/dd-default-development/deployment.yaml +163 -0
- package/manifests/deployment/dd-default-development/proxy.yaml +46 -0
- package/manifests/deployment/fastapi/backend-deployment.yml +120 -0
- package/manifests/deployment/fastapi/backend-service.yml +19 -0
- package/manifests/deployment/fastapi/frontend-deployment.yml +54 -0
- package/manifests/deployment/fastapi/frontend-service.yml +15 -0
- package/manifests/deployment/fastapi/initial_data.sh +8 -0
- package/manifests/deployment/kafka/deployment.yaml +67 -0
- package/manifests/deployment/mongo-express/deployment.yaml +62 -0
- package/manifests/deployment/phpmyadmin/deployment.yaml +54 -0
- package/manifests/deployment/playwright/deployment.yaml +52 -0
- package/manifests/deployment/spark/spark-pi-py.yaml +20 -0
- package/manifests/deployment/tensorflow/tf-gpu-test.yaml +63 -0
- package/manifests/envoy-service-nodeport.yaml +22 -0
- package/manifests/grafana/deployment.yaml +64 -0
- package/manifests/grafana/kustomization.yaml +7 -0
- package/manifests/grafana/pvc.yaml +12 -0
- package/manifests/grafana/service.yaml +14 -0
- package/manifests/grafana/storage-class.yaml +9 -0
- package/manifests/ipfs/configmap.yaml +64 -0
- package/manifests/ipfs/headless-service.yaml +35 -0
- package/manifests/ipfs/kustomization.yaml +8 -0
- package/manifests/ipfs/statefulset.yaml +149 -0
- package/manifests/ipfs/storage-class.yaml +9 -0
- package/manifests/kind-config-dev.yaml +20 -0
- package/manifests/kind-config.yaml +12 -0
- package/manifests/kubeadm-calico-config.yaml +14 -0
- package/manifests/letsencrypt-prod.yaml +14 -0
- package/manifests/lxd/lxd-admin-profile.yaml +26 -0
- package/manifests/lxd/lxd-preseed.yaml +30 -0
- package/manifests/mariadb/kustomization.yaml +9 -0
- package/manifests/mariadb/pv.yaml +12 -0
- package/manifests/mariadb/pvc.yaml +10 -0
- package/manifests/mariadb/service.yaml +10 -0
- package/manifests/mariadb/statefulset.yaml +56 -0
- package/manifests/mariadb/storage-class.yaml +10 -0
- package/manifests/mongodb/headless-service.yaml +10 -0
- package/manifests/mongodb/kustomization.yaml +11 -0
- package/manifests/mongodb/pv-pvc.yaml +59 -0
- package/manifests/mongodb/statefulset.yaml +113 -0
- package/manifests/mongodb/storage-class.yaml +9 -0
- package/manifests/mongodb-4.4/headless-service.yaml +10 -0
- package/manifests/mongodb-4.4/kustomization.yaml +9 -0
- package/manifests/mongodb-4.4/mongodb-nodeport.yaml +17 -0
- package/manifests/mongodb-4.4/pv-pvc.yaml +19 -0
- package/manifests/mongodb-4.4/service-deployment.yaml +61 -0
- package/manifests/mongodb-4.4/statefulset.yaml +79 -0
- package/manifests/mongodb-4.4/storage-class.yaml +9 -0
- package/manifests/mysql/kustomization.yaml +7 -0
- package/manifests/mysql/pv-pvc.yaml +27 -0
- package/manifests/mysql/statefulset.yaml +55 -0
- package/manifests/postgresql/configmap.yaml +9 -0
- package/manifests/postgresql/kustomization.yaml +10 -0
- package/manifests/postgresql/pv.yaml +15 -0
- package/manifests/postgresql/pvc.yaml +13 -0
- package/manifests/postgresql/service.yaml +10 -0
- package/manifests/postgresql/statefulset.yaml +37 -0
- package/manifests/prometheus/deployment.yaml +82 -0
- package/manifests/pv-pvc-dd.yaml +34 -0
- package/manifests/valkey/kustomization.yaml +7 -0
- package/manifests/valkey/service.yaml +10 -0
- package/manifests/valkey/statefulset.yaml +37 -0
- package/manifests/valkey/valkey-nodeport.yaml +17 -0
- package/mongodb/entrypoint.sh +76 -0
- package/nginx.conf +128 -0
- package/nodemon.json +6 -0
- package/package.json +101 -0
- package/packer/images/Rocky9Amd64/Makefile +62 -0
- package/packer/images/Rocky9Amd64/QUICKSTART.md +113 -0
- package/packer/images/Rocky9Amd64/README.md +122 -0
- package/packer/images/Rocky9Amd64/http/rocky9.ks.pkrtpl.hcl +114 -0
- package/packer/images/Rocky9Amd64/rocky9.pkr.hcl +164 -0
- package/packer/images/Rocky9Arm64/Makefile +69 -0
- package/packer/images/Rocky9Arm64/README.md +122 -0
- package/packer/images/Rocky9Arm64/http/rocky9.ks.pkrtpl.hcl +114 -0
- package/packer/images/Rocky9Arm64/rocky9.pkr.hcl +171 -0
- package/packer/scripts/fuse-nbd +64 -0
- package/packer/scripts/fuse-tar-root +63 -0
- package/proxy.yaml +189 -0
- package/pv-pvc.yaml +164 -0
- package/scripts/device-scan.sh +65 -0
- package/scripts/disk-clean.sh +182 -0
- package/scripts/disk-devices.sh +13 -0
- package/scripts/gen-fqdns.sh +14 -0
- package/scripts/gpu-diag.sh +19 -0
- package/scripts/ip-info.sh +118 -0
- package/scripts/ipxe-setup.sh +200 -0
- package/scripts/k3s-node-setup.sh +124 -0
- package/scripts/kubeadm-node-setup.sh +317 -0
- package/scripts/link-local-underpost-cli.sh +6 -0
- package/scripts/lxd-vm-setup.sh +208 -0
- package/scripts/maas-nat-firewalld.sh +145 -0
- package/scripts/maas-setup.sh +135 -0
- package/scripts/maas-upload-boot-resource.sh +183 -0
- package/scripts/nat-iptables.sh +111 -0
- package/scripts/nvim.sh +91 -0
- package/scripts/packer-init-vars-file.sh +40 -0
- package/scripts/packer-setup.sh +289 -0
- package/scripts/ports-ls.sh +33 -0
- package/scripts/quick-tftp.sh +19 -0
- package/scripts/rhel-grpc-setup.sh +56 -0
- package/scripts/rocky-kickstart.sh +986 -0
- package/scripts/rocky-pwa.sh +200 -0
- package/scripts/rocky-setup.sh +106 -0
- package/scripts/rpmfusion-ffmpeg-setup.sh +32 -0
- package/scripts/ssl.sh +170 -0
- package/scripts/test-monitor.sh +248 -0
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.controller.js +30 -0
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.model.js +155 -0
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.router.js +39 -0
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.service.js +382 -0
- package/src/api/core/core.controller.js +8 -0
- package/src/api/core/core.model.js +11 -0
- package/src/api/core/core.router.js +23 -0
- package/src/api/core/core.service.js +30 -0
- package/src/api/crypto/crypto.controller.js +10 -0
- package/src/api/crypto/crypto.model.js +23 -0
- package/src/api/crypto/crypto.router.js +23 -0
- package/src/api/crypto/crypto.service.js +64 -0
- package/src/api/cyberia-action/cyberia-action.controller.js +8 -0
- package/src/api/cyberia-action/cyberia-action.model.js +79 -0
- package/src/api/cyberia-action/cyberia-action.router.js +21 -0
- package/src/api/cyberia-action/cyberia-action.service.js +58 -0
- package/src/api/cyberia-client-hints/cyberia-client-hints.controller.js +27 -0
- package/src/api/cyberia-client-hints/cyberia-client-hints.model.js +100 -0
- package/src/api/cyberia-client-hints/cyberia-client-hints.router.js +70 -0
- package/src/api/cyberia-client-hints/cyberia-client-hints.service.js +152 -0
- package/src/api/cyberia-dialogue/cyberia-dialogue.controller.js +8 -0
- package/src/api/cyberia-dialogue/cyberia-dialogue.model.js +36 -0
- package/src/api/cyberia-dialogue/cyberia-dialogue.router.js +20 -0
- package/src/api/cyberia-dialogue/cyberia-dialogue.service.js +57 -0
- package/src/api/cyberia-entity/cyberia-entity.controller.js +6 -0
- package/src/api/cyberia-entity/cyberia-entity.model.js +25 -0
- package/src/api/cyberia-entity/cyberia-entity.router.js +17 -0
- package/src/api/cyberia-entity/cyberia-entity.service.js +42 -0
- package/src/api/cyberia-entity-type-default/cyberia-entity-type-default.controller.js +6 -0
- package/src/api/cyberia-entity-type-default/cyberia-entity-type-default.model.js +67 -0
- package/src/api/cyberia-entity-type-default/cyberia-entity-type-default.router.js +17 -0
- package/src/api/cyberia-entity-type-default/cyberia-entity-type-default.service.js +46 -0
- package/src/api/cyberia-instance/cyberia-fallback-world.js +337 -0
- package/src/api/cyberia-instance/cyberia-instance-boot.service.js +57 -0
- package/src/api/cyberia-instance/cyberia-instance-map.service.js +583 -0
- package/src/api/cyberia-instance/cyberia-instance.controller.js +42 -0
- package/src/api/cyberia-instance/cyberia-instance.model.js +117 -0
- package/src/api/cyberia-instance/cyberia-instance.router.js +75 -0
- package/src/api/cyberia-instance/cyberia-instance.service.js +190 -0
- package/src/api/cyberia-instance/cyberia-portal-connector.js +260 -0
- package/src/api/cyberia-instance/cyberia-world-generator.js +618 -0
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.controller.js +6 -0
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.model.js +200 -0
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.router.js +17 -0
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.service.js +46 -0
- package/src/api/cyberia-map/cyberia-map.controller.js +6 -0
- package/src/api/cyberia-map/cyberia-map.model.js +33 -0
- package/src/api/cyberia-map/cyberia-map.router.js +19 -0
- package/src/api/cyberia-map/cyberia-map.service.js +76 -0
- package/src/api/cyberia-quest/cyberia-quest.controller.js +9 -0
- package/src/api/cyberia-quest/cyberia-quest.model.js +67 -0
- package/src/api/cyberia-quest/cyberia-quest.router.js +26 -0
- package/src/api/cyberia-quest/cyberia-quest.service.js +97 -0
- package/src/api/cyberia-quest-progress/cyberia-quest-progress.controller.js +6 -0
- package/src/api/cyberia-quest-progress/cyberia-quest-progress.model.js +49 -0
- package/src/api/cyberia-quest-progress/cyberia-quest-progress.router.js +21 -0
- package/src/api/cyberia-quest-progress/cyberia-quest-progress.service.js +42 -0
- package/src/api/cyberia-saga/cyberia-saga.controller.js +6 -0
- package/src/api/cyberia-saga/cyberia-saga.model.js +59 -0
- package/src/api/cyberia-saga/cyberia-saga.router.js +17 -0
- package/src/api/cyberia-saga/cyberia-saga.service.js +42 -0
- package/src/api/cyberia-server-defaults/cyberia-server-defaults.js +1076 -0
- package/src/api/cyberia-skill/cyberia-skill.controller.js +6 -0
- package/src/api/cyberia-skill/cyberia-skill.model.js +50 -0
- package/src/api/cyberia-skill/cyberia-skill.router.js +17 -0
- package/src/api/cyberia-skill/cyberia-skill.service.js +42 -0
- package/src/api/default/default.controller.js +6 -0
- package/src/api/default/default.model.js +20 -0
- package/src/api/default/default.router.js +21 -0
- package/src/api/default/default.service.js +42 -0
- package/src/api/document/document.controller.js +9 -0
- package/src/api/document/document.model.js +95 -0
- package/src/api/document/document.router.js +32 -0
- package/src/api/document/document.service.js +633 -0
- package/src/api/file/file.controller.js +15 -0
- package/src/api/file/file.model.js +127 -0
- package/src/api/file/file.ref.json +39 -0
- package/src/api/file/file.router.js +36 -0
- package/src/api/file/file.service.js +499 -0
- package/src/api/instance/instance.controller.js +8 -0
- package/src/api/instance/instance.model.js +34 -0
- package/src/api/instance/instance.router.js +27 -0
- package/src/api/instance/instance.service.js +75 -0
- package/src/api/ipfs/ipfs.controller.js +8 -0
- package/src/api/ipfs/ipfs.model.js +77 -0
- package/src/api/ipfs/ipfs.router.js +26 -0
- package/src/api/ipfs/ipfs.service.js +145 -0
- package/src/api/object-layer/object-layer.controller.js +18 -0
- package/src/api/object-layer/object-layer.model.js +200 -0
- package/src/api/object-layer/object-layer.router.js +729 -0
- package/src/api/object-layer/object-layer.service.js +894 -0
- package/src/api/object-layer-render-frames/object-layer-render-frames.controller.js +6 -0
- package/src/api/object-layer-render-frames/object-layer-render-frames.model.js +93 -0
- package/src/api/object-layer-render-frames/object-layer-render-frames.router.js +17 -0
- package/src/api/object-layer-render-frames/object-layer-render-frames.service.js +46 -0
- package/src/api/test/test.controller.js +14 -0
- package/src/api/test/test.model.js +14 -0
- package/src/api/test/test.router.js +23 -0
- package/src/api/test/test.service.js +35 -0
- package/src/api/types.js +24 -0
- package/src/api/user/guest.service.js +100 -0
- package/src/api/user/postman_collection.json +216 -0
- package/src/api/user/user.build.js +16 -0
- package/src/api/user/user.controller.js +35 -0
- package/src/api/user/user.model.js +142 -0
- package/src/api/user/user.router.js +367 -0
- package/src/api/user/user.service.js +582 -0
- package/src/api.js +23 -0
- package/src/cli/baremetal.js +3947 -0
- package/src/cli/cloud-init.js +673 -0
- package/src/cli/cluster.js +1395 -0
- package/src/cli/db.js +1533 -0
- package/src/cli/deploy.js +1542 -0
- package/src/cli/docker-compose.js +802 -0
- package/src/cli/env.js +177 -0
- package/src/cli/fs.js +380 -0
- package/src/cli/image.js +389 -0
- package/src/cli/index.js +1059 -0
- package/src/cli/ipfs.js +182 -0
- package/src/cli/kickstart.js +271 -0
- package/src/cli/kubectl.js +214 -0
- package/src/cli/lxd.js +1232 -0
- package/src/cli/monitor.js +659 -0
- package/src/cli/release.js +595 -0
- package/src/cli/repository.js +1969 -0
- package/src/cli/run.js +3326 -0
- package/src/cli/secrets.js +151 -0
- package/src/cli/ssh.js +975 -0
- package/src/cli/static.js +653 -0
- package/src/cli/system.js +332 -0
- package/src/cli/test.js +176 -0
- package/src/client/Cryptokoyn.index.js +30 -0
- package/src/client/CyberiaPortal.index.js +31 -0
- package/src/client/Default.index.js +77 -0
- package/src/client/Itemledger.index.js +35 -0
- package/src/client/Underpost.index.js +31 -0
- package/src/client/components/core/404.js +20 -0
- package/src/client/components/core/500.js +20 -0
- package/src/client/components/core/Account.js +630 -0
- package/src/client/components/core/AgGrid.js +238 -0
- package/src/client/components/core/Alert.js +76 -0
- package/src/client/components/core/AppStore.js +69 -0
- package/src/client/components/core/Auth.js +353 -0
- package/src/client/components/core/Badge.js +26 -0
- package/src/client/components/core/Blockchain.js +41 -0
- package/src/client/components/core/Blog.js +9 -0
- package/src/client/components/core/BtnIcon.js +109 -0
- package/src/client/components/core/CalendarCore.js +437 -0
- package/src/client/components/core/Chat.js +62 -0
- package/src/client/components/core/ClientEvents.js +163 -0
- package/src/client/components/core/ColorPaletteElement.js +309 -0
- package/src/client/components/core/CommonJs.js +1014 -0
- package/src/client/components/core/Content.js +349 -0
- package/src/client/components/core/Css.js +1134 -0
- package/src/client/components/core/CssCore.js +881 -0
- package/src/client/components/core/D3Chart.js +44 -0
- package/src/client/components/core/Docs.js +478 -0
- package/src/client/components/core/DropDown.js +321 -0
- package/src/client/components/core/EventBus.js +96 -0
- package/src/client/components/core/EventsUI.js +130 -0
- package/src/client/components/core/FileExplorer.js +1406 -0
- package/src/client/components/core/FullScreen.js +201 -0
- package/src/client/components/core/Input.js +537 -0
- package/src/client/components/core/Keyboard.js +80 -0
- package/src/client/components/core/KeyboardAvoidance.js +145 -0
- package/src/client/components/core/LoadingAnimation.js +152 -0
- package/src/client/components/core/LogIn.js +212 -0
- package/src/client/components/core/LogOut.js +72 -0
- package/src/client/components/core/Logger.js +22 -0
- package/src/client/components/core/Modal.js +2956 -0
- package/src/client/components/core/NotificationManager.js +80 -0
- package/src/client/components/core/Pagination.js +252 -0
- package/src/client/components/core/Panel.js +1308 -0
- package/src/client/components/core/PanelForm.js +915 -0
- package/src/client/components/core/Polyhedron.js +947 -0
- package/src/client/components/core/PublicProfile.js +895 -0
- package/src/client/components/core/Recover.js +211 -0
- package/src/client/components/core/Responsive.js +146 -0
- package/src/client/components/core/RichText.js +33 -0
- package/src/client/components/core/Router.js +523 -0
- package/src/client/components/core/Scroll.js +76 -0
- package/src/client/components/core/SearchBox.js +1007 -0
- package/src/client/components/core/SignUp.js +153 -0
- package/src/client/components/core/SocketIo.js +163 -0
- package/src/client/components/core/SocketIoHandler.js +75 -0
- package/src/client/components/core/Stream.js +161 -0
- package/src/client/components/core/ToggleSwitch.js +89 -0
- package/src/client/components/core/ToolTip.js +78 -0
- package/src/client/components/core/Translate.js +694 -0
- package/src/client/components/core/Validator.js +140 -0
- package/src/client/components/core/VanillaJs.js +485 -0
- package/src/client/components/core/Wallet.js +95 -0
- package/src/client/components/core/WebComponent.js +44 -0
- package/src/client/components/core/Webhook.js +58 -0
- package/src/client/components/core/Worker.js +313 -0
- package/src/client/components/core/windowGetDimensions.js +269 -0
- package/src/client/components/cryptokoyn/AppShellCryptokoyn.js +352 -0
- package/src/client/components/cryptokoyn/AppStoreCryptokoyn.js +5 -0
- package/src/client/components/cryptokoyn/CssCryptokoyn.js +212 -0
- package/src/client/components/cryptokoyn/LogInCryptokoyn.js +16 -0
- package/src/client/components/cryptokoyn/LogOutCryptokoyn.js +12 -0
- package/src/client/components/cryptokoyn/RouterCryptokoyn.js +37 -0
- package/src/client/components/cryptokoyn/SettingsCryptokoyn.js +16 -0
- package/src/client/components/cryptokoyn/SignUpCryptokoyn.js +11 -0
- package/src/client/components/cryptokoyn/SocketIoCryptokoyn.js +6 -0
- package/src/client/components/cyberia/ActionEngineCyberia.js +1867 -0
- package/src/client/components/cyberia/EntityEngineCyberia.js +585 -0
- package/src/client/components/cyberia/InstanceEngineCyberia.js +1088 -0
- package/src/client/components/cyberia/InstanceSelectionView.js +900 -0
- package/src/client/components/cyberia/MapEngineCyberia.js +1976 -0
- package/src/client/components/cyberia/ObjectLayerEngine.js +1540 -0
- package/src/client/components/cyberia/ObjectLayerEngineModal.js +2420 -0
- package/src/client/components/cyberia/ObjectLayerEngineViewer.js +1522 -0
- package/src/client/components/cyberia/SharedDefaultsCyberia.js +528 -0
- package/src/client/components/cyberia-portal/AppShellCyberiaPortal.js +772 -0
- package/src/client/components/cyberia-portal/AppStoreCyberiaPortal.js +5 -0
- package/src/client/components/cyberia-portal/CssCyberiaPortal.js +254 -0
- package/src/client/components/cyberia-portal/LogInCyberiaPortal.js +21 -0
- package/src/client/components/cyberia-portal/LogOutCyberiaPortal.js +16 -0
- package/src/client/components/cyberia-portal/MainBodyCyberiaPortal.js +518 -0
- package/src/client/components/cyberia-portal/RouterCyberiaPortal.js +72 -0
- package/src/client/components/cyberia-portal/SettingsCyberiaPortal.js +16 -0
- package/src/client/components/cyberia-portal/SignUpCyberiaPortal.js +13 -0
- package/src/client/components/cyberia-portal/SocketIoCyberiaPortal.js +6 -0
- package/src/client/components/cyberia-portal/TranslateCyberiaPortal.js +48 -0
- package/src/client/components/default/AppShellDefault.js +765 -0
- package/src/client/components/default/AppStoreDefault.js +5 -0
- package/src/client/components/default/CommonDefault.js +29 -0
- package/src/client/components/default/CssDefault.js +27 -0
- package/src/client/components/default/LogInDefault.js +16 -0
- package/src/client/components/default/LogOutDefault.js +12 -0
- package/src/client/components/default/RouterDefault.js +47 -0
- package/src/client/components/default/SettingsDefault.js +16 -0
- package/src/client/components/default/SignUpDefault.js +11 -0
- package/src/client/components/default/SocketIoDefault.js +6 -0
- package/src/client/components/default/TranslateDefault.js +7 -0
- package/src/client/components/itemledger/AppShellItemledger.js +353 -0
- package/src/client/components/itemledger/AppStoreItemledger.js +5 -0
- package/src/client/components/itemledger/CssItemledger.js +212 -0
- package/src/client/components/itemledger/LogInItemledger.js +17 -0
- package/src/client/components/itemledger/LogOutItemledger.js +12 -0
- package/src/client/components/itemledger/RouterItemledger.js +38 -0
- package/src/client/components/itemledger/SettingsItemledger.js +16 -0
- package/src/client/components/itemledger/SignUpItemledger.js +11 -0
- package/src/client/components/itemledger/SocketIoItemledger.js +6 -0
- package/src/client/components/itemledger/TranslateItemledger.js +7 -0
- package/src/client/components/underpost/AppShellUnderpost.js +691 -0
- package/src/client/components/underpost/AppStoreUnderpost.js +5 -0
- package/src/client/components/underpost/CssUnderpost.js +281 -0
- package/src/client/components/underpost/CyberpunkBloggerUnderpost.js +879 -0
- package/src/client/components/underpost/DocumentSearchProvider.js +448 -0
- package/src/client/components/underpost/LabGalleryUnderpost.js +79 -0
- package/src/client/components/underpost/LogInUnderpost.js +25 -0
- package/src/client/components/underpost/LogOutUnderpost.js +17 -0
- package/src/client/components/underpost/RouterUnderpost.js +45 -0
- package/src/client/components/underpost/SettingsUnderpost.js +16 -0
- package/src/client/components/underpost/SignUpUnderpost.js +11 -0
- package/src/client/components/underpost/SocketIoUnderpost.js +6 -0
- package/src/client/components/underpost/TranslateUnderpost.js +10 -0
- package/src/client/public/cryptokoyn/assets/banner/koyn-social.png +0 -0
- package/src/client/public/cryptokoyn/assets/logo/base-icon.png +0 -0
- package/src/client/public/cryptokoyn/assets/logo/cryptokoyn.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/android-chrome-144x144.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/android-chrome-192x192.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/android-chrome-256x256.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/android-chrome-36x36.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/android-chrome-48x48.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/android-chrome-72x72.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/android-chrome-96x96.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-114x114-precomposed.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-114x114.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-120x120-precomposed.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-120x120.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-144x144-precomposed.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-144x144.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-152x152-precomposed.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-152x152.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-180x180-precomposed.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-180x180.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-57x57-precomposed.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-57x57.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-60x60-precomposed.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-60x60.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-72x72-precomposed.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-72x72.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-76x76-precomposed.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-76x76.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon-precomposed.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/apple-touch-icon.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/favicon-16x16.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/favicon-32x32.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/mstile-144x144.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/mstile-150x150.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/mstile-310x150.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/mstile-310x310.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/mstile-70x70.png +0 -0
- package/src/client/public/cryptokoyn/assets/splash/safari-pinned-tab.svg +42 -0
- package/src/client/public/cryptokoyn/browserconfig.xml +12 -0
- package/src/client/public/cryptokoyn/favicon.ico +0 -0
- package/src/client/public/cryptokoyn/microdata.json +85 -0
- package/src/client/public/cryptokoyn/site.webmanifest +57 -0
- package/src/client/public/cryptokoyn/sitemap +148 -0
- package/src/client/public/cyberia-docs/ACTION-SYSTEM.md +307 -0
- package/src/client/public/cyberia-docs/ARCHITECTURE.md +309 -0
- package/src/client/public/cyberia-docs/CYBERIA-CLI.md +204 -0
- package/src/client/public/cyberia-docs/CYBERIA-CLIENT.md +341 -0
- package/src/client/public/cyberia-docs/CYBERIA-LORE.md +84 -0
- package/src/client/public/cyberia-docs/CYBERIA-SAGA.md +394 -0
- package/src/client/public/cyberia-docs/CYBERIA-SERVER.md +294 -0
- package/src/client/public/cyberia-docs/CYBERIA.md +259 -0
- package/src/client/public/cyberia-docs/ENTITY-PROFILE.md +242 -0
- package/src/client/public/cyberia-docs/HARDHAT-MODULE.md +300 -0
- package/src/client/public/cyberia-docs/OFF-CHAIN-ECONOMY.md +309 -0
- package/src/client/public/cyberia-docs/QUEST-SYSTEM.md +228 -0
- package/src/client/public/cyberia-docs/ROADMAP.md +240 -0
- package/src/client/public/cyberia-docs/UNDERPOST-PLATFORM.md +106 -0
- package/src/client/public/cyberia-docs/WHITE-PAPER.md +740 -0
- package/src/client/public/default/android-chrome-144x144.png +0 -0
- package/src/client/public/default/android-chrome-192x192.png +0 -0
- package/src/client/public/default/android-chrome-256x256.png +0 -0
- package/src/client/public/default/android-chrome-36x36.png +0 -0
- package/src/client/public/default/android-chrome-384x384.png +0 -0
- package/src/client/public/default/android-chrome-48x48.png +0 -0
- package/src/client/public/default/android-chrome-512x512.png +0 -0
- package/src/client/public/default/android-chrome-72x72.png +0 -0
- package/src/client/public/default/android-chrome-96x96.png +0 -0
- package/src/client/public/default/apple-touch-icon-1024x1024.png +0 -0
- package/src/client/public/default/apple-touch-icon-114x114-precomposed.png +0 -0
- package/src/client/public/default/apple-touch-icon-114x114.png +0 -0
- package/src/client/public/default/apple-touch-icon-120x120-precomposed.png +0 -0
- package/src/client/public/default/apple-touch-icon-120x120.png +0 -0
- package/src/client/public/default/apple-touch-icon-144x144-precomposed.png +0 -0
- package/src/client/public/default/apple-touch-icon-144x144.png +0 -0
- package/src/client/public/default/apple-touch-icon-152x152-precomposed.png +0 -0
- package/src/client/public/default/apple-touch-icon-152x152.png +0 -0
- package/src/client/public/default/apple-touch-icon-167x167.png +0 -0
- package/src/client/public/default/apple-touch-icon-180x180-precomposed.png +0 -0
- package/src/client/public/default/apple-touch-icon-180x180.png +0 -0
- package/src/client/public/default/apple-touch-icon-57x57-precomposed.png +0 -0
- package/src/client/public/default/apple-touch-icon-57x57.png +0 -0
- package/src/client/public/default/apple-touch-icon-60x60-precomposed.png +0 -0
- package/src/client/public/default/apple-touch-icon-60x60.png +0 -0
- package/src/client/public/default/apple-touch-icon-72x72-precomposed.png +0 -0
- package/src/client/public/default/apple-touch-icon-72x72.png +0 -0
- package/src/client/public/default/apple-touch-icon-76x76-precomposed.png +0 -0
- package/src/client/public/default/apple-touch-icon-76x76.png +0 -0
- package/src/client/public/default/apple-touch-icon-precomposed.png +0 -0
- package/src/client/public/default/apple-touch-icon.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1125x2436.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1136x640.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1170x2532.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1179x2556.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1242x2208.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1242x2688.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1284x2778.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1290x2796.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1334x750.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1488x2266.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1536x2048.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1620x2160.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1640x2160.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1668x2224.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1668x2388.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1792x828.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2048x1536.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2048x2732.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2160x1620.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2160x1640.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2208x1242.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2224x1668.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2266x1488.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2388x1668.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2436x1125.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2532x1170.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2556x1179.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2688x1242.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2732x2048.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2778x1284.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2796x1290.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-640x1136.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-750x1334.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-828x1792.png +0 -0
- package/src/client/public/default/assets/background/dark.jpg +0 -0
- package/src/client/public/default/assets/background/dark.svg +557 -0
- package/src/client/public/default/assets/background/white.jpg +0 -0
- package/src/client/public/default/assets/background/white0-min.jpg +0 -0
- package/src/client/public/default/assets/background/white0.jpg +0 -0
- package/src/client/public/default/assets/logo/base-icon.png +0 -0
- package/src/client/public/default/assets/logo/underpost.gif +0 -0
- package/src/client/public/default/assets/mailer/api-user-check.png +0 -0
- package/src/client/public/default/assets/mailer/api-user-default-avatar.png +0 -0
- package/src/client/public/default/assets/mailer/api-user-invalid-token.png +0 -0
- package/src/client/public/default/assets/mailer/api-user-recover.png +0 -0
- package/src/client/public/default/browserconfig.xml +12 -0
- package/src/client/public/default/favicon-16x16.png +0 -0
- package/src/client/public/default/favicon-32x32.png +0 -0
- package/src/client/public/default/favicon-48x48.png +0 -0
- package/src/client/public/default/favicon.ico +0 -0
- package/src/client/public/default/manifest.webmanifest +69 -0
- package/src/client/public/default/mstile-144x144.png +0 -0
- package/src/client/public/default/mstile-150x150.png +0 -0
- package/src/client/public/default/mstile-310x150.png +0 -0
- package/src/client/public/default/mstile-310x310.png +0 -0
- package/src/client/public/default/mstile-70x70.png +0 -0
- package/src/client/public/default/safari-pinned-tab.svg +24 -0
- package/src/client/public/default/site.webmanifest +69 -0
- package/src/client/public/default/sitemap +148 -0
- package/src/client/public/default/yandex-browser-50x50.png +0 -0
- package/src/client/public/default/yandex-browser-manifest.json +9 -0
- package/src/client/public/doc/favicon.ico +0 -0
- package/src/client/public/doc/sitemap +148 -0
- package/src/client/public/itemledger/android-chrome-144x144.png +0 -0
- package/src/client/public/itemledger/android-chrome-192x192.png +0 -0
- package/src/client/public/itemledger/android-chrome-256x256.png +0 -0
- package/src/client/public/itemledger/android-chrome-36x36.png +0 -0
- package/src/client/public/itemledger/android-chrome-384x384.png +0 -0
- package/src/client/public/itemledger/android-chrome-48x48.png +0 -0
- package/src/client/public/itemledger/android-chrome-512x512.png +0 -0
- package/src/client/public/itemledger/android-chrome-72x72.png +0 -0
- package/src/client/public/itemledger/android-chrome-96x96.png +0 -0
- package/src/client/public/itemledger/apple-touch-icon-1024x1024.png +0 -0
- package/src/client/public/itemledger/apple-touch-icon-114x114.png +0 -0
- package/src/client/public/itemledger/apple-touch-icon-120x120.png +0 -0
- package/src/client/public/itemledger/apple-touch-icon-144x144.png +0 -0
- package/src/client/public/itemledger/apple-touch-icon-152x152.png +0 -0
- package/src/client/public/itemledger/apple-touch-icon-167x167.png +0 -0
- package/src/client/public/itemledger/apple-touch-icon-180x180.png +0 -0
- package/src/client/public/itemledger/apple-touch-icon-57x57.png +0 -0
- package/src/client/public/itemledger/apple-touch-icon-60x60.png +0 -0
- package/src/client/public/itemledger/apple-touch-icon-72x72.png +0 -0
- package/src/client/public/itemledger/apple-touch-icon-76x76.png +0 -0
- package/src/client/public/itemledger/apple-touch-icon-precomposed.png +0 -0
- package/src/client/public/itemledger/apple-touch-icon.png +0 -0
- package/src/client/public/itemledger/apple-touch-startup-image-1125x2436.png +0 -0
- package/src/client/public/itemledger/apple-touch-startup-image-1136x640.png +0 -0
- package/src/client/public/itemledger/apple-touch-startup-image-1170x2532.png +0 -0
- package/src/client/public/itemledger/apple-touch-startup-image-1179x2556.png +0 -0
- package/src/client/public/itemledger/apple-touch-startup-image-1242x2208.png +0 -0
- package/src/client/public/itemledger/apple-touch-startup-image-1242x2688.png +0 -0
- package/src/client/public/itemledger/apple-touch-startup-image-1284x2778.png +0 -0
- package/src/client/public/itemledger/apple-touch-startup-image-1290x2796.png +0 -0
- package/src/client/public/itemledger/apple-touch-startup-image-1334x750.png +0 -0
- package/src/client/public/itemledger/apple-touch-startup-image-1488x2266.png +0 -0
- package/src/client/public/itemledger/apple-touch-startup-image-1536x2048.png +0 -0
- package/src/client/public/itemledger/apple-touch-startup-image-1620x2160.png +0 -0
- package/src/client/public/itemledger/apple-touch-startup-image-1640x2160.png +0 -0
- package/src/client/public/itemledger/apple-touch-startup-image-1668x2224.png +0 -0
- package/src/client/public/itemledger/apple-touch-startup-image-1668x2388.png +0 -0
- package/src/client/public/itemledger/apple-touch-startup-image-1792x828.png +0 -0
- package/src/client/public/itemledger/apple-touch-startup-image-2048x1536.png +0 -0
- package/src/client/public/itemledger/apple-touch-startup-image-2048x2732.png +0 -0
- package/src/client/public/itemledger/apple-touch-startup-image-2160x1620.png +0 -0
- package/src/client/public/itemledger/apple-touch-startup-image-2160x1640.png +0 -0
- package/src/client/public/itemledger/apple-touch-startup-image-2208x1242.png +0 -0
- package/src/client/public/itemledger/apple-touch-startup-image-2224x1668.png +0 -0
- package/src/client/public/itemledger/apple-touch-startup-image-2266x1488.png +0 -0
- package/src/client/public/itemledger/apple-touch-startup-image-2388x1668.png +0 -0
- package/src/client/public/itemledger/apple-touch-startup-image-2436x1125.png +0 -0
- package/src/client/public/itemledger/apple-touch-startup-image-2532x1170.png +0 -0
- package/src/client/public/itemledger/apple-touch-startup-image-2556x1179.png +0 -0
- package/src/client/public/itemledger/apple-touch-startup-image-2688x1242.png +0 -0
- package/src/client/public/itemledger/apple-touch-startup-image-2732x2048.png +0 -0
- package/src/client/public/itemledger/apple-touch-startup-image-2778x1284.png +0 -0
- package/src/client/public/itemledger/apple-touch-startup-image-2796x1290.png +0 -0
- package/src/client/public/itemledger/apple-touch-startup-image-640x1136.png +0 -0
- package/src/client/public/itemledger/apple-touch-startup-image-750x1334.png +0 -0
- package/src/client/public/itemledger/apple-touch-startup-image-828x1792.png +0 -0
- package/src/client/public/itemledger/assets/logo/base-icon.png +0 -0
- package/src/client/public/itemledger/browserconfig.xml +12 -0
- package/src/client/public/itemledger/favicon-16x16.png +0 -0
- package/src/client/public/itemledger/favicon-32x32.png +0 -0
- package/src/client/public/itemledger/favicon-48x48.png +0 -0
- package/src/client/public/itemledger/favicon.ico +0 -0
- package/src/client/public/itemledger/manifest.webmanifest +69 -0
- package/src/client/public/itemledger/microdata.json +71 -0
- package/src/client/public/itemledger/mstile-144x144.png +0 -0
- package/src/client/public/itemledger/mstile-150x150.png +0 -0
- package/src/client/public/itemledger/mstile-310x150.png +0 -0
- package/src/client/public/itemledger/mstile-310x310.png +0 -0
- package/src/client/public/itemledger/mstile-70x70.png +0 -0
- package/src/client/public/itemledger/sitemap +148 -0
- package/src/client/public/itemledger/yandex-browser-50x50.png +0 -0
- package/src/client/public/itemledger/yandex-browser-manifest.json +9 -0
- package/src/client/public/test/favicon.ico +0 -0
- package/src/client/public/test/sitemap +148 -0
- package/src/client/services/atlas-sprite-sheet/atlas-sprite-sheet.service.js +137 -0
- package/src/client/services/core/core.service.js +309 -0
- package/src/client/services/crypto/crypto.service.js +68 -0
- package/src/client/services/cyberia-action/cyberia-action.service.js +99 -0
- package/src/client/services/cyberia-client-hints/cyberia-client-hints.service.js +99 -0
- package/src/client/services/cyberia-dialogue/cyberia-dialogue.service.js +99 -0
- package/src/client/services/cyberia-entity/cyberia-entity.management.js +57 -0
- package/src/client/services/cyberia-entity/cyberia-entity.service.js +99 -0
- package/src/client/services/cyberia-entity-type-default/cyberia-entity-type-default.service.js +99 -0
- package/src/client/services/cyberia-instance/cyberia-instance.management.js +194 -0
- package/src/client/services/cyberia-instance/cyberia-instance.service.js +137 -0
- package/src/client/services/cyberia-instance-conf/cyberia-instance-conf.service.js +99 -0
- package/src/client/services/cyberia-map/cyberia-map.management.js +193 -0
- package/src/client/services/cyberia-map/cyberia-map.service.js +120 -0
- package/src/client/services/cyberia-quest/cyberia-quest.service.js +99 -0
- package/src/client/services/cyberia-quest-progress/cyberia-quest-progress.service.js +99 -0
- package/src/client/services/cyberia-saga/cyberia-saga.service.js +99 -0
- package/src/client/services/cyberia-skill/cyberia-skill.service.js +99 -0
- package/src/client/services/default/default.management.js +1015 -0
- package/src/client/services/default/default.service.js +99 -0
- package/src/client/services/document/document.service.js +134 -0
- package/src/client/services/file/file.service.js +94 -0
- package/src/client/services/instance/instance.management.js +78 -0
- package/src/client/services/instance/instance.service.js +107 -0
- package/src/client/services/ipfs/ipfs.service.js +118 -0
- package/src/client/services/object-layer/object-layer.management.js +414 -0
- package/src/client/services/object-layer/object-layer.service.js +208 -0
- package/src/client/services/object-layer-render-frames/object-layer-render-frames.service.js +99 -0
- package/src/client/services/test/test.service.js +68 -0
- package/src/client/services/user/guest.service.js +86 -0
- package/src/client/services/user/user.management.js +51 -0
- package/src/client/services/user/user.service.js +106 -0
- package/src/client/ssr/RootDocument.js +237 -0
- package/src/client/ssr/body/404.js +77 -0
- package/src/client/ssr/body/500.js +76 -0
- package/src/client/ssr/body/CacheControl.js +117 -0
- package/src/client/ssr/body/CyberiaDefaultSplashScreen.js +97 -0
- package/src/client/ssr/body/DefaultSplashScreen.js +97 -0
- package/src/client/ssr/body/SwaggerDarkMode.js +285 -0
- package/src/client/ssr/body/UnderpostDefaultSplashScreen.js +90 -0
- package/src/client/ssr/head/CryptokoynScripts.js +4 -0
- package/src/client/ssr/head/Css.js +241 -0
- package/src/client/ssr/head/CyberiaPortalScripts.js +6 -0
- package/src/client/ssr/head/DefaultScripts.js +6 -0
- package/src/client/ssr/head/ItemledgerScripts.js +4 -0
- package/src/client/ssr/head/Microdata.js +11 -0
- package/src/client/ssr/head/Production.js +1 -0
- package/src/client/ssr/head/Pwa.js +146 -0
- package/src/client/ssr/head/PwaItemledger.js +197 -0
- package/src/client/ssr/head/Seo.js +15 -0
- package/src/client/ssr/head/UnderpostScripts.js +6 -0
- package/src/client/ssr/mailer/DefaultRecoverEmail.js +20 -0
- package/src/client/ssr/mailer/DefaultVerifyEmail.js +16 -0
- package/src/client/ssr/views/Cyberia404.js +328 -0
- package/src/client/ssr/views/CyberiaServerMetrics.js +1070 -0
- package/src/client/ssr/views/Maintenance.js +64 -0
- package/src/client/ssr/views/NoNetworkConnection.js +68 -0
- package/src/client/ssr/views/Test.js +199 -0
- package/src/client/sw/core.sw.js +274 -0
- package/src/client-builder/client-build-docs.js +493 -0
- package/src/client-builder/client-build-live.js +100 -0
- package/src/client-builder/client-build.js +1092 -0
- package/src/client-builder/client-dev-server.js +88 -0
- package/src/client-builder/client-formatted.js +170 -0
- package/src/client-builder/client-icons.js +108 -0
- package/src/client-builder/ssr.js +124 -0
- package/src/client.build.js +17 -0
- package/src/client.dev.js +21 -0
- package/src/db/DataBaseProvider.js +213 -0
- package/src/db/mariadb/MariaDB.js +72 -0
- package/src/db/mongo/MongoBootstrap.js +657 -0
- package/src/db/mongo/MongooseDB.js +199 -0
- package/src/grpc/cyberia/grpc-server.js +162 -0
- package/src/index.js +357 -0
- package/src/mailer/EmailRender.js +116 -0
- package/src/mailer/MailerProvider.js +213 -0
- package/src/projects/cyberia/atlas-sprite-sheet-generator.js +413 -0
- package/src/projects/cyberia/besu-genesis-generator.js +1630 -0
- package/src/projects/cyberia/catalog-cyberia.js +90 -0
- package/src/projects/cyberia/gemini-client.js +175 -0
- package/src/projects/cyberia/generate-saga.js +2137 -0
- package/src/projects/cyberia/hot-reload-trigger.js +163 -0
- package/src/projects/cyberia/instance-data.js +719 -0
- package/src/projects/cyberia/ipfs-client.js +599 -0
- package/src/projects/cyberia/map-preview-generator.js +304 -0
- package/src/projects/cyberia/object-layer.js +978 -0
- package/src/projects/cyberia/semantic-layer-generator-floor.js +319 -0
- package/src/projects/cyberia/semantic-layer-generator-resource.js +259 -0
- package/src/projects/cyberia/semantic-layer-generator-skin.js +1164 -0
- package/src/projects/cyberia/semantic-layer-generator.js +753 -0
- package/src/projects/cyberia/shape-generator.js +1060 -0
- package/src/projects/underpost/catalog-underpost.js +60 -0
- package/src/proxy.js +19 -0
- package/src/runtime/cyberia-client/Dockerfile +49 -0
- package/src/runtime/cyberia-client/Dockerfile.dev +75 -0
- package/src/runtime/cyberia-server/Dockerfile +43 -0
- package/src/runtime/cyberia-server/Dockerfile.dev +56 -0
- package/src/runtime/engine-cyberia/Dockerfile +161 -0
- package/src/runtime/engine-cyberia/Dockerfile.dev +161 -0
- package/src/runtime/engine-cyberia/Dockerfile.test +165 -0
- package/src/runtime/engine-cyberia/compose.env +144 -0
- package/src/runtime/engine-cyberia/docker-compose.yml +434 -0
- package/src/runtime/engine-cyberia/ipfs/configure-ipfs.sh +13 -0
- package/src/runtime/engine-cyberia/mongodb/entrypoint.sh +76 -0
- package/src/runtime/engine-cyberia/nginx.conf +128 -0
- package/src/runtime/express/Dockerfile +45 -0
- package/src/runtime/express/Express.js +285 -0
- package/src/runtime/lampp/Dockerfile +62 -0
- package/src/runtime/lampp/Lampp.js +359 -0
- package/src/runtime/nginx/Nginx.js +250 -0
- package/src/runtime/wp/Dockerfile +62 -0
- package/src/runtime/wp/Wp.js +642 -0
- package/src/server/auth.js +713 -0
- package/src/server/backup.js +102 -0
- package/src/server/catalog.js +72 -0
- package/src/server/conf.js +2316 -0
- package/src/server/cron.js +476 -0
- package/src/server/crypto.js +210 -0
- package/src/server/data-query.js +461 -0
- package/src/server/dns.js +553 -0
- package/src/server/downloader.js +73 -0
- package/src/server/logger.js +229 -0
- package/src/server/middlewares.js +152 -0
- package/src/server/peer.js +75 -0
- package/src/server/process.js +299 -0
- package/src/server/proxy.js +139 -0
- package/src/server/runtime-status.js +252 -0
- package/src/server/runtime.js +183 -0
- package/src/server/start.js +272 -0
- package/src/server/tls.js +254 -0
- package/src/server/valkey.js +201 -0
- package/src/server.js +25 -0
- package/src/ws/IoInterface.js +129 -0
- package/src/ws/IoServer.js +68 -0
- package/src/ws/core/channels/core.ws.chat.js +68 -0
- package/src/ws/core/channels/core.ws.mailer.js +116 -0
- package/src/ws/core/channels/core.ws.stream.js +90 -0
- package/src/ws/core/core.ws.connection.js +41 -0
- package/src/ws/core/core.ws.emit.js +37 -0
- package/src/ws/core/core.ws.server.js +44 -0
- package/src/ws/default/channels/default.ws.main.js +57 -0
- package/src/ws/default/default.ws.connection.js +35 -0
- package/src/ws/default/default.ws.emit.js +14 -0
- package/src/ws/default/default.ws.server.js +39 -0
- package/test/api.test.js +53 -0
- package/test/crypto.test.js +117 -0
- package/test/cyberia-instance-conf-defaults.test.js +140 -0
- package/test/deploy-monitor.test.js +267 -0
- package/test/shape-generator.test.js +463 -0
- package/tsconfig.docs.json +15 -0
- package/typedoc.dd-cyberia.json +31 -0
- package/typedoc.json +31 -0
|
@@ -0,0 +1,528 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared Cyberia defaults — isomorphic, dependency-free, importable from
|
|
3
|
+
* **both** Node and the browser.
|
|
4
|
+
*
|
|
5
|
+
* Pure plain-data ESM module: no Node built-ins, no DOM APIs, no
|
|
6
|
+
* environment guards. Every export is a frozen literal, a constant
|
|
7
|
+
* lookup table, or a pure function over those tables. Side-effect free
|
|
8
|
+
* on import.
|
|
9
|
+
*
|
|
10
|
+
* Two responsibilities, no others:
|
|
11
|
+
*
|
|
12
|
+
* 1. **Presentation values** — palette, entity colour keys, status-icon
|
|
13
|
+
* visuals (icon stem + border colour + bounce), camera tunings,
|
|
14
|
+
* render flags. Mirrored 1-to-1 by the C/WASM client's compile-time
|
|
15
|
+
* defaults in `cyberia-client/src/domain/presentation_defaults.h`.
|
|
16
|
+
* Optionally overridable per deployment through the REST endpoint
|
|
17
|
+
* `/api/cyberia-client-hints/:code`.
|
|
18
|
+
*
|
|
19
|
+
* 2. **Shared content vocabulary** — `ITEM_TYPES`, `ENTITY_TYPES`,
|
|
20
|
+
* `DefaultCyberiaItems` registry + lookups, type-to-item mapping,
|
|
21
|
+
* quest step objective enum. The data shape both the
|
|
22
|
+
* browser-side editor UI and the engine REST controllers need to
|
|
23
|
+
* understand; it is **not** simulation state.
|
|
24
|
+
*
|
|
25
|
+
* STRICT BOUNDARIES
|
|
26
|
+
* -----------------
|
|
27
|
+
* - The cyberia-server (Go) MUST NOT load this file. None of these
|
|
28
|
+
* values influence the authoritative simulation. The server owns the
|
|
29
|
+
* numeric Entity Status Indicator IDs only (see `cyberia-server-defaults`).
|
|
30
|
+
*
|
|
31
|
+
* - The C/WASM cyberia-client embeds *presentation* defaults at compile
|
|
32
|
+
* time and fetches optional overrides through REST. It does NOT carry
|
|
33
|
+
* the JS vocabulary constants — entity-type and item-id strings
|
|
34
|
+
* arrive on the wire and are matched directly.
|
|
35
|
+
*
|
|
36
|
+
* - The browser editor bundles this file via esbuild. It MUST NOT
|
|
37
|
+
* import `cyberia-server-defaults.js` — that would pull simulation
|
|
38
|
+
* rules, economy, and seed content into the browser bundle. All
|
|
39
|
+
* shared vocabulary the editor needs lives here.
|
|
40
|
+
*
|
|
41
|
+
* Naming: this file is intentionally placed under `src/client/` so its
|
|
42
|
+
* URL is `/components/cyberia/SharedDefaultsCyberia.js` when the engine
|
|
43
|
+
* static server resolves it. Node-side importers reach in with a
|
|
44
|
+
* relative path; both halves see the same module instance.
|
|
45
|
+
*
|
|
46
|
+
* @module src/client/components/cyberia/SharedDefaultsCyberia.js
|
|
47
|
+
*/
|
|
48
|
+
|
|
49
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
50
|
+
// Shared content vocabulary
|
|
51
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Canonical set of ObjectLayer item type names. Used as the
|
|
55
|
+
* `data.item.type` discriminator and as the asset directory name on disk.
|
|
56
|
+
*
|
|
57
|
+
* Values intentionally equal their keys — this is a string enum, not a
|
|
58
|
+
* z-order map. Render layer ordering lives in `entity_render.c`.
|
|
59
|
+
*
|
|
60
|
+
* @type {Readonly<Record<string,string>>}
|
|
61
|
+
*/
|
|
62
|
+
export const ITEM_TYPES = Object.freeze({
|
|
63
|
+
skin: 'skin',
|
|
64
|
+
breastplate: 'breastplate',
|
|
65
|
+
weapon: 'weapon',
|
|
66
|
+
skill: 'skill',
|
|
67
|
+
coin: 'coin',
|
|
68
|
+
floor: 'floor',
|
|
69
|
+
obstacle: 'obstacle',
|
|
70
|
+
portal: 'portal',
|
|
71
|
+
foreground: 'foreground',
|
|
72
|
+
resource: 'resource',
|
|
73
|
+
static: 'static',
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Canonical set of entity category names used by the Go simulation,
|
|
78
|
+
* the C/WASM client, and the browser editor UI.
|
|
79
|
+
*
|
|
80
|
+
* @type {Readonly<Record<string,string>>}
|
|
81
|
+
*/
|
|
82
|
+
export const ENTITY_TYPES = Object.freeze({
|
|
83
|
+
player: 'player',
|
|
84
|
+
other_player: 'other_player',
|
|
85
|
+
bot: 'bot',
|
|
86
|
+
skill: 'skill',
|
|
87
|
+
coin: 'coin',
|
|
88
|
+
floor: 'floor',
|
|
89
|
+
obstacle: 'obstacle',
|
|
90
|
+
portal: 'portal',
|
|
91
|
+
foreground: 'foreground',
|
|
92
|
+
resource: 'resource',
|
|
93
|
+
static: 'static',
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
/** Per-entity-type allowlist of item types that may appear on the entity. */
|
|
97
|
+
export const ENTITY_TYPE_TO_ITEM_TYPES = Object.freeze({
|
|
98
|
+
[ENTITY_TYPES.player]: Object.freeze([ITEM_TYPES.skin, ITEM_TYPES.breastplate, ITEM_TYPES.weapon]),
|
|
99
|
+
[ENTITY_TYPES.other_player]: Object.freeze([ITEM_TYPES.skin, ITEM_TYPES.breastplate, ITEM_TYPES.weapon]),
|
|
100
|
+
[ENTITY_TYPES.bot]: Object.freeze([ITEM_TYPES.skin, ITEM_TYPES.weapon]),
|
|
101
|
+
[ENTITY_TYPES.skill]: Object.freeze([ITEM_TYPES.skill]),
|
|
102
|
+
[ENTITY_TYPES.coin]: Object.freeze([ITEM_TYPES.coin]),
|
|
103
|
+
[ENTITY_TYPES.floor]: Object.freeze([ITEM_TYPES.floor]),
|
|
104
|
+
[ENTITY_TYPES.obstacle]: Object.freeze([ITEM_TYPES.obstacle]),
|
|
105
|
+
[ENTITY_TYPES.portal]: Object.freeze([ITEM_TYPES.portal]),
|
|
106
|
+
[ENTITY_TYPES.foreground]: Object.freeze([ITEM_TYPES.foreground]),
|
|
107
|
+
[ENTITY_TYPES.resource]: Object.freeze([ITEM_TYPES.resource]),
|
|
108
|
+
[ENTITY_TYPES.static]: Object.freeze([ITEM_TYPES.static]),
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
/** Quest step objective types accepted by the quest-progress engine. */
|
|
112
|
+
export const QUEST_STEPS_TYPES = Object.freeze(['collect', 'talk', 'kill']);
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Canonical skill LogicId registry — the single source of truth for the
|
|
116
|
+
* `logicEventId` handler keys the simulation skill dispatcher knows how to run.
|
|
117
|
+
* MUST stay aligned with the handlers registered in cyberia-server
|
|
118
|
+
* `game/skill_dispatcher.go#InitSkills`. The skill editor (ActionEngineCyberia)
|
|
119
|
+
* offers ONLY these ids, and `DefaultSkillConfig` (cyberia-server-defaults.js)
|
|
120
|
+
* draws its `logicEventId`s from here.
|
|
121
|
+
*
|
|
122
|
+
* @type {ReadonlyArray<{id:string,name:string,description:string}>}
|
|
123
|
+
*/
|
|
124
|
+
export const SKILL_LOGIC_IDS = Object.freeze([
|
|
125
|
+
Object.freeze({
|
|
126
|
+
id: 'projectile',
|
|
127
|
+
name: 'Projectile',
|
|
128
|
+
description: 'Fires a projectile toward the tap. Spawn chance and lifetime scale with Intelligence and Range.',
|
|
129
|
+
}),
|
|
130
|
+
Object.freeze({
|
|
131
|
+
id: 'coin_drop_or_transaction',
|
|
132
|
+
name: 'Coin Drop',
|
|
133
|
+
description: 'Drops coins on kill; transfer amount follows the kill-percent economy rules.',
|
|
134
|
+
}),
|
|
135
|
+
Object.freeze({
|
|
136
|
+
id: 'doppelganger',
|
|
137
|
+
name: 'Doppelganger',
|
|
138
|
+
description: 'Summons a passive clone that wanders nearby. Spawn chance scales with Intelligence.',
|
|
139
|
+
}),
|
|
140
|
+
]);
|
|
141
|
+
|
|
142
|
+
/** Ordered list of canonical skill LogicId values. */
|
|
143
|
+
export const SKILL_LOGIC_ID_VALUES = Object.freeze(SKILL_LOGIC_IDS.map((l) => l.id));
|
|
144
|
+
|
|
145
|
+
/** True when `logicEventId` is a known canonical skill LogicId. */
|
|
146
|
+
export const isCanonicalSkillLogicId = (logicEventId) => SKILL_LOGIC_ID_VALUES.includes(logicEventId);
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Canonical entity-behavior registry — the authoritative vocabulary for the
|
|
150
|
+
* `behavior` an entity-type default may bind to its matched entities. The Go
|
|
151
|
+
* simulation owns the runtime semantics; this registry is the shared label /
|
|
152
|
+
* documentation source consumed by the editor (EntityEngineCyberia) and by
|
|
153
|
+
* content-authority validation. MUST stay aligned with cyberia-server
|
|
154
|
+
* `game/behavior.go`.
|
|
155
|
+
*
|
|
156
|
+
* `selectable: false` marks behaviors the runtime assigns itself
|
|
157
|
+
* (projectiles, coin drops) — they are not author-assignable to a default.
|
|
158
|
+
*
|
|
159
|
+
* @type {ReadonlyArray<{id:string,label:string,description:string,selectable:boolean}>}
|
|
160
|
+
*/
|
|
161
|
+
export const ENTITY_BEHAVIORS = Object.freeze([
|
|
162
|
+
Object.freeze({
|
|
163
|
+
id: 'passive',
|
|
164
|
+
label: 'Passive',
|
|
165
|
+
description: 'Wanders within its spawn radius; never aggroes. Default for unarmed entities.',
|
|
166
|
+
selectable: true,
|
|
167
|
+
}),
|
|
168
|
+
Object.freeze({
|
|
169
|
+
id: 'hostile',
|
|
170
|
+
label: 'Hostile',
|
|
171
|
+
description: 'Pursues and attacks players within aggro range. Default for armed entities.',
|
|
172
|
+
selectable: true,
|
|
173
|
+
}),
|
|
174
|
+
Object.freeze({
|
|
175
|
+
id: 'provider',
|
|
176
|
+
label: 'Provider',
|
|
177
|
+
description: 'Mission/action giver: barely moves from its spawn (sporadic short steps) and is immortal.',
|
|
178
|
+
selectable: true,
|
|
179
|
+
}),
|
|
180
|
+
Object.freeze({
|
|
181
|
+
id: 'provider-static',
|
|
182
|
+
label: 'Provider (Static)',
|
|
183
|
+
description: 'Like provider but completely immobile, and immortal.',
|
|
184
|
+
selectable: true,
|
|
185
|
+
}),
|
|
186
|
+
Object.freeze({
|
|
187
|
+
id: 'skill',
|
|
188
|
+
label: 'Skill',
|
|
189
|
+
description: 'Runtime projectile entity — assigned by the skill engine, not author-selectable.',
|
|
190
|
+
selectable: false,
|
|
191
|
+
}),
|
|
192
|
+
Object.freeze({
|
|
193
|
+
id: 'coin',
|
|
194
|
+
label: 'Coin',
|
|
195
|
+
description: 'Runtime coin entity — assigned by the economy engine, not author-selectable.',
|
|
196
|
+
selectable: false,
|
|
197
|
+
}),
|
|
198
|
+
]);
|
|
199
|
+
|
|
200
|
+
/** Ordered list of canonical behavior id values. */
|
|
201
|
+
export const ENTITY_BEHAVIOR_VALUES = Object.freeze(ENTITY_BEHAVIORS.map((b) => b.id));
|
|
202
|
+
|
|
203
|
+
/** Author-assignable behaviors (the subset the entity-default editor offers). */
|
|
204
|
+
export const SELECTABLE_ENTITY_BEHAVIORS = Object.freeze(ENTITY_BEHAVIORS.filter((b) => b.selectable));
|
|
205
|
+
|
|
206
|
+
/** True when `behavior` is a known canonical entity behavior. */
|
|
207
|
+
export const isCanonicalEntityBehavior = (behavior) => ENTITY_BEHAVIOR_VALUES.includes(behavior);
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* Canonical object-layer animation directions. Each entry binds:
|
|
211
|
+
* code — numeric asset folder name on disk
|
|
212
|
+
* (`./assets/<type>/<id>/<code>/<frame>.png`)
|
|
213
|
+
* label — human-readable label for the editor UI
|
|
214
|
+
* keyframes — render keyframe direction names this folder code feeds
|
|
215
|
+
*
|
|
216
|
+
* Single source of truth for the browser editor (`ObjectLayerEngineModal`) and
|
|
217
|
+
* the Node asset pipeline (`src/projects/cyberia/object-layer.js`). Adding a
|
|
218
|
+
* direction here is the only place it needs to be declared.
|
|
219
|
+
*
|
|
220
|
+
* @type {ReadonlyArray<{code:string,label:string,keyframes:ReadonlyArray<string>}>}
|
|
221
|
+
*/
|
|
222
|
+
export const OBJECT_LAYER_DIRECTIONS = Object.freeze([
|
|
223
|
+
Object.freeze({
|
|
224
|
+
code: '08',
|
|
225
|
+
label: 'Down Idle',
|
|
226
|
+
keyframes: Object.freeze(['down_idle', 'none_idle', 'default_idle']),
|
|
227
|
+
}),
|
|
228
|
+
Object.freeze({ code: '18', label: 'Down Walk', keyframes: Object.freeze(['down_walking']) }),
|
|
229
|
+
Object.freeze({ code: '02', label: 'Up Idle', keyframes: Object.freeze(['up_idle']) }),
|
|
230
|
+
Object.freeze({ code: '12', label: 'Up Walk', keyframes: Object.freeze(['up_walking']) }),
|
|
231
|
+
Object.freeze({
|
|
232
|
+
code: '04',
|
|
233
|
+
label: 'Left Idle',
|
|
234
|
+
keyframes: Object.freeze(['left_idle', 'up_left_idle', 'down_left_idle']),
|
|
235
|
+
}),
|
|
236
|
+
Object.freeze({
|
|
237
|
+
code: '14',
|
|
238
|
+
label: 'Left Walk',
|
|
239
|
+
keyframes: Object.freeze(['left_walking', 'up_left_walking', 'down_left_walking']),
|
|
240
|
+
}),
|
|
241
|
+
Object.freeze({
|
|
242
|
+
code: '06',
|
|
243
|
+
label: 'Right Idle',
|
|
244
|
+
keyframes: Object.freeze(['right_idle', 'up_right_idle', 'down_right_idle']),
|
|
245
|
+
}),
|
|
246
|
+
Object.freeze({
|
|
247
|
+
code: '16',
|
|
248
|
+
label: 'Right Walk',
|
|
249
|
+
keyframes: Object.freeze(['right_walking', 'up_right_walking', 'down_right_walking']),
|
|
250
|
+
}),
|
|
251
|
+
]);
|
|
252
|
+
|
|
253
|
+
/** Ordered list of object-layer direction folder codes. */
|
|
254
|
+
export const OBJECT_LAYER_DIRECTION_CODES = Object.freeze(OBJECT_LAYER_DIRECTIONS.map((d) => d.code));
|
|
255
|
+
|
|
256
|
+
/** Map: direction folder code → editor label. */
|
|
257
|
+
export const OBJECT_LAYER_DIRECTION_LABELS = Object.freeze(
|
|
258
|
+
Object.fromEntries(OBJECT_LAYER_DIRECTIONS.map((d) => [d.code, d.label])),
|
|
259
|
+
);
|
|
260
|
+
|
|
261
|
+
/** Render keyframe direction names a numeric folder code feeds (empty if unknown). */
|
|
262
|
+
export const getKeyframeDirectionsByCode = (code) => {
|
|
263
|
+
const entry = OBJECT_LAYER_DIRECTIONS.find((d) => d.code === code);
|
|
264
|
+
return entry ? [...entry.keyframes] : [];
|
|
265
|
+
};
|
|
266
|
+
|
|
267
|
+
/** Inverse map: render keyframe direction name → numeric folder code. */
|
|
268
|
+
export const OBJECT_LAYER_DIRECTION_NAME_TO_CODE = Object.freeze(
|
|
269
|
+
OBJECT_LAYER_DIRECTIONS.reduce((acc, d) => {
|
|
270
|
+
for (const name of d.keyframes) acc[name] = d.code;
|
|
271
|
+
return acc;
|
|
272
|
+
}, {}),
|
|
273
|
+
);
|
|
274
|
+
|
|
275
|
+
/**
|
|
276
|
+
* Canonical entity/item stat types, in display order. Shared by the object-layer
|
|
277
|
+
* editor (stat inputs) and the asset pipeline (random stat generation).
|
|
278
|
+
*/
|
|
279
|
+
export const STAT_TYPES = Object.freeze(['effect', 'resistance', 'agility', 'range', 'intelligence', 'utility']);
|
|
280
|
+
|
|
281
|
+
/**
|
|
282
|
+
* Build a random stat block keyed by STAT_TYPES, each value 0–10 inclusive.
|
|
283
|
+
* Non-deterministic (uses Math.random) — the asset pipeline uses it to seed
|
|
284
|
+
* default stats for newly authored object layers.
|
|
285
|
+
*/
|
|
286
|
+
export const generateRandomStats = () =>
|
|
287
|
+
Object.fromEntries(STAT_TYPES.map((statType) => [statType, Math.floor(Math.random() * 11)]));
|
|
288
|
+
|
|
289
|
+
/**
|
|
290
|
+
* Canonical (itemId → itemType) registry shipped with the engine. Used
|
|
291
|
+
* by the import-default-items seed, the on-chain ObjectLayerToken bridge,
|
|
292
|
+
* the fallback world generator, the CLI tooling, and the browser editor.
|
|
293
|
+
*
|
|
294
|
+
* Adding a new item here is the **only** place it needs to be declared.
|
|
295
|
+
*/
|
|
296
|
+
export const DefaultCyberiaItems = [
|
|
297
|
+
{ item: { id: 'coin', type: ITEM_TYPES.coin } },
|
|
298
|
+
{ item: { id: 'hatchet-skill', type: ITEM_TYPES.skill } },
|
|
299
|
+
{ item: { id: 'atlas_pistol_mk2', type: ITEM_TYPES.weapon } },
|
|
300
|
+
{ item: { id: 'atlas_pistol_mk2_bullet', type: ITEM_TYPES.skill } },
|
|
301
|
+
{ item: { id: 'tim-knife', type: ITEM_TYPES.weapon } },
|
|
302
|
+
{ item: { id: 'hatchet', type: ITEM_TYPES.weapon } },
|
|
303
|
+
{ item: { id: 'wason', type: ITEM_TYPES.skin } },
|
|
304
|
+
{ item: { id: 'kishins', type: ITEM_TYPES.skin } },
|
|
305
|
+
{ item: { id: 'scp-2040', type: ITEM_TYPES.skin } },
|
|
306
|
+
{ item: { id: 'purple', type: ITEM_TYPES.skin } },
|
|
307
|
+
{ item: { id: 'punk', type: ITEM_TYPES.skin } },
|
|
308
|
+
{ item: { id: 'lain', type: ITEM_TYPES.skin } },
|
|
309
|
+
{ item: { id: 'kaneki', type: ITEM_TYPES.skin } },
|
|
310
|
+
{ item: { id: 'junko', type: ITEM_TYPES.skin } },
|
|
311
|
+
{ item: { id: 'ghost', type: ITEM_TYPES.skin } },
|
|
312
|
+
{ item: { id: 'fragmentation', type: ITEM_TYPES.skin } },
|
|
313
|
+
{ item: { id: 'eiri', type: ITEM_TYPES.skin } },
|
|
314
|
+
{ item: { id: 'anon', type: ITEM_TYPES.skin } },
|
|
315
|
+
{ item: { id: 'alex', type: ITEM_TYPES.skin } },
|
|
316
|
+
{ item: { id: 'agent', type: ITEM_TYPES.skin } },
|
|
317
|
+
{ item: { id: 'grass', type: ITEM_TYPES.floor } },
|
|
318
|
+
{ item: { id: 'wood-1', type: ITEM_TYPES.resource } },
|
|
319
|
+
{ item: { id: 'wood-2', type: ITEM_TYPES.resource } },
|
|
320
|
+
{ item: { id: 'wood-extracted-1', type: ITEM_TYPES.resource } },
|
|
321
|
+
{ item: { id: 'wood-extracted-2', type: ITEM_TYPES.resource } },
|
|
322
|
+
{ item: { id: 'wood-drop-1', type: ITEM_TYPES.resource } },
|
|
323
|
+
{ item: { id: 'wood-drop-2', type: ITEM_TYPES.resource } },
|
|
324
|
+
];
|
|
325
|
+
|
|
326
|
+
const _ITEM_BY_ID = Object.freeze(
|
|
327
|
+
DefaultCyberiaItems.reduce((acc, entry) => {
|
|
328
|
+
acc[entry.item.id] = entry;
|
|
329
|
+
return acc;
|
|
330
|
+
}, {}),
|
|
331
|
+
);
|
|
332
|
+
|
|
333
|
+
/** O(1) lookup: item id → registry entry, or `null` if unknown. */
|
|
334
|
+
export const getDefaultCyberiaItemById = (itemId) => _ITEM_BY_ID[itemId] || null;
|
|
335
|
+
|
|
336
|
+
/** All registry entries of a given item type. */
|
|
337
|
+
export const getDefaultCyberiaItemsByItemType = (itemType) =>
|
|
338
|
+
DefaultCyberiaItems.filter((entry) => entry.item.type === itemType);
|
|
339
|
+
|
|
340
|
+
/** All registry entries whose item type is permitted on a given entity type. */
|
|
341
|
+
export const getDefaultCyberiaItemsByEntityType = (entityType) => {
|
|
342
|
+
const allowed = ENTITY_TYPE_TO_ITEM_TYPES[entityType] || [];
|
|
343
|
+
return DefaultCyberiaItems.filter((entry) => allowed.includes(entry.item.type));
|
|
344
|
+
};
|
|
345
|
+
|
|
346
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
347
|
+
// Presentation defaults
|
|
348
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
349
|
+
|
|
350
|
+
/**
|
|
351
|
+
* Named colour palette. Solid-color fallbacks for entity types, plus
|
|
352
|
+
* UI-only entries (WEAPON, SELF_BORDER) the renderer uses for HUD.
|
|
353
|
+
*
|
|
354
|
+
* Keys are stable identifiers shared with the C client's local palette.
|
|
355
|
+
* Adding a new key here requires adding it to
|
|
356
|
+
* `cyberia-client/src/domain/presentation_defaults.h` to keep parity.
|
|
357
|
+
*
|
|
358
|
+
* @type {ReadonlyArray<{key:string,r:number,g:number,b:number,a:number}>}
|
|
359
|
+
*/
|
|
360
|
+
export const PALETTE = Object.freeze([
|
|
361
|
+
{ key: 'BACKGROUND', r: 30, g: 30, b: 30, a: 255 },
|
|
362
|
+
{ key: 'FLOOR_BACKGROUND', r: 45, g: 45, b: 45, a: 255 },
|
|
363
|
+
{ key: 'FLOOR', r: 60, g: 60, b: 60, a: 255 },
|
|
364
|
+
{ key: 'OBSTACLE', r: 80, g: 80, b: 80, a: 255 },
|
|
365
|
+
{ key: 'PORTAL', r: 0, g: 200, b: 200, a: 255 },
|
|
366
|
+
{ key: 'PORTAL_INTER_PORTAL', r: 0, g: 200, b: 200, a: 255 },
|
|
367
|
+
{ key: 'PORTAL_INTER_RANDOM', r: 80, g: 130, b: 255, a: 255 },
|
|
368
|
+
{ key: 'PORTAL_INTRA_RANDOM', r: 220, g: 200, b: 50, a: 255 },
|
|
369
|
+
{ key: 'PORTAL_INTRA_PORTAL', r: 200, g: 80, b: 200, a: 255 },
|
|
370
|
+
{ key: 'FOREGROUND', r: 255, g: 255, b: 255, a: 189 },
|
|
371
|
+
{ key: 'PLAYER', r: 0, g: 255, b: 0, a: 255 },
|
|
372
|
+
{ key: 'OTHER_PLAYER', r: 128, g: 128, b: 255, a: 255 },
|
|
373
|
+
{ key: 'BOT', r: 255, g: 128, b: 0, a: 255 },
|
|
374
|
+
{ key: 'GHOST', r: 200, g: 200, b: 255, a: 100 },
|
|
375
|
+
{ key: 'COIN', r: 255, g: 215, b: 0, a: 255 },
|
|
376
|
+
{ key: 'SKILL', r: 255, g: 255, b: 50, a: 255 },
|
|
377
|
+
{ key: 'RESOURCE', r: 100, g: 180, b: 80, a: 255 },
|
|
378
|
+
{ key: 'STATIC', r: 120, g: 140, b: 110, a: 255 },
|
|
379
|
+
{ key: 'WEAPON', r: 180, g: 50, b: 50, a: 255 },
|
|
380
|
+
{ key: 'SELF_BORDER', r: 220, g: 190, b: 60, a: 240 },
|
|
381
|
+
]);
|
|
382
|
+
|
|
383
|
+
/**
|
|
384
|
+
* Per-entity-type palette key. Tells the client which palette entry to
|
|
385
|
+
* use as the solid-colour fallback for an entity that has no active
|
|
386
|
+
* ObjectLayer items.
|
|
387
|
+
*/
|
|
388
|
+
export const ENTITY_COLOR_KEYS = Object.freeze([
|
|
389
|
+
{ entityType: 'player', colorKey: 'PLAYER' },
|
|
390
|
+
{ entityType: 'other_player', colorKey: 'OTHER_PLAYER' },
|
|
391
|
+
{ entityType: 'bot', colorKey: 'BOT' },
|
|
392
|
+
{ entityType: 'skill', colorKey: 'SKILL' },
|
|
393
|
+
{ entityType: 'coin', colorKey: 'COIN' },
|
|
394
|
+
{ entityType: 'floor', colorKey: 'FLOOR' },
|
|
395
|
+
{ entityType: 'obstacle', colorKey: 'OBSTACLE' },
|
|
396
|
+
{ entityType: 'portal', colorKey: 'PORTAL' },
|
|
397
|
+
{ entityType: 'foreground', colorKey: 'FOREGROUND' },
|
|
398
|
+
{ entityType: 'resource', colorKey: 'RESOURCE' },
|
|
399
|
+
{ entityType: 'static', colorKey: 'STATIC' },
|
|
400
|
+
]);
|
|
401
|
+
|
|
402
|
+
/**
|
|
403
|
+
* Camera and render-tuning defaults. Pure presentation — the cyberia-server
|
|
404
|
+
* never reads any of these. The cyberia-client fetches the whole bundle
|
|
405
|
+
* from /api/cyberia-client-hints/:CYBERIA_CLIENT_HINTS_CODE at startup
|
|
406
|
+
* and treats this object as the on-disk schema.
|
|
407
|
+
*
|
|
408
|
+
* cellSize — pixels per simulation cell on the client viewport.
|
|
409
|
+
* Authoritative server works in cell units; this value
|
|
410
|
+
* only governs how cells map to pixels for rendering.
|
|
411
|
+
* interpolationMs — render-time smoothing window for remote entities.
|
|
412
|
+
* Server ticks at TickRate, snapshots at SnapshotRate,
|
|
413
|
+
* client decides how to display the stream.
|
|
414
|
+
* defaultObjWidth /
|
|
415
|
+
* defaultObjHeight — default entity dimensions used by the world editor
|
|
416
|
+
* and the client when a doc omits dims. Presentation
|
|
417
|
+
* because dims-in-cells is just a visual sizing.
|
|
418
|
+
* fontFamily — TTF file name under engine `assets/fonts/`. When set, the
|
|
419
|
+
* cyberia-client fetches `assets/fonts/<fontFamily>` and loads
|
|
420
|
+
* it as the main default font for all text. Empty = raylib's
|
|
421
|
+
* built-in font.
|
|
422
|
+
* fontFactorSize — uniform multiplier applied to every text size, so a
|
|
423
|
+
* deployment can scale all UI/HUD text without per-call edits.
|
|
424
|
+
*/
|
|
425
|
+
export const RENDER_DEFAULTS = Object.freeze({
|
|
426
|
+
cellSize: 45,
|
|
427
|
+
defaultObjWidth: 1,
|
|
428
|
+
defaultObjHeight: 1,
|
|
429
|
+
cameraSmoothing: 0.1,
|
|
430
|
+
cameraZoom: 1.0,
|
|
431
|
+
defaultWidthScreenFactor: 1,
|
|
432
|
+
defaultHeightScreenFactor: 1,
|
|
433
|
+
interpolationMs: 100,
|
|
434
|
+
devUi: false,
|
|
435
|
+
// EndlessBossBattleRegular-v7Ey.ttf
|
|
436
|
+
// Pixeboy-z8XGD.ttf
|
|
437
|
+
// PressStart2P-Regular.ttf
|
|
438
|
+
// VT323-Regular.ttf
|
|
439
|
+
// Jersey15-Regular.ttf
|
|
440
|
+
|
|
441
|
+
fontFamily: 'Jersey15-Regular.ttf',
|
|
442
|
+
fontFactorSize: 1.4,
|
|
443
|
+
});
|
|
444
|
+
|
|
445
|
+
/**
|
|
446
|
+
* Status-icon presentation half. The numeric `id` is shared with the
|
|
447
|
+
* simulation (it travels on the wire as a u8 inside the AOI binary
|
|
448
|
+
* entity-status indicator field). Everything else here — icon filename,
|
|
449
|
+
* border colour, bounce animation — is purely cosmetic and resolved on
|
|
450
|
+
* the client.
|
|
451
|
+
*
|
|
452
|
+
* IDs MUST stay aligned with `STATUS_ICONS` in `cyberia-server-defaults.js`.
|
|
453
|
+
*/
|
|
454
|
+
export const STATUS_ICONS_PRESENTATION = Object.freeze([
|
|
455
|
+
{ id: 0, iconId: null, bounce: false, borderColor: { r: 70, g: 70, b: 120, a: 200 } },
|
|
456
|
+
{ id: 1, iconId: 'arrow-down-gray', bounce: false, borderColor: { r: 130, g: 140, b: 160, a: 200 } },
|
|
457
|
+
{ id: 2, iconId: 'arrow-down-red', bounce: true, borderColor: { r: 210, g: 50, b: 50, a: 240 } },
|
|
458
|
+
{ id: 3, iconId: 'chat', bounce: true, borderColor: { r: 80, g: 160, b: 220, a: 240 } },
|
|
459
|
+
{ id: 4, iconId: 'arrow-down', bounce: false, borderColor: { r: 60, g: 190, b: 90, a: 240 } },
|
|
460
|
+
{ id: 5, iconId: 'clock', bounce: false, borderColor: { r: 160, g: 130, b: 200, a: 200 } },
|
|
461
|
+
{ id: 6, iconId: 'arrow-down-gray', bounce: false, borderColor: { r: 100, g: 180, b: 80, a: 220 } },
|
|
462
|
+
{ id: 7, iconId: 'clock', bounce: false, borderColor: { r: 160, g: 130, b: 200, a: 200 } },
|
|
463
|
+
{ id: 8, iconId: 'hand', bounce: true, borderColor: { r: 80, g: 160, b: 220, a: 240 } },
|
|
464
|
+
{ id: 9, iconId: 'quest', bounce: true, borderColor: { r: 220, g: 190, b: 60, a: 240 } },
|
|
465
|
+
{ id: 10, iconId: 'transport', bounce: false, borderColor: { r: 90, g: 170, b: 230, a: 240 } },
|
|
466
|
+
{ id: 11, iconId: 'transport-random', bounce: false, borderColor: { r: 150, g: 130, b: 230, a: 240 } },
|
|
467
|
+
]);
|
|
468
|
+
|
|
469
|
+
/**
|
|
470
|
+
* Build the full client-hints document for a given instance.
|
|
471
|
+
*
|
|
472
|
+
* @param {Object} [overrides] DB document fragments that may override
|
|
473
|
+
* palette colours, render defaults, status-icon iconIds, etc.
|
|
474
|
+
* Anything missing falls back to the canonical defaults exported here.
|
|
475
|
+
* @returns {Object} JSON-friendly client hints object.
|
|
476
|
+
*/
|
|
477
|
+
export function buildClientHints(overrides = {}) {
|
|
478
|
+
const ov = overrides || {};
|
|
479
|
+
|
|
480
|
+
// Palette merge: canonical first, DB overrides keyed by name, append any
|
|
481
|
+
// truly new keys at the end.
|
|
482
|
+
const dbColors = new Map((ov.colors || []).map((c) => [c.key, c]));
|
|
483
|
+
const palette = PALETTE.map((c) => {
|
|
484
|
+
const o = dbColors.get(c.key);
|
|
485
|
+
return o ? { key: c.key, r: o.r ?? c.r, g: o.g ?? c.g, b: o.b ?? c.b, a: o.a ?? c.a } : { ...c };
|
|
486
|
+
});
|
|
487
|
+
for (const [key, c] of dbColors) {
|
|
488
|
+
if (!palette.some((p) => p.key === key)) {
|
|
489
|
+
palette.push({ key, r: c.r ?? 0, g: c.g ?? 0, b: c.b ?? 0, a: c.a ?? 255 });
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
// Status icons: only iconId is overridable. Border colour stays canonical
|
|
494
|
+
// because the DB schema defaults for that field are placeholder values.
|
|
495
|
+
const dbIcons = new Map((ov.statusIcons || []).map((s) => [s.id, s]));
|
|
496
|
+
const statusIcons = STATUS_ICONS_PRESENTATION.map((canon) => {
|
|
497
|
+
const o = dbIcons.get(canon.id);
|
|
498
|
+
return {
|
|
499
|
+
id: canon.id,
|
|
500
|
+
iconId: (o && o.iconId) || canon.iconId || '',
|
|
501
|
+
bounce: canon.bounce,
|
|
502
|
+
borderColor: { ...canon.borderColor },
|
|
503
|
+
};
|
|
504
|
+
});
|
|
505
|
+
|
|
506
|
+
return {
|
|
507
|
+
palette,
|
|
508
|
+
entityColorKeys: ENTITY_COLOR_KEYS.map((e) => ({ ...e })),
|
|
509
|
+
statusIcons,
|
|
510
|
+
cellSize: ov.cellSize ?? RENDER_DEFAULTS.cellSize,
|
|
511
|
+
defaultObjWidth: ov.defaultObjWidth ?? RENDER_DEFAULTS.defaultObjWidth,
|
|
512
|
+
defaultObjHeight: ov.defaultObjHeight ?? RENDER_DEFAULTS.defaultObjHeight,
|
|
513
|
+
cameraSmoothing: ov.cameraSmoothing ?? RENDER_DEFAULTS.cameraSmoothing,
|
|
514
|
+
cameraZoom: ov.cameraZoom ?? RENDER_DEFAULTS.cameraZoom,
|
|
515
|
+
defaultWidthScreenFactor: ov.defaultWidthScreenFactor ?? RENDER_DEFAULTS.defaultWidthScreenFactor,
|
|
516
|
+
defaultHeightScreenFactor: ov.defaultHeightScreenFactor ?? RENDER_DEFAULTS.defaultHeightScreenFactor,
|
|
517
|
+
interpolationMs: ov.interpolationMs ?? RENDER_DEFAULTS.interpolationMs,
|
|
518
|
+
devUi: ov.devUi ?? RENDER_DEFAULTS.devUi,
|
|
519
|
+
fontFamily: ov.fontFamily ?? RENDER_DEFAULTS.fontFamily,
|
|
520
|
+
fontFactorSize: ov.fontFactorSize ?? RENDER_DEFAULTS.fontFactorSize,
|
|
521
|
+
};
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
/**
|
|
525
|
+
* Canonical hints document — what the client gets when no DB overrides
|
|
526
|
+
* exist (or the engine endpoint is unreachable).
|
|
527
|
+
*/
|
|
528
|
+
export const CYBERIA_CLIENT_HINTS_DEFAULTS = buildClientHints({});
|