@dcl/hammurabi-server 1.0.0-17268386187.commit-b609629
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/CLAUDE.md +90 -0
- package/LICENSE +201 -0
- package/README.md +125 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +79 -0
- package/dist/cli.js.map +1 -0
- package/dist/lib/babylon/avatar-rendering-system.d.ts +16 -0
- package/dist/lib/babylon/avatar-rendering-system.d.ts.map +1 -0
- package/dist/lib/babylon/avatar-rendering-system.js +96 -0
- package/dist/lib/babylon/avatar-rendering-system.js.map +1 -0
- package/dist/lib/babylon/avatars/AvatarRenderer.d.ts +40 -0
- package/dist/lib/babylon/avatars/AvatarRenderer.d.ts.map +1 -0
- package/dist/lib/babylon/avatars/AvatarRenderer.js +260 -0
- package/dist/lib/babylon/avatars/AvatarRenderer.js.map +1 -0
- package/dist/lib/babylon/avatars/CharacterController.d.ts +88 -0
- package/dist/lib/babylon/avatars/CharacterController.d.ts.map +1 -0
- package/dist/lib/babylon/avatars/CharacterController.js +463 -0
- package/dist/lib/babylon/avatars/CharacterController.js.map +1 -0
- package/dist/lib/babylon/avatars/adr-65/body.d.ts +4 -0
- package/dist/lib/babylon/avatars/adr-65/body.d.ts.map +1 -0
- package/dist/lib/babylon/avatars/adr-65/body.js +47 -0
- package/dist/lib/babylon/avatars/adr-65/body.js.map +1 -0
- package/dist/lib/babylon/avatars/adr-65/customizations.d.ts +11 -0
- package/dist/lib/babylon/avatars/adr-65/customizations.d.ts.map +1 -0
- package/dist/lib/babylon/avatars/adr-65/customizations.js +111 -0
- package/dist/lib/babylon/avatars/adr-65/customizations.js.map +1 -0
- package/dist/lib/babylon/avatars/adr-65/emote.d.ts +9 -0
- package/dist/lib/babylon/avatars/adr-65/emote.d.ts.map +1 -0
- package/dist/lib/babylon/avatars/adr-65/emote.js +46 -0
- package/dist/lib/babylon/avatars/adr-65/emote.js.map +1 -0
- package/dist/lib/babylon/avatars/adr-65/loader.d.ts +8 -0
- package/dist/lib/babylon/avatars/adr-65/loader.d.ts.map +1 -0
- package/dist/lib/babylon/avatars/adr-65/loader.js +54 -0
- package/dist/lib/babylon/avatars/adr-65/loader.js.map +1 -0
- package/dist/lib/babylon/avatars/adr-65/representation.d.ts +12 -0
- package/dist/lib/babylon/avatars/adr-65/representation.d.ts.map +1 -0
- package/dist/lib/babylon/avatars/adr-65/representation.js +77 -0
- package/dist/lib/babylon/avatars/adr-65/representation.js.map +1 -0
- package/dist/lib/babylon/avatars/adr-65/slots.d.ts +5 -0
- package/dist/lib/babylon/avatars/adr-65/slots.d.ts.map +1 -0
- package/dist/lib/babylon/avatars/adr-65/slots.js +62 -0
- package/dist/lib/babylon/avatars/adr-65/slots.js.map +1 -0
- package/dist/lib/babylon/avatars/adr-65/types.d.ts +17 -0
- package/dist/lib/babylon/avatars/adr-65/types.d.ts.map +1 -0
- package/dist/lib/babylon/avatars/adr-65/types.js +3 -0
- package/dist/lib/babylon/avatars/adr-65/types.js.map +1 -0
- package/dist/lib/babylon/avatars/adr-65/utils.d.ts +8 -0
- package/dist/lib/babylon/avatars/adr-65/utils.d.ts.map +1 -0
- package/dist/lib/babylon/avatars/adr-65/utils.js +29 -0
- package/dist/lib/babylon/avatars/adr-65/utils.js.map +1 -0
- package/dist/lib/babylon/avatars/adr-65/wearable.d.ts +7 -0
- package/dist/lib/babylon/avatars/adr-65/wearable.d.ts.map +1 -0
- package/dist/lib/babylon/avatars/adr-65/wearable.js +64 -0
- package/dist/lib/babylon/avatars/adr-65/wearable.js.map +1 -0
- package/dist/lib/babylon/avatars/avatar-asset-manager.d.ts +12 -0
- package/dist/lib/babylon/avatars/avatar-asset-manager.d.ts.map +1 -0
- package/dist/lib/babylon/avatars/avatar-asset-manager.js +31 -0
- package/dist/lib/babylon/avatars/avatar-asset-manager.js.map +1 -0
- package/dist/lib/babylon/avatars/loader.d.ts +6 -0
- package/dist/lib/babylon/avatars/loader.d.ts.map +1 -0
- package/dist/lib/babylon/avatars/loader.js +108 -0
- package/dist/lib/babylon/avatars/loader.js.map +1 -0
- package/dist/lib/babylon/avatars/urn.d.ts +2 -0
- package/dist/lib/babylon/avatars/urn.d.ts.map +1 -0
- package/dist/lib/babylon/avatars/urn.js +9 -0
- package/dist/lib/babylon/avatars/urn.js.map +1 -0
- package/dist/lib/babylon/index.d.ts +6 -0
- package/dist/lib/babylon/index.d.ts.map +1 -0
- package/dist/lib/babylon/index.js +85 -0
- package/dist/lib/babylon/index.js.map +1 -0
- package/dist/lib/babylon/input.d.ts +35 -0
- package/dist/lib/babylon/input.d.ts.map +1 -0
- package/dist/lib/babylon/input.js +137 -0
- package/dist/lib/babylon/input.js.map +1 -0
- package/dist/lib/babylon/scene/AssetManager.d.ts +19 -0
- package/dist/lib/babylon/scene/AssetManager.d.ts.map +1 -0
- package/dist/lib/babylon/scene/AssetManager.js +271 -0
- package/dist/lib/babylon/scene/AssetManager.js.map +1 -0
- package/dist/lib/babylon/scene/BabylonEntity.d.ts +84 -0
- package/dist/lib/babylon/scene/BabylonEntity.d.ts.map +1 -0
- package/dist/lib/babylon/scene/BabylonEntity.js +174 -0
- package/dist/lib/babylon/scene/BabylonEntity.js.map +1 -0
- package/dist/lib/babylon/scene/connect-context-rpc.d.ts +8 -0
- package/dist/lib/babylon/scene/connect-context-rpc.d.ts.map +1 -0
- package/dist/lib/babylon/scene/connect-context-rpc.js +210 -0
- package/dist/lib/babylon/scene/connect-context-rpc.js.map +1 -0
- package/dist/lib/babylon/scene/coordinates.d.ts +5 -0
- package/dist/lib/babylon/scene/coordinates.d.ts.map +1 -0
- package/dist/lib/babylon/scene/coordinates.js +17 -0
- package/dist/lib/babylon/scene/coordinates.js.map +1 -0
- package/dist/lib/babylon/scene/hot-reload.d.ts +9 -0
- package/dist/lib/babylon/scene/hot-reload.d.ts.map +1 -0
- package/dist/lib/babylon/scene/hot-reload.js +65 -0
- package/dist/lib/babylon/scene/hot-reload.js.map +1 -0
- package/dist/lib/babylon/scene/load.d.ts +54 -0
- package/dist/lib/babylon/scene/load.d.ts.map +1 -0
- package/dist/lib/babylon/scene/load.js +154 -0
- package/dist/lib/babylon/scene/load.js.map +1 -0
- package/dist/lib/babylon/scene/logic/apply-animations.d.ts +3 -0
- package/dist/lib/babylon/scene/logic/apply-animations.d.ts.map +1 -0
- package/dist/lib/babylon/scene/logic/apply-animations.js +50 -0
- package/dist/lib/babylon/scene/logic/apply-animations.js.map +1 -0
- package/dist/lib/babylon/scene/logic/billboards.d.ts +3 -0
- package/dist/lib/babylon/scene/logic/billboards.d.ts.map +1 -0
- package/dist/lib/babylon/scene/logic/billboards.js +12 -0
- package/dist/lib/babylon/scene/logic/billboards.js.map +1 -0
- package/dist/lib/babylon/scene/logic/camera-follows-player.d.ts +7 -0
- package/dist/lib/babylon/scene/logic/camera-follows-player.d.ts.map +1 -0
- package/dist/lib/babylon/scene/logic/camera-follows-player.js +35 -0
- package/dist/lib/babylon/scene/logic/camera-follows-player.js.map +1 -0
- package/dist/lib/babylon/scene/logic/colliders.d.ts +9 -0
- package/dist/lib/babylon/scene/logic/colliders.d.ts.map +1 -0
- package/dist/lib/babylon/scene/logic/colliders.js +79 -0
- package/dist/lib/babylon/scene/logic/colliders.js.map +1 -0
- package/dist/lib/babylon/scene/logic/cyclic-transform.d.ts +12 -0
- package/dist/lib/babylon/scene/logic/cyclic-transform.d.ts.map +1 -0
- package/dist/lib/babylon/scene/logic/cyclic-transform.js +67 -0
- package/dist/lib/babylon/scene/logic/cyclic-transform.js.map +1 -0
- package/dist/lib/babylon/scene/logic/delayed-interpolation.d.ts +27 -0
- package/dist/lib/babylon/scene/logic/delayed-interpolation.d.ts.map +1 -0
- package/dist/lib/babylon/scene/logic/delayed-interpolation.js +49 -0
- package/dist/lib/babylon/scene/logic/delayed-interpolation.js.map +1 -0
- package/dist/lib/babylon/scene/logic/easings.d.ts +7 -0
- package/dist/lib/babylon/scene/logic/easings.d.ts.map +1 -0
- package/dist/lib/babylon/scene/logic/easings.js +100 -0
- package/dist/lib/babylon/scene/logic/easings.js.map +1 -0
- package/dist/lib/babylon/scene/logic/hide-camera-obstuction-system.d.ts +5 -0
- package/dist/lib/babylon/scene/logic/hide-camera-obstuction-system.d.ts.map +1 -0
- package/dist/lib/babylon/scene/logic/hide-camera-obstuction-system.js +145 -0
- package/dist/lib/babylon/scene/logic/hide-camera-obstuction-system.js.map +1 -0
- package/dist/lib/babylon/scene/logic/local-avatar-scene.d.ts +10 -0
- package/dist/lib/babylon/scene/logic/local-avatar-scene.d.ts.map +1 -0
- package/dist/lib/babylon/scene/logic/local-avatar-scene.js +50 -0
- package/dist/lib/babylon/scene/logic/local-avatar-scene.js.map +1 -0
- package/dist/lib/babylon/scene/logic/pointer-events.d.ts +12 -0
- package/dist/lib/babylon/scene/logic/pointer-events.d.ts.map +1 -0
- package/dist/lib/babylon/scene/logic/pointer-events.js +199 -0
- package/dist/lib/babylon/scene/logic/pointer-events.js.map +1 -0
- package/dist/lib/babylon/scene/logic/raycasts.d.ts +21 -0
- package/dist/lib/babylon/scene/logic/raycasts.d.ts.map +1 -0
- package/dist/lib/babylon/scene/logic/raycasts.js +142 -0
- package/dist/lib/babylon/scene/logic/raycasts.js.map +1 -0
- package/dist/lib/babylon/scene/logic/static-entities.d.ts +18 -0
- package/dist/lib/babylon/scene/logic/static-entities.d.ts.map +1 -0
- package/dist/lib/babylon/scene/logic/static-entities.js +64 -0
- package/dist/lib/babylon/scene/logic/static-entities.js.map +1 -0
- package/dist/lib/babylon/scene/nodejs-runtime.d.ts +4 -0
- package/dist/lib/babylon/scene/nodejs-runtime.d.ts.map +1 -0
- package/dist/lib/babylon/scene/nodejs-runtime.js +100 -0
- package/dist/lib/babylon/scene/nodejs-runtime.js.map +1 -0
- package/dist/lib/babylon/scene/scene-context.d.ts +116 -0
- package/dist/lib/babylon/scene/scene-context.d.ts.map +1 -0
- package/dist/lib/babylon/scene/scene-context.js +492 -0
- package/dist/lib/babylon/scene/scene-context.js.map +1 -0
- package/dist/lib/babylon/scene/scene-culling.d.ts +6 -0
- package/dist/lib/babylon/scene/scene-culling.d.ts.map +1 -0
- package/dist/lib/babylon/scene/scene-culling.js +23 -0
- package/dist/lib/babylon/scene/scene-culling.js.map +1 -0
- package/dist/lib/babylon/scene/update-scheduler.d.ts +7 -0
- package/dist/lib/babylon/scene/update-scheduler.d.ts.map +1 -0
- package/dist/lib/babylon/scene/update-scheduler.js +40 -0
- package/dist/lib/babylon/scene/update-scheduler.js.map +1 -0
- package/dist/lib/babylon/time-based-animation.d.ts +13 -0
- package/dist/lib/babylon/time-based-animation.d.ts.map +1 -0
- package/dist/lib/babylon/time-based-animation.js +35 -0
- package/dist/lib/babylon/time-based-animation.js.map +1 -0
- package/dist/lib/babylon/visual/ambientLights.d.ts +6 -0
- package/dist/lib/babylon/visual/ambientLights.d.ts.map +1 -0
- package/dist/lib/babylon/visual/ambientLights.js +65 -0
- package/dist/lib/babylon/visual/ambientLights.js.map +1 -0
- package/dist/lib/babylon/visual/glowLayer.d.ts +6 -0
- package/dist/lib/babylon/visual/glowLayer.d.ts.map +1 -0
- package/dist/lib/babylon/visual/glowLayer.js +59 -0
- package/dist/lib/babylon/visual/glowLayer.js.map +1 -0
- package/dist/lib/babylon/visual/parcelOutline.d.ts +7 -0
- package/dist/lib/babylon/visual/parcelOutline.d.ts.map +1 -0
- package/dist/lib/babylon/visual/parcelOutline.js +88 -0
- package/dist/lib/babylon/visual/parcelOutline.js.map +1 -0
- package/dist/lib/babylon/visual/reticle.d.ts +3 -0
- package/dist/lib/babylon/visual/reticle.d.ts.map +1 -0
- package/dist/lib/babylon/visual/reticle.js +60 -0
- package/dist/lib/babylon/visual/reticle.js.map +1 -0
- package/dist/lib/babylon/visual/ui.d.ts +8 -0
- package/dist/lib/babylon/visual/ui.d.ts.map +1 -0
- package/dist/lib/babylon/visual/ui.js +54 -0
- package/dist/lib/babylon/visual/ui.js.map +1 -0
- package/dist/lib/common-runtime/game-loop.d.ts +4 -0
- package/dist/lib/common-runtime/game-loop.d.ts.map +1 -0
- package/dist/lib/common-runtime/game-loop.js +31 -0
- package/dist/lib/common-runtime/game-loop.js.map +1 -0
- package/dist/lib/common-runtime/modules.d.ts +244 -0
- package/dist/lib/common-runtime/modules.d.ts.map +1 -0
- package/dist/lib/common-runtime/modules.js +74 -0
- package/dist/lib/common-runtime/modules.js.map +1 -0
- package/dist/lib/common-runtime/startup.d.ts +8 -0
- package/dist/lib/common-runtime/startup.d.ts.map +1 -0
- package/dist/lib/common-runtime/startup.js +45 -0
- package/dist/lib/common-runtime/startup.js.map +1 -0
- package/dist/lib/common-runtime/types.d.ts +15 -0
- package/dist/lib/common-runtime/types.d.ts.map +1 -0
- package/dist/lib/common-runtime/types.js +7 -0
- package/dist/lib/common-runtime/types.js.map +1 -0
- package/dist/lib/decentraland/ByteBuffer/index.d.ts +75 -0
- package/dist/lib/decentraland/ByteBuffer/index.d.ts.map +1 -0
- package/dist/lib/decentraland/ByteBuffer/index.js +279 -0
- package/dist/lib/decentraland/ByteBuffer/index.js.map +1 -0
- package/dist/lib/decentraland/ByteBuffer/types.d.ts +109 -0
- package/dist/lib/decentraland/ByteBuffer/types.d.ts.map +1 -0
- package/dist/lib/decentraland/ByteBuffer/types.js +3 -0
- package/dist/lib/decentraland/ByteBuffer/types.js.map +1 -0
- package/dist/lib/decentraland/communications/CommsTransportWrapper.d.ts +45 -0
- package/dist/lib/decentraland/communications/CommsTransportWrapper.d.ts.map +1 -0
- package/dist/lib/decentraland/communications/CommsTransportWrapper.js +174 -0
- package/dist/lib/decentraland/communications/CommsTransportWrapper.js.map +1 -0
- package/dist/lib/decentraland/communications/avatar-communication-system.d.ts +18 -0
- package/dist/lib/decentraland/communications/avatar-communication-system.d.ts.map +1 -0
- package/dist/lib/decentraland/communications/avatar-communication-system.js +203 -0
- package/dist/lib/decentraland/communications/avatar-communication-system.js.map +1 -0
- package/dist/lib/decentraland/communications/connect-adapter.d.ts +5 -0
- package/dist/lib/decentraland/communications/connect-adapter.d.ts.map +1 -0
- package/dist/lib/decentraland/communications/connect-adapter.js +110 -0
- package/dist/lib/decentraland/communications/connect-adapter.js.map +1 -0
- package/dist/lib/decentraland/communications/connect-transport.d.ts +5 -0
- package/dist/lib/decentraland/communications/connect-transport.d.ts.map +1 -0
- package/dist/lib/decentraland/communications/connect-transport.js +32 -0
- package/dist/lib/decentraland/communications/connect-transport.js.map +1 -0
- package/dist/lib/decentraland/communications/networked-profile-system.d.ts +10 -0
- package/dist/lib/decentraland/communications/networked-profile-system.d.ts.map +1 -0
- package/dist/lib/decentraland/communications/networked-profile-system.js +73 -0
- package/dist/lib/decentraland/communications/networked-profile-system.js.map +1 -0
- package/dist/lib/decentraland/communications/player-entity-manager.d.ts +55 -0
- package/dist/lib/decentraland/communications/player-entity-manager.d.ts.map +1 -0
- package/dist/lib/decentraland/communications/player-entity-manager.js +167 -0
- package/dist/lib/decentraland/communications/player-entity-manager.js.map +1 -0
- package/dist/lib/decentraland/communications/position-report-system.d.ts +8 -0
- package/dist/lib/decentraland/communications/position-report-system.d.ts.map +1 -0
- package/dist/lib/decentraland/communications/position-report-system.js +51 -0
- package/dist/lib/decentraland/communications/position-report-system.js.map +1 -0
- package/dist/lib/decentraland/communications/realm-communications-system.d.ts +17 -0
- package/dist/lib/decentraland/communications/realm-communications-system.d.ts.map +1 -0
- package/dist/lib/decentraland/communications/realm-communications-system.js +111 -0
- package/dist/lib/decentraland/communications/realm-communications-system.js.map +1 -0
- package/dist/lib/decentraland/communications/scene-comms.d.ts +9 -0
- package/dist/lib/decentraland/communications/scene-comms.d.ts.map +1 -0
- package/dist/lib/decentraland/communications/scene-comms.js +20 -0
- package/dist/lib/decentraland/communications/scene-comms.js.map +1 -0
- package/dist/lib/decentraland/communications/transports/livekit.d.ts +27 -0
- package/dist/lib/decentraland/communications/transports/livekit.d.ts.map +1 -0
- package/dist/lib/decentraland/communications/transports/livekit.js +135 -0
- package/dist/lib/decentraland/communications/transports/livekit.js.map +1 -0
- package/dist/lib/decentraland/communications/transports/ws-room.d.ts +26 -0
- package/dist/lib/decentraland/communications/transports/ws-room.d.ts.map +1 -0
- package/dist/lib/decentraland/communications/transports/ws-room.js +235 -0
- package/dist/lib/decentraland/communications/transports/ws-room.js.map +1 -0
- package/dist/lib/decentraland/communications/types.d.ts +76 -0
- package/dist/lib/decentraland/communications/types.d.ts.map +1 -0
- package/dist/lib/decentraland/communications/types.js +6 -0
- package/dist/lib/decentraland/communications/types.js.map +1 -0
- package/dist/lib/decentraland/communications/ws-async-channel.d.ts +6 -0
- package/dist/lib/decentraland/communications/ws-async-channel.d.ts.map +1 -0
- package/dist/lib/decentraland/communications/ws-async-channel.js +52 -0
- package/dist/lib/decentraland/communications/ws-async-channel.js.map +1 -0
- package/dist/lib/decentraland/crdt-internal/components.d.ts +156 -0
- package/dist/lib/decentraland/crdt-internal/components.d.ts.map +1 -0
- package/dist/lib/decentraland/crdt-internal/components.js +8 -0
- package/dist/lib/decentraland/crdt-internal/components.js.map +1 -0
- package/dist/lib/decentraland/crdt-internal/conflict-resolution.d.ts +45 -0
- package/dist/lib/decentraland/crdt-internal/conflict-resolution.d.ts.map +1 -0
- package/dist/lib/decentraland/crdt-internal/conflict-resolution.js +49 -0
- package/dist/lib/decentraland/crdt-internal/conflict-resolution.js.map +1 -0
- package/dist/lib/decentraland/crdt-internal/dataCompare.d.ts +6 -0
- package/dist/lib/decentraland/crdt-internal/dataCompare.d.ts.map +1 -0
- package/dist/lib/decentraland/crdt-internal/dataCompare.js +34 -0
- package/dist/lib/decentraland/crdt-internal/dataCompare.js.map +1 -0
- package/dist/lib/decentraland/crdt-internal/generational-index-pool.d.ts +22 -0
- package/dist/lib/decentraland/crdt-internal/generational-index-pool.d.ts.map +1 -0
- package/dist/lib/decentraland/crdt-internal/generational-index-pool.js +91 -0
- package/dist/lib/decentraland/crdt-internal/generational-index-pool.js.map +1 -0
- package/dist/lib/decentraland/crdt-internal/grow-only-set.d.ts +10 -0
- package/dist/lib/decentraland/crdt-internal/grow-only-set.d.ts.map +1 -0
- package/dist/lib/decentraland/crdt-internal/grow-only-set.js +129 -0
- package/dist/lib/decentraland/crdt-internal/grow-only-set.js.map +1 -0
- package/dist/lib/decentraland/crdt-internal/last-write-win-element-set.d.ts +11 -0
- package/dist/lib/decentraland/crdt-internal/last-write-win-element-set.d.ts.map +1 -0
- package/dist/lib/decentraland/crdt-internal/last-write-win-element-set.js +224 -0
- package/dist/lib/decentraland/crdt-internal/last-write-win-element-set.js.map +1 -0
- package/dist/lib/decentraland/crdt-wire-protocol/appendValue.d.ts +15 -0
- package/dist/lib/decentraland/crdt-wire-protocol/appendValue.d.ts.map +1 -0
- package/dist/lib/decentraland/crdt-wire-protocol/appendValue.js +50 -0
- package/dist/lib/decentraland/crdt-wire-protocol/appendValue.js.map +1 -0
- package/dist/lib/decentraland/crdt-wire-protocol/crdtMessageProtocol.d.ts +31 -0
- package/dist/lib/decentraland/crdt-wire-protocol/crdtMessageProtocol.d.ts.map +1 -0
- package/dist/lib/decentraland/crdt-wire-protocol/crdtMessageProtocol.js +72 -0
- package/dist/lib/decentraland/crdt-wire-protocol/crdtMessageProtocol.js.map +1 -0
- package/dist/lib/decentraland/crdt-wire-protocol/deleteComponent.d.ts +14 -0
- package/dist/lib/decentraland/crdt-wire-protocol/deleteComponent.d.ts.map +1 -0
- package/dist/lib/decentraland/crdt-wire-protocol/deleteComponent.js +44 -0
- package/dist/lib/decentraland/crdt-wire-protocol/deleteComponent.js.map +1 -0
- package/dist/lib/decentraland/crdt-wire-protocol/deleteEntity.d.ts +11 -0
- package/dist/lib/decentraland/crdt-wire-protocol/deleteEntity.d.ts.map +1 -0
- package/dist/lib/decentraland/crdt-wire-protocol/deleteEntity.js +35 -0
- package/dist/lib/decentraland/crdt-wire-protocol/deleteEntity.js.map +1 -0
- package/dist/lib/decentraland/crdt-wire-protocol/index.d.ts +8 -0
- package/dist/lib/decentraland/crdt-wire-protocol/index.d.ts.map +1 -0
- package/dist/lib/decentraland/crdt-wire-protocol/index.js +24 -0
- package/dist/lib/decentraland/crdt-wire-protocol/index.js.map +1 -0
- package/dist/lib/decentraland/crdt-wire-protocol/message.d.ts +17 -0
- package/dist/lib/decentraland/crdt-wire-protocol/message.d.ts.map +1 -0
- package/dist/lib/decentraland/crdt-wire-protocol/message.js +49 -0
- package/dist/lib/decentraland/crdt-wire-protocol/message.js.map +1 -0
- package/dist/lib/decentraland/crdt-wire-protocol/prettyPrint.d.ts +4 -0
- package/dist/lib/decentraland/crdt-wire-protocol/prettyPrint.d.ts.map +1 -0
- package/dist/lib/decentraland/crdt-wire-protocol/prettyPrint.js +26 -0
- package/dist/lib/decentraland/crdt-wire-protocol/prettyPrint.js.map +1 -0
- package/dist/lib/decentraland/crdt-wire-protocol/putComponent.d.ts +15 -0
- package/dist/lib/decentraland/crdt-wire-protocol/putComponent.d.ts.map +1 -0
- package/dist/lib/decentraland/crdt-wire-protocol/putComponent.js +48 -0
- package/dist/lib/decentraland/crdt-wire-protocol/putComponent.js.map +1 -0
- package/dist/lib/decentraland/crdt-wire-protocol/types.d.ts +80 -0
- package/dist/lib/decentraland/crdt-wire-protocol/types.d.ts.map +1 -0
- package/dist/lib/decentraland/crdt-wire-protocol/types.js +15 -0
- package/dist/lib/decentraland/crdt-wire-protocol/types.js.map +1 -0
- package/dist/lib/decentraland/identifiers.d.ts +6 -0
- package/dist/lib/decentraland/identifiers.d.ts.map +1 -0
- package/dist/lib/decentraland/identifiers.js +22 -0
- package/dist/lib/decentraland/identifiers.js.map +1 -0
- package/dist/lib/decentraland/identity/avatar.d.ts +4 -0
- package/dist/lib/decentraland/identity/avatar.d.ts.map +1 -0
- package/dist/lib/decentraland/identity/avatar.js +57 -0
- package/dist/lib/decentraland/identity/avatar.js.map +1 -0
- package/dist/lib/decentraland/identity/login.d.ts +8 -0
- package/dist/lib/decentraland/identity/login.d.ts.map +1 -0
- package/dist/lib/decentraland/identity/login.js +121 -0
- package/dist/lib/decentraland/identity/login.js.map +1 -0
- package/dist/lib/decentraland/identity/signed-fetch.d.ts +17 -0
- package/dist/lib/decentraland/identity/signed-fetch.d.ts.map +1 -0
- package/dist/lib/decentraland/identity/signed-fetch.js +47 -0
- package/dist/lib/decentraland/identity/signed-fetch.js.map +1 -0
- package/dist/lib/decentraland/identity/types.d.ts +11 -0
- package/dist/lib/decentraland/identity/types.d.ts.map +1 -0
- package/dist/lib/decentraland/identity/types.js +3 -0
- package/dist/lib/decentraland/identity/types.js.map +1 -0
- package/dist/lib/decentraland/positions.d.ts +15 -0
- package/dist/lib/decentraland/positions.d.ts.map +1 -0
- package/dist/lib/decentraland/positions.js +40 -0
- package/dist/lib/decentraland/positions.js.map +1 -0
- package/dist/lib/decentraland/realm/resolution.d.ts +2 -0
- package/dist/lib/decentraland/realm/resolution.d.ts.map +1 -0
- package/dist/lib/decentraland/realm/resolution.js +39 -0
- package/dist/lib/decentraland/realm/resolution.js.map +1 -0
- package/dist/lib/decentraland/scene/content-server-entity.d.ts +34 -0
- package/dist/lib/decentraland/scene/content-server-entity.d.ts.map +1 -0
- package/dist/lib/decentraland/scene/content-server-entity.js +22 -0
- package/dist/lib/decentraland/scene/content-server-entity.js.map +1 -0
- package/dist/lib/decentraland/scene/spawn-points.d.ts +16 -0
- package/dist/lib/decentraland/scene/spawn-points.d.ts.map +1 -0
- package/dist/lib/decentraland/scene/spawn-points.js +78 -0
- package/dist/lib/decentraland/scene/spawn-points.js.map +1 -0
- package/dist/lib/decentraland/scene/types.d.ts +38 -0
- package/dist/lib/decentraland/scene/types.d.ts.map +1 -0
- package/dist/lib/decentraland/scene/types.js +3 -0
- package/dist/lib/decentraland/scene/types.js.map +1 -0
- package/dist/lib/decentraland/sdk-components/animator-component.d.ts +3 -0
- package/dist/lib/decentraland/sdk-components/animator-component.d.ts.map +1 -0
- package/dist/lib/decentraland/sdk-components/animator-component.js +12 -0
- package/dist/lib/decentraland/sdk-components/animator-component.js.map +1 -0
- package/dist/lib/decentraland/sdk-components/avatar-base.d.ts +5 -0
- package/dist/lib/decentraland/sdk-components/avatar-base.d.ts.map +1 -0
- package/dist/lib/decentraland/sdk-components/avatar-base.js +40 -0
- package/dist/lib/decentraland/sdk-components/avatar-base.js.map +1 -0
- package/dist/lib/decentraland/sdk-components/avatar-customizations.d.ts +5 -0
- package/dist/lib/decentraland/sdk-components/avatar-customizations.d.ts.map +1 -0
- package/dist/lib/decentraland/sdk-components/avatar-customizations.js +9 -0
- package/dist/lib/decentraland/sdk-components/avatar-customizations.js.map +1 -0
- package/dist/lib/decentraland/sdk-components/avatar-shape.d.ts +5 -0
- package/dist/lib/decentraland/sdk-components/avatar-shape.d.ts.map +1 -0
- package/dist/lib/decentraland/sdk-components/avatar-shape.js +33 -0
- package/dist/lib/decentraland/sdk-components/avatar-shape.js.map +1 -0
- package/dist/lib/decentraland/sdk-components/billboard-component.d.ts +3 -0
- package/dist/lib/decentraland/sdk-components/billboard-component.d.ts.map +1 -0
- package/dist/lib/decentraland/sdk-components/billboard-component.js +15 -0
- package/dist/lib/decentraland/sdk-components/billboard-component.js.map +1 -0
- package/dist/lib/decentraland/sdk-components/delayed-interpolation.d.ts +3 -0
- package/dist/lib/decentraland/sdk-components/delayed-interpolation.d.ts.map +1 -0
- package/dist/lib/decentraland/sdk-components/delayed-interpolation.js +15 -0
- package/dist/lib/decentraland/sdk-components/delayed-interpolation.js.map +1 -0
- package/dist/lib/decentraland/sdk-components/engine-info.d.ts +3 -0
- package/dist/lib/decentraland/sdk-components/engine-info.d.ts.map +1 -0
- package/dist/lib/decentraland/sdk-components/engine-info.js +7 -0
- package/dist/lib/decentraland/sdk-components/engine-info.js.map +1 -0
- package/dist/lib/decentraland/sdk-components/gltf-component.d.ts +3 -0
- package/dist/lib/decentraland/sdk-components/gltf-component.d.ts.map +1 -0
- package/dist/lib/decentraland/sdk-components/gltf-component.js +114 -0
- package/dist/lib/decentraland/sdk-components/gltf-component.js.map +1 -0
- package/dist/lib/decentraland/sdk-components/gltf-loading-state.d.ts +3 -0
- package/dist/lib/decentraland/sdk-components/gltf-loading-state.d.ts.map +1 -0
- package/dist/lib/decentraland/sdk-components/gltf-loading-state.js +7 -0
- package/dist/lib/decentraland/sdk-components/gltf-loading-state.js.map +1 -0
- package/dist/lib/decentraland/sdk-components/material-component.d.ts +5 -0
- package/dist/lib/decentraland/sdk-components/material-component.d.ts.map +1 -0
- package/dist/lib/decentraland/sdk-components/material-component.js +92 -0
- package/dist/lib/decentraland/sdk-components/material-component.js.map +1 -0
- package/dist/lib/decentraland/sdk-components/mesh-collider-component.d.ts +3 -0
- package/dist/lib/decentraland/sdk-components/mesh-collider-component.d.ts.map +1 -0
- package/dist/lib/decentraland/sdk-components/mesh-collider-component.js +37 -0
- package/dist/lib/decentraland/sdk-components/mesh-collider-component.js.map +1 -0
- package/dist/lib/decentraland/sdk-components/mesh-renderer-component.d.ts +5 -0
- package/dist/lib/decentraland/sdk-components/mesh-renderer-component.d.ts.map +1 -0
- package/dist/lib/decentraland/sdk-components/mesh-renderer-component.js +111 -0
- package/dist/lib/decentraland/sdk-components/mesh-renderer-component.js.map +1 -0
- package/dist/lib/decentraland/sdk-components/pb-based-component-helper.d.ts +10 -0
- package/dist/lib/decentraland/sdk-components/pb-based-component-helper.d.ts.map +1 -0
- package/dist/lib/decentraland/sdk-components/pb-based-component-helper.js +23 -0
- package/dist/lib/decentraland/sdk-components/pb-based-component-helper.js.map +1 -0
- package/dist/lib/decentraland/sdk-components/player-identity-data.d.ts +3 -0
- package/dist/lib/decentraland/sdk-components/player-identity-data.d.ts.map +1 -0
- package/dist/lib/decentraland/sdk-components/player-identity-data.js +7 -0
- package/dist/lib/decentraland/sdk-components/player-identity-data.js.map +1 -0
- package/dist/lib/decentraland/sdk-components/pointer-events-result.d.ts +3 -0
- package/dist/lib/decentraland/sdk-components/pointer-events-result.d.ts.map +1 -0
- package/dist/lib/decentraland/sdk-components/pointer-events-result.js +7 -0
- package/dist/lib/decentraland/sdk-components/pointer-events-result.js.map +1 -0
- package/dist/lib/decentraland/sdk-components/pointer-events.d.ts +3 -0
- package/dist/lib/decentraland/sdk-components/pointer-events.d.ts.map +1 -0
- package/dist/lib/decentraland/sdk-components/pointer-events.js +15 -0
- package/dist/lib/decentraland/sdk-components/pointer-events.js.map +1 -0
- package/dist/lib/decentraland/sdk-components/raycast-component.d.ts +5 -0
- package/dist/lib/decentraland/sdk-components/raycast-component.d.ts.map +1 -0
- package/dist/lib/decentraland/sdk-components/raycast-component.js +66 -0
- package/dist/lib/decentraland/sdk-components/raycast-component.js.map +1 -0
- package/dist/lib/decentraland/sdk-components/transform-component.d.ts +13 -0
- package/dist/lib/decentraland/sdk-components/transform-component.d.ts.map +1 -0
- package/dist/lib/decentraland/sdk-components/transform-component.js +84 -0
- package/dist/lib/decentraland/sdk-components/transform-component.js.map +1 -0
- package/dist/lib/decentraland/sdk-components/tween.d.ts +3 -0
- package/dist/lib/decentraland/sdk-components/tween.d.ts.map +1 -0
- package/dist/lib/decentraland/sdk-components/tween.js +15 -0
- package/dist/lib/decentraland/sdk-components/tween.js.map +1 -0
- package/dist/lib/decentraland/state.d.ts +24 -0
- package/dist/lib/decentraland/state.d.ts.map +1 -0
- package/dist/lib/decentraland/state.js +16 -0
- package/dist/lib/decentraland/state.js.map +1 -0
- package/dist/lib/decentraland/system.d.ts +7 -0
- package/dist/lib/decentraland/system.d.ts.map +1 -0
- package/dist/lib/decentraland/system.js +13 -0
- package/dist/lib/decentraland/system.js.map +1 -0
- package/dist/lib/decentraland/types.d.ts +9 -0
- package/dist/lib/decentraland/types.d.ts.map +1 -0
- package/dist/lib/decentraland/types.js +3 -0
- package/dist/lib/decentraland/types.js.map +1 -0
- package/dist/lib/decentraland/virtual-scene.d.ts +12 -0
- package/dist/lib/decentraland/virtual-scene.d.ts.map +1 -0
- package/dist/lib/decentraland/virtual-scene.js +3 -0
- package/dist/lib/decentraland/virtual-scene.js.map +1 -0
- package/dist/lib/engine-main.d.ts +8 -0
- package/dist/lib/engine-main.d.ts.map +1 -0
- package/dist/lib/engine-main.js +103 -0
- package/dist/lib/engine-main.js.map +1 -0
- package/dist/lib/misc/atom.d.ts +13 -0
- package/dist/lib/misc/atom.d.ts.map +1 -0
- package/dist/lib/misc/atom.js +66 -0
- package/dist/lib/misc/atom.js.map +1 -0
- package/dist/lib/misc/bit-operations.d.ts +3 -0
- package/dist/lib/misc/bit-operations.d.ts.map +1 -0
- package/dist/lib/misc/bit-operations.js +14 -0
- package/dist/lib/misc/bit-operations.js.map +1 -0
- package/dist/lib/misc/flat-fetch.d.ts +16 -0
- package/dist/lib/misc/flat-fetch.d.ts.map +1 -0
- package/dist/lib/misc/flat-fetch.js +26 -0
- package/dist/lib/misc/flat-fetch.js.map +1 -0
- package/dist/lib/misc/json.d.ts +3 -0
- package/dist/lib/misc/json.d.ts.map +1 -0
- package/dist/lib/misc/json.js +24 -0
- package/dist/lib/misc/json.js.map +1 -0
- package/dist/lib/misc/logger.d.ts +6 -0
- package/dist/lib/misc/logger.d.ts.map +1 -0
- package/dist/lib/misc/logger.js +24 -0
- package/dist/lib/misc/logger.js.map +1 -0
- package/dist/lib/misc/memoize.d.ts +2 -0
- package/dist/lib/misc/memoize.d.ts.map +1 -0
- package/dist/lib/misc/memoize.js +16 -0
- package/dist/lib/misc/memoize.js.map +1 -0
- package/dist/lib/misc/promises.d.ts +3 -0
- package/dist/lib/misc/promises.d.ts.map +1 -0
- package/dist/lib/misc/promises.js +14 -0
- package/dist/lib/misc/promises.js.map +1 -0
- package/dist/lib/polyfills/xmlhttprequest.d.ts +6 -0
- package/dist/lib/polyfills/xmlhttprequest.d.ts.map +1 -0
- package/dist/lib/polyfills/xmlhttprequest.js +127 -0
- package/dist/lib/polyfills/xmlhttprequest.js.map +1 -0
- package/dist/lib/quick-js/convert-handles.d.ts +14 -0
- package/dist/lib/quick-js/convert-handles.d.ts.map +1 -0
- package/dist/lib/quick-js/convert-handles.js +83 -0
- package/dist/lib/quick-js/convert-handles.js.map +1 -0
- package/dist/lib/quick-js/index.d.ts +12 -0
- package/dist/lib/quick-js/index.d.ts.map +1 -0
- package/dist/lib/quick-js/index.js +159 -0
- package/dist/lib/quick-js/index.js.map +1 -0
- package/dist/lib/quick-js/rpc-scene-runtime.d.ts +13 -0
- package/dist/lib/quick-js/rpc-scene-runtime.d.ts.map +1 -0
- package/dist/lib/quick-js/rpc-scene-runtime.js +32 -0
- package/dist/lib/quick-js/rpc-scene-runtime.js.map +1 -0
- package/dist/lib/quick-js/types.d.ts +35 -0
- package/dist/lib/quick-js/types.d.ts.map +1 -0
- package/dist/lib/quick-js/types.js +3 -0
- package/dist/lib/quick-js/types.js.map +1 -0
- package/dist/lib/web-worker-runtime/context.d.ts +12 -0
- package/dist/lib/web-worker-runtime/context.d.ts.map +1 -0
- package/dist/lib/web-worker-runtime/context.js +97 -0
- package/dist/lib/web-worker-runtime/context.js.map +1 -0
- package/dist/lib/web-worker-runtime/sandbox.d.ts +9 -0
- package/dist/lib/web-worker-runtime/sandbox.d.ts.map +1 -0
- package/dist/lib/web-worker-runtime/sandbox.js +98 -0
- package/dist/lib/web-worker-runtime/sandbox.js.map +1 -0
- package/dist/lib/web-worker-runtime/web-worker-scene-runtime.d.ts +13 -0
- package/dist/lib/web-worker-runtime/web-worker-scene-runtime.d.ts.map +1 -0
- package/dist/lib/web-worker-runtime/web-worker-scene-runtime.js +32 -0
- package/dist/lib/web-worker-runtime/web-worker-scene-runtime.js.map +1 -0
- package/package.json +73 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// This class is used to animate a scalar value from one value to another
|
|
3
|
+
// using linear interpolation and linear speed
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.LinearlyAnimatedScalar = void 0;
|
|
6
|
+
class LinearlyAnimatedScalar {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.animationStart = 0;
|
|
9
|
+
this.animationEnd = 0;
|
|
10
|
+
this.finalValue = 0;
|
|
11
|
+
this.initialValue = 0;
|
|
12
|
+
}
|
|
13
|
+
animateTo(now, targetValue, linearSpeed) {
|
|
14
|
+
const value = this.getValue(now);
|
|
15
|
+
if (targetValue === this.finalValue)
|
|
16
|
+
return value;
|
|
17
|
+
const distance = Math.abs(targetValue - value);
|
|
18
|
+
const time = distance / linearSpeed;
|
|
19
|
+
this.initialValue = value;
|
|
20
|
+
this.finalValue = targetValue;
|
|
21
|
+
this.animationStart = now;
|
|
22
|
+
this.animationEnd = now + time;
|
|
23
|
+
return value;
|
|
24
|
+
}
|
|
25
|
+
getCurrentWeight(now) {
|
|
26
|
+
const µ = Math.min(1, (now - this.animationStart) / (this.animationEnd - this.animationStart));
|
|
27
|
+
const value = this.finalValue * µ + (1 - µ) * this.initialValue;
|
|
28
|
+
return { value, µ };
|
|
29
|
+
}
|
|
30
|
+
getValue(now) {
|
|
31
|
+
return this.getCurrentWeight(now).value;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.LinearlyAnimatedScalar = LinearlyAnimatedScalar;
|
|
35
|
+
//# sourceMappingURL=time-based-animation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time-based-animation.js","sourceRoot":"","sources":["../../../src/lib/babylon/time-based-animation.ts"],"names":[],"mappings":";AAAA,yEAAyE;AACzE,8CAA8C;;;AAE9C,MAAa,sBAAsB;IAAnC;QACE,mBAAc,GAAW,CAAC,CAAA;QAC1B,iBAAY,GAAW,CAAC,CAAA;QACxB,eAAU,GAAW,CAAC,CAAA;QACtB,iBAAY,GAAW,CAAC,CAAA;IA2B1B,CAAC;IAzBC,SAAS,CAAC,GAAW,EAAE,WAAmB,EAAE,WAAmB;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QAEhC,IAAI,WAAW,KAAK,IAAI,CAAC,UAAU;YAAE,OAAO,KAAK,CAAA;QAEjD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC,CAAA;QAC9C,MAAM,IAAI,GAAG,QAAQ,GAAG,WAAW,CAAA;QAEnC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;QACzB,IAAI,CAAC,UAAU,GAAG,WAAW,CAAA;QAC7B,IAAI,CAAC,cAAc,GAAG,GAAG,CAAA;QACzB,IAAI,CAAC,YAAY,GAAG,GAAG,GAAG,IAAI,CAAA;QAE9B,OAAO,KAAK,CAAA;IACd,CAAC;IAED,gBAAgB,CAAC,GAAW;QAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAA;QAC9F,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAA;QAC/D,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA;IACrB,CAAC;IAED,QAAQ,CAAC,GAAW;QAClB,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAA;IACzC,CAAC;CACF;AA/BD,wDA+BC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ambientLights.d.ts","sourceRoot":"","sources":["../../../../src/lib/babylon/visual/ambientLights.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAM1C,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK;;;GA2C1D"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.setupEnvironment = void 0;
|
|
27
|
+
const BABYLON = __importStar(require("@babylonjs/core"));
|
|
28
|
+
const colliders_1 = require("../scene/logic/colliders");
|
|
29
|
+
const mesh_collider_gen_1 = require("@dcl/protocol/out-js/decentraland/sdk/components/mesh_collider.gen");
|
|
30
|
+
const PARCEL_SIZE = 16;
|
|
31
|
+
async function setupEnvironment(scene) {
|
|
32
|
+
// Headless environment setup - minimal visual elements
|
|
33
|
+
const groundColor = new BABYLON.Color3(0.1, 0.1, 0.1);
|
|
34
|
+
// Simple hemispheric light for basic lighting
|
|
35
|
+
const hemiLight = new BABYLON.HemisphericLight('default light', new BABYLON.Vector3(0, 1, 0), scene);
|
|
36
|
+
hemiLight.diffuse = BABYLON.Color3.White();
|
|
37
|
+
hemiLight.groundColor = groundColor.clone();
|
|
38
|
+
hemiLight.specular = BABYLON.Color3.White();
|
|
39
|
+
// Create a simple ground plane for collisions
|
|
40
|
+
const ground = BABYLON.MeshBuilder.CreateGround('ground', { width: 1024, height: 1024 }, scene);
|
|
41
|
+
ground.position.y = 0;
|
|
42
|
+
ground.checkCollisions = true;
|
|
43
|
+
// Simple material without textures
|
|
44
|
+
const groundMaterial = new BABYLON.StandardMaterial('groundMaterial', scene);
|
|
45
|
+
groundMaterial.diffuseColor = groundColor;
|
|
46
|
+
groundMaterial.specularColor = new BABYLON.Color3(0, 0, 0);
|
|
47
|
+
ground.material = groundMaterial;
|
|
48
|
+
(0, colliders_1.setColliderMask)(ground, mesh_collider_gen_1.ColliderLayer.CL_PHYSICS);
|
|
49
|
+
colliders_1.floorMeshes.push(ground);
|
|
50
|
+
function repositionCamera() {
|
|
51
|
+
if (!scene.activeCamera)
|
|
52
|
+
return;
|
|
53
|
+
// set the ground at 0 always and round position towards PARCEL_SIZE
|
|
54
|
+
ground.position.set(Math.floor(scene.activeCamera.globalPosition.x / PARCEL_SIZE) * PARCEL_SIZE - scene.activeCamera.globalPosition.x, -scene.activeCamera.globalPosition.y, Math.floor(scene.activeCamera.globalPosition.z / PARCEL_SIZE) * PARCEL_SIZE - scene.activeCamera.globalPosition.z);
|
|
55
|
+
}
|
|
56
|
+
scene.onBeforeRenderObservable.add(repositionCamera);
|
|
57
|
+
// add some variables to the global context to debug
|
|
58
|
+
Object.assign(globalThis, { hemiLight, ground, groundMaterial });
|
|
59
|
+
return {
|
|
60
|
+
repositionCamera,
|
|
61
|
+
ground
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
exports.setupEnvironment = setupEnvironment;
|
|
65
|
+
//# sourceMappingURL=ambientLights.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ambientLights.js","sourceRoot":"","sources":["../../../../src/lib/babylon/visual/ambientLights.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAA0C;AAC1C,wDAAuE;AACvE,0GAAkG;AAElG,MAAM,WAAW,GAAG,EAAE,CAAA;AAEf,KAAK,UAAU,gBAAgB,CAAC,KAAoB;IACzD,uDAAuD;IACvD,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;IAErD,8CAA8C;IAC9C,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;IACpG,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;IAC1C,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC,KAAK,EAAE,CAAA;IAC3C,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;IAE3C,8CAA8C;IAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,CAAA;IAC/F,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAA;IACrB,MAAM,CAAC,eAAe,GAAG,IAAI,CAAA;IAE7B,mCAAmC;IACnC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAA;IAC5E,cAAc,CAAC,YAAY,GAAG,WAAW,CAAA;IACzC,cAAc,CAAC,aAAa,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC1D,MAAM,CAAC,QAAQ,GAAG,cAAc,CAAA;IAEhC,IAAA,2BAAe,EAAC,MAAM,EAAE,iCAAa,CAAC,UAAU,CAAC,CAAA;IACjD,uBAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAExB,SAAS,gBAAgB;QACvB,IAAI,CAAC,KAAK,CAAC,YAAY;YAAE,OAAM;QAC/B,oEAAoE;QACpE,MAAM,CAAC,QAAQ,CAAC,GAAG,CACjB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,EACjH,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,EACpC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAClH,CAAA;IACH,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;IAEpD,oDAAoD;IACpD,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAA;IAEhE,OAAO;QACL,gBAAgB;QAChB,MAAM;KACP,CAAA;AACH,CAAC;AA3CD,4CA2CC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glowLayer.d.ts","sourceRoot":"","sources":["../../../../src/lib/babylon/visual/glowLayer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAG1C,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK;;;EAkChD"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.addGlowLayer = void 0;
|
|
27
|
+
const BABYLON = __importStar(require("@babylonjs/core"));
|
|
28
|
+
// add effects layer for glow effects
|
|
29
|
+
function addGlowLayer(scene) {
|
|
30
|
+
const effectLayers = [];
|
|
31
|
+
const highlightLayer = new BABYLON.HighlightLayer('highlight', scene);
|
|
32
|
+
if (!scene.effectLayers.includes(highlightLayer)) {
|
|
33
|
+
scene.addEffectLayer(highlightLayer);
|
|
34
|
+
}
|
|
35
|
+
highlightLayer.innerGlow = false;
|
|
36
|
+
highlightLayer.outerGlow = true;
|
|
37
|
+
effectLayers.push(highlightLayer);
|
|
38
|
+
scene.onReadyObservable.addOnce(() => {
|
|
39
|
+
// const gl = new BABYLON.GlowLayer('glow', scene)
|
|
40
|
+
// effectLayers.push(gl)
|
|
41
|
+
effectLayers.forEach(($) => scene.effectLayers.includes($) || scene.addEffectLayer($));
|
|
42
|
+
scene.removeEffectLayer = function (layer) {
|
|
43
|
+
if (effectLayers.includes(layer))
|
|
44
|
+
return;
|
|
45
|
+
scene.constructor.prototype.removeEffectLayer.apply(this, arguments);
|
|
46
|
+
};
|
|
47
|
+
scene.addEffectLayer = function (layer) {
|
|
48
|
+
if (effectLayers.includes(layer))
|
|
49
|
+
return;
|
|
50
|
+
scene.constructor.prototype.addEffectLayer.apply(this, arguments);
|
|
51
|
+
};
|
|
52
|
+
});
|
|
53
|
+
return {
|
|
54
|
+
effectLayers,
|
|
55
|
+
highlightLayer
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
exports.addGlowLayer = addGlowLayer;
|
|
59
|
+
//# sourceMappingURL=glowLayer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glowLayer.js","sourceRoot":"","sources":["../../../../src/lib/babylon/visual/glowLayer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAA0C;AAE1C,qCAAqC;AACrC,SAAgB,YAAY,CAAC,KAAoB;IAC/C,MAAM,YAAY,GAA0B,EAAE,CAAA;IAC9C,MAAM,cAAc,GAA2B,IAAI,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;IAE7F,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;QAChD,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;KACrC;IAED,cAAc,CAAC,SAAS,GAAG,KAAK,CAAA;IAChC,cAAc,CAAC,SAAS,GAAG,IAAI,CAAA;IAE/B,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAEjC,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE;QACnC,kDAAkD;QAClD,wBAAwB;QAExB,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;QAEtF,KAAK,CAAC,iBAAiB,GAAG,UAAqB,KAA0B;YACvE,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,OAAM;YACxC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QACtE,CAAQ,CAAA;QAER,KAAK,CAAC,cAAc,GAAG,UAAqB,KAA0B;YACpE,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,OAAM;YACxC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QACnE,CAAQ,CAAA;IACV,CAAC,CAAC,CAAA;IAEF,OAAO;QACL,YAAY;QACZ,cAAc;KACf,CAAA;AACH,CAAC;AAlCD,oCAkCC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as BABYLON from '@babylonjs/core';
|
|
2
|
+
import { GridMaterial } from '@babylonjs/materials';
|
|
3
|
+
export declare const checkerboardMaterial: (a: BABYLON.Scene) => GridMaterial;
|
|
4
|
+
export declare function createParcelOutline(scene: BABYLON.Scene, basePosition: string, positions: string[]): {
|
|
5
|
+
result: BABYLON.LinesMesh;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=parcelOutline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parcelOutline.d.ts","sourceRoot":"","sources":["../../../../src/lib/babylon/visual/parcelOutline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAInD,eAAO,MAAM,oBAAoB,oCAa/B,CAAA;AAEF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE;;EAiDlG"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.createParcelOutline = exports.checkerboardMaterial = void 0;
|
|
27
|
+
const BABYLON = __importStar(require("@babylonjs/core"));
|
|
28
|
+
const materials_1 = require("@babylonjs/materials");
|
|
29
|
+
const positions_1 = require("../../decentraland/positions");
|
|
30
|
+
const memoize_1 = require("../../misc/memoize");
|
|
31
|
+
exports.checkerboardMaterial = (0, memoize_1.memoize)((scene) => {
|
|
32
|
+
const m = new materials_1.GridMaterial('checkerboard', scene);
|
|
33
|
+
/// --- SIDE EFFECT ---
|
|
34
|
+
m.gridRatio = 1;
|
|
35
|
+
m.mainColor = BABYLON.Color3.Gray();
|
|
36
|
+
m.lineColor = BABYLON.Color3.White();
|
|
37
|
+
m.majorUnitFrequency = 8;
|
|
38
|
+
m.zOffset = 1;
|
|
39
|
+
m.fogEnabled = false;
|
|
40
|
+
return m;
|
|
41
|
+
});
|
|
42
|
+
function createParcelOutline(scene, basePosition, positions) {
|
|
43
|
+
const decoded = positions.map(positions_1.parseParcelPosition);
|
|
44
|
+
const parcels = decoded.map($ => new BABYLON.Vector2($.x, $.y));
|
|
45
|
+
const base = (0, positions_1.parseParcelPosition)(basePosition);
|
|
46
|
+
const contains = (v) => {
|
|
47
|
+
return !!parcels.find(p => p.equals(v));
|
|
48
|
+
};
|
|
49
|
+
const points = [];
|
|
50
|
+
const minX = Math.min(...parcels.map($ => $.x)) - 1;
|
|
51
|
+
const minY = Math.min(...parcels.map($ => $.y)) - 1;
|
|
52
|
+
const maxX = Math.max(...parcels.map($ => $.x)) + 1;
|
|
53
|
+
const maxY = Math.max(...parcels.map($ => $.y)) + 1;
|
|
54
|
+
/*
|
|
55
|
+
* Iterate over all the parcels in the bounding box surrounding this
|
|
56
|
+
* parcel, and draw a border whenever we change state from inside
|
|
57
|
+
* the parcel to outside the parcel.
|
|
58
|
+
*/
|
|
59
|
+
for (let x = minX; x < maxX + 1; x++) {
|
|
60
|
+
for (let y = minY; y < maxY + 1; y++) {
|
|
61
|
+
const p = contains(new BABYLON.Vector2(x, y));
|
|
62
|
+
const northern = contains(new BABYLON.Vector2(x, y - 1));
|
|
63
|
+
const western = contains(new BABYLON.Vector2(x - 1, y));
|
|
64
|
+
if (p !== western) {
|
|
65
|
+
const p1 = new BABYLON.Vector3(0, 0, 0);
|
|
66
|
+
(0, positions_1.gridToParcel)(base, x, y, p1);
|
|
67
|
+
p1.z = p1.z;
|
|
68
|
+
const p2 = p1.clone();
|
|
69
|
+
p2.z = p2.z + positions_1.PARCEL_SIZE_METERS;
|
|
70
|
+
points.push([p1, p2]);
|
|
71
|
+
}
|
|
72
|
+
if (p !== northern) {
|
|
73
|
+
const p1 = new BABYLON.Vector3(0, 0, 0);
|
|
74
|
+
(0, positions_1.gridToParcel)(base, x, y, p1);
|
|
75
|
+
p1.x = p1.x;
|
|
76
|
+
const p2 = p1.clone();
|
|
77
|
+
p2.x = p2.x + positions_1.PARCEL_SIZE_METERS;
|
|
78
|
+
points.push([p1, p2]);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
const lines = BABYLON.MeshBuilder.CreateLineSystem('lines', { lines: points }, scene);
|
|
83
|
+
lines.color = BABYLON.Color3.FromHexString('#ff004f');
|
|
84
|
+
lines.isPickable = false;
|
|
85
|
+
return { result: lines };
|
|
86
|
+
}
|
|
87
|
+
exports.createParcelOutline = createParcelOutline;
|
|
88
|
+
//# sourceMappingURL=parcelOutline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parcelOutline.js","sourceRoot":"","sources":["../../../../src/lib/babylon/visual/parcelOutline.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reticle.d.ts","sourceRoot":"","sources":["../../../../src/lib/babylon/visual/reticle.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,IAAI,EAAE,KAAK,EAAoB,MAAM,iBAAiB,CAAC;AAG7F,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,kCAoEtD"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addCrosshair = void 0;
|
|
4
|
+
const core_1 = require("@babylonjs/core");
|
|
5
|
+
const ui_1 = require("./ui");
|
|
6
|
+
function addCrosshair(scene, parent) {
|
|
7
|
+
let w = 128;
|
|
8
|
+
let texture = new core_1.DynamicTexture('reticule', w, scene, false);
|
|
9
|
+
texture.hasAlpha = true;
|
|
10
|
+
let ctx = texture.getContext();
|
|
11
|
+
let reticule;
|
|
12
|
+
const createOutline = () => {
|
|
13
|
+
let c = 2;
|
|
14
|
+
ctx.moveTo(c, w * 0.25);
|
|
15
|
+
ctx.lineTo(c, c);
|
|
16
|
+
ctx.lineTo(w * 0.25, c);
|
|
17
|
+
ctx.moveTo(w * 0.75, c);
|
|
18
|
+
ctx.lineTo(w - c, c);
|
|
19
|
+
ctx.lineTo(w - c, w * 0.25);
|
|
20
|
+
ctx.moveTo(w - c, w * 0.75);
|
|
21
|
+
ctx.lineTo(w - c, w - c);
|
|
22
|
+
ctx.lineTo(w * 0.75, w - c);
|
|
23
|
+
ctx.moveTo(w * 0.25, w - c);
|
|
24
|
+
ctx.lineTo(c, w - c);
|
|
25
|
+
ctx.lineTo(c, w * 0.75);
|
|
26
|
+
ctx.lineWidth = 1.5;
|
|
27
|
+
ctx.strokeStyle = 'rgba(128, 128, 128, 0.5)';
|
|
28
|
+
ctx.stroke();
|
|
29
|
+
};
|
|
30
|
+
const createNavigate = () => {
|
|
31
|
+
ctx.fillStyle = 'transparent';
|
|
32
|
+
ctx.clearRect(0, 0, w, w);
|
|
33
|
+
createOutline();
|
|
34
|
+
ctx.strokeStyle = 'rgba(48, 48, 48, 0.9)';
|
|
35
|
+
ctx.lineWidth = 3.5;
|
|
36
|
+
ctx.moveTo(w * 0.5, w * 0.25);
|
|
37
|
+
ctx.lineTo(w * 0.5, w * 0.75);
|
|
38
|
+
ctx.moveTo(w * 0.25, w * 0.5);
|
|
39
|
+
ctx.lineTo(w * 0.75, w * 0.5);
|
|
40
|
+
ctx.stroke();
|
|
41
|
+
ctx.beginPath();
|
|
42
|
+
texture.update();
|
|
43
|
+
};
|
|
44
|
+
createNavigate();
|
|
45
|
+
let material = new core_1.StandardMaterial('reticule', scene);
|
|
46
|
+
material.diffuseTexture = texture;
|
|
47
|
+
material.opacityTexture = texture;
|
|
48
|
+
material.emissiveColor.set(1, 1, 1);
|
|
49
|
+
material.disableLighting = true;
|
|
50
|
+
let plane = core_1.MeshBuilder.CreatePlane('reticule', { size: 0.04 }, (0, ui_1.utilLayer)(scene).utilityLayerScene);
|
|
51
|
+
plane.material = material;
|
|
52
|
+
plane.position.set(0, 0, 1.1);
|
|
53
|
+
plane.isPickable = false;
|
|
54
|
+
plane.rotation.z = Math.PI / 4;
|
|
55
|
+
reticule = plane;
|
|
56
|
+
reticule.parent = parent;
|
|
57
|
+
return reticule;
|
|
58
|
+
}
|
|
59
|
+
exports.addCrosshair = addCrosshair;
|
|
60
|
+
//# sourceMappingURL=reticle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reticle.js","sourceRoot":"","sources":["../../../../src/lib/babylon/visual/reticle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Scene, UtilityLayerRenderer } from "@babylonjs/core";
|
|
2
|
+
import { AdvancedDynamicTexture, StackPanel, Checkbox, Button } from "@babylonjs/gui";
|
|
3
|
+
export declare const advancedUiTexture: (a: Scene) => AdvancedDynamicTexture;
|
|
4
|
+
export declare const guiPanel: (a: Scene) => StackPanel;
|
|
5
|
+
export declare const utilLayer: (a: Scene) => UtilityLayerRenderer;
|
|
6
|
+
export declare function AddToggle(toggleText: string, panel: StackPanel): Checkbox;
|
|
7
|
+
export declare function AddButton(buttonLabel: string, panel: StackPanel): Button;
|
|
8
|
+
//# sourceMappingURL=ui.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../../../src/lib/babylon/visual/ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE9D,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAW,QAAQ,EAAa,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE1G,eAAO,MAAM,iBAAiB,sCAE5B,CAAA;AAEF,eAAO,MAAM,QAAQ,0BASnB,CAAA;AAEF,eAAO,MAAM,SAAS,oCAA6D,CAAA;AAEnF,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,YA0B9D;AAED,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,UAM/D"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AddButton = exports.AddToggle = exports.utilLayer = exports.guiPanel = exports.advancedUiTexture = void 0;
|
|
4
|
+
const core_1 = require("@babylonjs/core");
|
|
5
|
+
const memoize_1 = require("../../misc/memoize");
|
|
6
|
+
const gui_1 = require("@babylonjs/gui");
|
|
7
|
+
exports.advancedUiTexture = (0, memoize_1.memoize)((scene) => {
|
|
8
|
+
return gui_1.AdvancedDynamicTexture.CreateFullscreenUI("UI", undefined, scene);
|
|
9
|
+
});
|
|
10
|
+
exports.guiPanel = (0, memoize_1.memoize)((scene) => {
|
|
11
|
+
const panel = new gui_1.StackPanel();
|
|
12
|
+
panel.spacing = 5;
|
|
13
|
+
(0, exports.advancedUiTexture)(scene).addControl(panel);
|
|
14
|
+
panel.verticalAlignment = gui_1.Control.VERTICAL_ALIGNMENT_TOP;
|
|
15
|
+
panel.paddingLeftInPixels = 10;
|
|
16
|
+
panel.paddingTopInPixels = 10;
|
|
17
|
+
return panel;
|
|
18
|
+
});
|
|
19
|
+
exports.utilLayer = (0, memoize_1.memoize)((scene) => new core_1.UtilityLayerRenderer(scene));
|
|
20
|
+
function AddToggle(toggleText, panel) {
|
|
21
|
+
var toggleViewLine = new gui_1.StackPanel("toggleViewLine");
|
|
22
|
+
toggleViewLine.isVertical = false;
|
|
23
|
+
toggleViewLine.horizontalAlignment =
|
|
24
|
+
gui_1.Control.HORIZONTAL_ALIGNMENT_LEFT;
|
|
25
|
+
toggleViewLine.spacing = 5;
|
|
26
|
+
toggleViewLine.height = "25px";
|
|
27
|
+
panel.addControl(toggleViewLine);
|
|
28
|
+
var checkbox = new gui_1.Checkbox();
|
|
29
|
+
checkbox.verticalAlignment = 0; //BABYLON.Control.VERTICAL_ALIGNMENT_TOP;
|
|
30
|
+
checkbox.width = "20px";
|
|
31
|
+
checkbox.height = "20px";
|
|
32
|
+
checkbox.isChecked = false;
|
|
33
|
+
checkbox.color = "green";
|
|
34
|
+
toggleViewLine.addControl(checkbox);
|
|
35
|
+
toggleViewLine.paddingTop = 2;
|
|
36
|
+
var checkboxText = new gui_1.TextBlock("checkboxText", toggleText);
|
|
37
|
+
checkboxText.resizeToFit = true;
|
|
38
|
+
checkboxText.color = "white";
|
|
39
|
+
toggleViewLine.addControl(checkboxText);
|
|
40
|
+
checkbox.onDisposeObservable.addOnce(() => toggleViewLine.dispose());
|
|
41
|
+
return checkbox;
|
|
42
|
+
}
|
|
43
|
+
exports.AddToggle = AddToggle;
|
|
44
|
+
;
|
|
45
|
+
function AddButton(buttonLabel, panel) {
|
|
46
|
+
const button = gui_1.Button.CreateSimpleButton("but", buttonLabel);
|
|
47
|
+
button.width = "150px";
|
|
48
|
+
button.height = "30px";
|
|
49
|
+
panel.addControl(button);
|
|
50
|
+
return button;
|
|
51
|
+
}
|
|
52
|
+
exports.AddButton = AddButton;
|
|
53
|
+
;
|
|
54
|
+
//# sourceMappingURL=ui.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../../src/lib/babylon/visual/ui.ts"],"names":[],"mappings":";;;AAAA,0CAA8D;AAC9D,gDAA6C;AAC7C,wCAA0G;AAE7F,QAAA,iBAAiB,GAAG,IAAA,iBAAO,EAAC,CAAC,KAAY,EAAE,EAAE;IACxD,OAAO,4BAAsB,CAAC,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;AAC1E,CAAC,CAAC,CAAA;AAEW,QAAA,QAAQ,GAAG,IAAA,iBAAO,EAAC,CAAC,KAAY,EAAE,EAAE;IAC/C,MAAM,KAAK,GAAG,IAAI,gBAAU,EAAE,CAAC;IAC/B,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;IAClB,IAAA,yBAAiB,EAAC,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC3C,KAAK,CAAC,iBAAiB,GAAG,aAAO,CAAC,sBAAsB,CAAC;IACzD,KAAK,CAAC,mBAAmB,GAAG,EAAE,CAAC;IAC/B,KAAK,CAAC,kBAAkB,GAAG,EAAE,CAAC;IAE9B,OAAO,KAAK,CAAA;AACd,CAAC,CAAC,CAAA;AAEW,QAAA,SAAS,GAAG,IAAA,iBAAO,EAAC,CAAC,KAAY,EAAE,EAAE,CAAC,IAAI,2BAAoB,CAAC,KAAK,CAAC,CAAC,CAAA;AAEnF,SAAgB,SAAS,CAAC,UAAkB,EAAE,KAAiB;IAC7D,IAAI,cAAc,GAAG,IAAI,gBAAU,CAAC,gBAAgB,CAAC,CAAC;IACtD,cAAc,CAAC,UAAU,GAAG,KAAK,CAAC;IAClC,cAAc,CAAC,mBAAmB;QAChC,aAAO,CAAC,yBAAyB,CAAC;IACpC,cAAc,CAAC,OAAO,GAAG,CAAC,CAAC;IAC3B,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC;IAC/B,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IACjC,IAAI,QAAQ,GAAG,IAAI,cAAQ,EAAE,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,yCAAyC;IACzE,QAAQ,CAAC,KAAK,GAAG,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC;IAC3B,QAAQ,CAAC,KAAK,GAAG,OAAO,CAAC;IACzB,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACpC,cAAc,CAAC,UAAU,GAAG,CAAC,CAAC;IAE9B,IAAI,YAAY,GAAG,IAAI,eAAS,CAC9B,cAAc,EACd,UAAU,CACX,CAAC;IACF,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC;IAChC,YAAY,CAAC,KAAK,GAAG,OAAO,CAAC;IAC7B,cAAc,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACxC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;IACrE,OAAO,QAAQ,CAAC;AAClB,CAAC;AA1BD,8BA0BC;AAAA,CAAC;AAEF,SAAgB,SAAS,CAAC,WAAmB,EAAE,KAAiB;IAC9D,MAAM,MAAM,GAAG,YAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;IAC5D,MAAM,CAAC,KAAK,GAAG,OAAO,CAAA;IACtB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACzB,OAAO,MAAM,CAAC;AAChB,CAAC;AAND,8BAMC;AAAA,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"game-loop.d.ts","sourceRoot":"","sources":["../../../src/lib/common-runtime/game-loop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAK5C,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,iBAyB/D;AAED,wBAAsB,KAAK,CAAC,EAAE,EAAE,MAAM,oBAGrC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sleep = exports.defaultUpdateLoop = void 0;
|
|
4
|
+
const MIN_FRAME_TIME = 24;
|
|
5
|
+
// this is the default update loop used by the scenes. it can be overriden by tests
|
|
6
|
+
async function defaultUpdateLoop(opts) {
|
|
7
|
+
await opts.onStart();
|
|
8
|
+
// by ADR-133, the first update is always 0.0 elapsed time
|
|
9
|
+
await opts.onUpdate(0.0);
|
|
10
|
+
let start = performance.now();
|
|
11
|
+
// TODO: this is a very naive implementation of the update loop. we should define
|
|
12
|
+
// a stable way to enable a graceful shutdown of the scene runtime.
|
|
13
|
+
while (opts.isRunning()) {
|
|
14
|
+
const now = performance.now();
|
|
15
|
+
const dtMillis = now - start;
|
|
16
|
+
if (dtMillis < MIN_FRAME_TIME) {
|
|
17
|
+
await sleep(MIN_FRAME_TIME - dtMillis - 1);
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
start = now;
|
|
21
|
+
const dtSecs = dtMillis / 1000;
|
|
22
|
+
await opts.onUpdate(dtSecs);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.defaultUpdateLoop = defaultUpdateLoop;
|
|
26
|
+
async function sleep(ms) {
|
|
27
|
+
if (ms > 1)
|
|
28
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
29
|
+
}
|
|
30
|
+
exports.sleep = sleep;
|
|
31
|
+
//# sourceMappingURL=game-loop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"game-loop.js","sourceRoot":"","sources":["../../../src/lib/common-runtime/game-loop.ts"],"names":[],"mappings":";;;AAEA,MAAM,cAAc,GAAG,EAAE,CAAA;AAEzB,mFAAmF;AAC5E,KAAK,UAAU,iBAAiB,CAAC,IAAwB;IAC9D,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;IAEpB,0DAA0D;IAC1D,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IAExB,IAAI,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;IAE7B,iFAAiF;IACjF,yEAAyE;IACzE,OAAO,IAAI,CAAC,SAAS,EAAE,EAAE;QACvB,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;QAC7B,MAAM,QAAQ,GAAG,GAAG,GAAG,KAAK,CAAA;QAE5B,IAAI,QAAQ,GAAG,cAAc,EAAE;YAC7B,MAAM,KAAK,CAAC,cAAc,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAA;YAC1C,SAAQ;SACT;QAED,KAAK,GAAG,GAAG,CAAA;QAEX,MAAM,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAA;QAE9B,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;KAC5B;AACH,CAAC;AAzBD,8CAyBC;AAEM,KAAK,UAAU,KAAK,CAAC,EAAU;IACpC,IAAI,EAAE,GAAG,CAAC;QACR,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;AAC1D,CAAC;AAHD,sBAGC"}
|