@voltro/plugin-rooms 0.87.0 → 0.89.0
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/CHANGELOG.md +272 -6
- package/THIRD-PARTY-NOTICES.md +1542 -368
- package/dist/actor.js +1 -2
- package/dist/apiBinding.js +1 -2
- package/dist/apiRegistryBinding.js +1 -2
- package/dist/apiReservations.js +3 -4
- package/dist/baselines.js +1 -2
- package/dist/bots.js +2 -3
- package/dist/catalog.js +1 -2
- package/dist/checkpointJson.js +1 -2
- package/dist/checkpointStore.js +13 -14
- package/dist/client.js +1 -2
- package/dist/clockSync.js +1 -2
- package/dist/collision.js +3 -4
- package/dist/commandDelivery.js +1 -2
- package/dist/commandRecord.js +1 -2
- package/dist/commandWithdrawal.js +1 -2
- package/dist/connection.js +1 -2
- package/dist/controlCarrier.js +1 -2
- package/dist/controlRegistry.js +1 -2
- package/dist/controlTarget.js +1 -2
- package/dist/controlTransport.js +1 -2
- package/dist/developmentBinding.js +1 -2
- package/dist/directory.js +3 -4
- package/dist/directoryProjection.js +1 -2
- package/dist/errors.js +1 -2
- package/dist/fixed32.js +1 -2
- package/dist/fixedCollision.js +1 -2
- package/dist/fixedCollision32.js +1 -2
- package/dist/fixedMath.js +1 -2
- package/dist/fixedRaw.js +1 -2
- package/dist/fixedSlabs.js +1 -2
- package/dist/fixedTrig.js +1 -2
- package/dist/fixedTrig32.js +1 -2
- package/dist/fixedVectors.js +1 -2
- package/dist/fixedVectors32.js +1 -2
- package/dist/fixedWide.js +1 -2
- package/dist/fixedWords.js +1 -2
- package/dist/gateway.js +1 -2
- package/dist/geometryActivation.js +1 -2
- package/dist/geometryActorInventory.js +1 -2
- package/dist/geometryAdminClient.js +1 -2
- package/dist/geometryAdminData.js +1 -2
- package/dist/geometryAdminFixtures.js +1 -2
- package/dist/geometryAdminPorts.js +1 -2
- package/dist/geometryAdminRpc.js +1 -2
- package/dist/geometryAdminRpcRoutes.js +1 -2
- package/dist/geometryAdminSchemas.js +1 -2
- package/dist/geometryAdministration.js +1 -2
- package/dist/geometryAdministrationPorts.js +1 -2
- package/dist/geometryApiBinding.js +1 -2
- package/dist/geometryAppStorage.js +1 -2
- package/dist/geometryArtifacts.js +1 -2
- package/dist/geometryAssetBundle.js +1 -2
- package/dist/geometryAssetClient.js +1 -2
- package/dist/geometryAssetData.js +1 -2
- package/dist/geometryAssetHttp.js +1 -2
- package/dist/geometryAssetPorts.js +1 -2
- package/dist/geometryAssetRpc.js +1 -2
- package/dist/geometryAssetRpcRoutes.js +1 -2
- package/dist/geometryAssetStorageGrant.js +1 -2
- package/dist/geometryBoxOverlap.js +1 -2
- package/dist/geometryCatalogueDigest.js +1 -2
- package/dist/geometryCellCoverage.js +1 -2
- package/dist/geometryCellLoader.js +1 -2
- package/dist/geometryChannel.js +1 -2
- package/dist/geometryChunkHttp.js +1 -2
- package/dist/geometryChunkLeases.js +1 -2
- package/dist/geometryClient.js +1 -2
- package/dist/geometryClientChunks.js +1 -2
- package/dist/geometryClientDelta.js +1 -2
- package/dist/geometryClientHttp.js +1 -2
- package/dist/geometryClientInterest.js +1 -2
- package/dist/geometryClientStatic.js +1 -2
- package/dist/geometryCms.js +1 -2
- package/dist/geometryCommitCoordinator.js +1 -2
- package/dist/geometryCompactionFixture.js +1 -2
- package/dist/geometryCompactionStrategies.js +1 -2
- package/dist/geometryConnectionClient.js +1 -2
- package/dist/geometryDerivationFixtures.js +1 -2
- package/dist/geometryDerivationStrategies.js +1 -2
- package/dist/geometryDigest.js +1 -2
- package/dist/geometryEditChannel.js +1 -2
- package/dist/geometryEditIngress.js +1 -2
- package/dist/geometryEdits.js +1 -2
- package/dist/geometryEnvelope.js +1 -2
- package/dist/geometryGridRaycast.js +1 -2
- package/dist/geometryGridSweep.js +1 -2
- package/dist/geometryHeightfield.js +1 -2
- package/dist/geometryHeightfieldRaycast.js +1 -2
- package/dist/geometryHeightfieldSweep.js +1 -2
- package/dist/geometryHeightfieldVolume.js +1 -2
- package/dist/geometryHost.js +2 -3
- package/dist/geometryHostDirectory.js +1 -2
- package/dist/geometryHostMutations.js +1 -2
- package/dist/geometryHostStreams.js +1 -2
- package/dist/geometryHttpBody.js +1 -2
- package/dist/geometryHttpRoutes.js +1 -2
- package/dist/geometryImportGltf.js +1 -2
- package/dist/geometryImportLdtk.js +1 -2
- package/dist/geometryImportPng.js +1 -2
- package/dist/geometryImportPublication.js +1 -2
- package/dist/geometryImportTiled.js +1 -2
- package/dist/geometryImportTiles.js +1 -2
- package/dist/geometryImportVox.js +1 -2
- package/dist/geometryImportedSource.js +1 -2
- package/dist/geometryInspectEndpoint.js +1 -2
- package/dist/geometryInspection.js +1 -2
- package/dist/geometryInstall.js +1 -2
- package/dist/geometryJournalArchiveData.js +1 -2
- package/dist/geometryJournalArchiveIndex.js +2 -3
- package/dist/geometryJournalArchiveTable.js +1 -2
- package/dist/geometryJournalCompaction.js +1 -2
- package/dist/geometryJournalPatch.js +1 -2
- package/dist/geometryJournalRetention.js +1 -2
- package/dist/geometryJournalRetentionSchemas.js +1 -2
- package/dist/geometryJournalRetentionSweep.js +1 -2
- package/dist/geometryJournalRetentionWorkflow.js +1 -2
- package/dist/geometryJournalRetentionWorkflowData.js +1 -2
- package/dist/geometryJournalStorage.js +1 -2
- package/dist/geometryLoader.js +1 -2
- package/dist/geometryManifest.js +1 -2
- package/dist/geometryManifestChannel.js +1 -2
- package/dist/geometryManifestClient.js +1 -2
- package/dist/geometryManifestData.js +1 -2
- package/dist/geometryManifestPorts.js +1 -2
- package/dist/geometryManifestPublication.js +1 -2
- package/dist/geometryManifestSource.js +1 -2
- package/dist/geometryMigrationJournal.js +1 -2
- package/dist/geometryMigrationStrategies.js +1 -2
- package/dist/geometryMigrations.js +1 -2
- package/dist/geometryNativeMetadata.js +1 -2
- package/dist/geometryPatch.js +1 -2
- package/dist/geometryPersistence.js +1 -2
- package/dist/geometryPersistenceCapture.js +1 -2
- package/dist/geometryPersistenceData.js +1 -2
- package/dist/geometryPersistencePorts.js +1 -2
- package/dist/geometryPlayerAdmission.js +1 -2
- package/dist/geometryPlayerEditOwner.js +1 -2
- package/dist/geometryPlayerEdits.js +1 -2
- package/dist/geometryPrepared.js +1 -2
- package/dist/geometryPrivacyFence.js +1 -2
- package/dist/geometryProceduralPublication.js +1 -2
- package/dist/geometryProceduralWorker.js +1 -2
- package/dist/geometryPublication.js +1 -2
- package/dist/geometryRayAlgebra.js +1 -2
- package/dist/geometryReadClient.js +1 -2
- package/dist/geometryReadPorts.js +1 -2
- package/dist/geometryReadRpc.js +1 -2
- package/dist/geometryReadRpcRoutes.js +1 -2
- package/dist/geometryReliablePublication.js +1 -2
- package/dist/geometryReloadPorts.js +1 -2
- package/dist/geometryReloadSource.js +1 -2
- package/dist/geometryRenderCache.js +1 -2
- package/dist/geometryRenderLod.js +1 -2
- package/dist/geometryRollback.js +1 -2
- package/dist/geometryRollbackCoordinator.js +2 -3
- package/dist/geometryRollbackPorts.js +1 -2
- package/dist/geometryRollbackSource.js +1 -2
- package/dist/geometryRollbackStore.js +1 -2
- package/dist/geometrySchemas.js +1 -2
- package/dist/geometryShapeRaycast.js +1 -2
- package/dist/geometryShapeSegments.js +1 -2
- package/dist/geometryShapes.js +1 -2
- package/dist/geometrySnapshot.js +1 -2
- package/dist/geometrySnapshotChannel.js +1 -2
- package/dist/geometrySnapshotClient.js +1 -2
- package/dist/geometrySnapshotPreparation.js +1 -2
- package/dist/geometrySnapshotServer.js +1 -2
- package/dist/geometrySqlOwner.js +1 -2
- package/dist/geometryStorage.js +1 -2
- package/dist/geometryStorageGrant.js +1 -2
- package/dist/geometryStorageIdentity.js +1 -2
- package/dist/geometryTileArtifact.js +1 -2
- package/dist/geometryTileCodec.js +1 -2
- package/dist/geometryTileCollision.js +1 -2
- package/dist/geometryTileNavigation.js +1 -2
- package/dist/geometryTileView.js +1 -2
- package/dist/geometryVersionActivation.js +1 -2
- package/dist/geometryVersionClient.js +1 -2
- package/dist/geometryVersionCompare.js +1 -2
- package/dist/geometryVersionMigration.js +1 -2
- package/dist/geometryVoxel.js +1 -2
- package/dist/geometryWorldEntitySubject.js +1 -2
- package/dist/geometryWorldExtent.js +1 -2
- package/dist/geometryWorldMetadata.js +1 -2
- package/dist/geometryWorldStrategyFixtures.js +1 -2
- package/dist/geometryWorldView.js +1 -2
- package/dist/host.js +1 -2
- package/dist/hostBinding.js +1 -2
- package/dist/hostCellObservation.js +1 -2
- package/dist/hostClientCapacity.js +1 -2
- package/dist/hostCommandScope.js +1 -2
- package/dist/hostController.js +2 -3
- package/dist/hostDeployment.js +1 -2
- package/dist/hostDrain.js +1 -2
- package/dist/hostDrainPorts.js +1 -2
- package/dist/hostDriver.js +1 -2
- package/dist/hostLane.js +1 -2
- package/dist/hostListener.js +1 -2
- package/dist/hostListenerBinding.js +1 -2
- package/dist/hostLoopObservation.js +1 -2
- package/dist/hostMetrics.js +1 -2
- package/dist/hostRegistryBinding.js +1 -2
- package/dist/hostSelection.js +1 -2
- package/dist/hostShutdown.js +1 -2
- package/dist/hostTurnObservation.js +1 -2
- package/dist/identities.js +1 -2
- package/dist/index.js +1 -2
- package/dist/inputReceipts.js +1 -2
- package/dist/inputRedundancy.js +1 -2
- package/dist/inspect.js +1 -2
- package/dist/lockstep.js +1 -2
- package/dist/lockstepAdmission.js +1 -2
- package/dist/lockstepAdmissionCodec.js +1 -2
- package/dist/lockstepAdmissionPorts.js +1 -2
- package/dist/lockstepClientSession.js +1 -2
- package/dist/lockstepDefinition.js +1 -2
- package/dist/lockstepHostLoop.js +1 -2
- package/dist/lockstepInitialAdmission.js +1 -2
- package/dist/lockstepInitialStrategyFixtures.js +1 -2
- package/dist/lockstepJournal.js +1 -2
- package/dist/lockstepJournalCodec.js +1 -2
- package/dist/lockstepJournalPorts.js +1 -2
- package/dist/lockstepJournalRebuild.js +1 -2
- package/dist/lockstepJournalRows.js +1 -2
- package/dist/lockstepMembers.js +1 -2
- package/dist/lockstepMessages.js +1 -2
- package/dist/lockstepOwnedRoom.js +1 -2
- package/dist/lockstepPolicies.js +1 -2
- package/dist/lockstepReact.js +1 -2
- package/dist/lockstepRecoveryTruth.js +1 -2
- package/dist/lockstepRosterConfig.js +1 -2
- package/dist/lockstepSeed.js +1 -2
- package/dist/lockstepSeedFixture.js +1 -2
- package/dist/lockstepServer.js +1 -2
- package/dist/lockstepServerConfig.js +1 -2
- package/dist/lockstepServerRoles.js +1 -2
- package/dist/lockstepServerStrategyFixtures.js +1 -2
- package/dist/lockstepStrategies.js +1 -2
- package/dist/lockstepStrategyFixtures.js +1 -2
- package/dist/lockstepTerminal.js +1 -2
- package/dist/lockstepTerminalPorts.js +1 -2
- package/dist/lockstepTransport.js +1 -2
- package/dist/lockstepTransportConfig.js +1 -2
- package/dist/lockstepWireRoster.js +1 -2
- package/dist/matchRoomProvider.js +1 -2
- package/dist/matchRooms.js +1 -2
- package/dist/membershipObserver.js +1 -2
- package/dist/moderation.js +1 -2
- package/dist/movementSpecials.js +1 -2
- package/dist/ownership.js +1 -2
- package/dist/ownershipWithdrawal.js +1 -2
- package/dist/pcg32.js +1 -2
- package/dist/ports.js +1 -2
- package/dist/quaternion.js +2 -3
- package/dist/react.js +1 -2
- package/dist/reaper.js +1 -2
- package/dist/reaperSchemas.js +1 -2
- package/dist/reaperWorkflow.js +1 -2
- package/dist/recovery.js +1 -2
- package/dist/recoverySeats.js +1 -2
- package/dist/replay.js +8 -9
- package/dist/replayPorts.js +1 -2
- package/dist/replayRecording.js +2 -3
- package/dist/replaySchema.js +1 -2
- package/dist/replayStorage.js +1 -2
- package/dist/reservationBatch.js +1 -2
- package/dist/reservationSchemas.js +1 -2
- package/dist/reservations.js +1 -2
- package/dist/reservePort.js +1 -2
- package/dist/resolvedOptions.js +1 -2
- package/dist/room.js +1 -2
- package/dist/roomAccessSweep.js +1 -2
- package/dist/roomAppCommandControl.js +1 -2
- package/dist/roomAuthoringStrategy.js +1 -2
- package/dist/roomErasure.js +1 -2
- package/dist/roomPoolRuntimeDefaults.js +1 -2
- package/dist/roomPoolSelection.js +1 -2
- package/dist/roomPoolTopology.js +1 -2
- package/dist/rpc.js +1 -2
- package/dist/rpcClient.js +1 -2
- package/dist/rpcRoutes.js +1 -2
- package/dist/runtime.js +2 -3
- package/dist/schemaHistory.js +1 -2
- package/dist/seatStore.js +1 -2
- package/dist/seatStrategyFixtures.js +1 -2
- package/dist/seatSubject.js +1 -2
- package/dist/seats.js +1 -2
- package/dist/serverSession.js +1 -2
- package/dist/serverSessionConfig.js +1 -2
- package/dist/sessionAdmission.js +1 -2
- package/dist/sidecarAdmission.js +1 -2
- package/dist/sidecarConfig.js +2 -3
- package/dist/sidecarConfigPublication.js +1 -2
- package/dist/sidecarHostListener.js +1 -2
- package/dist/sidecarIpc.js +1 -2
- package/dist/sidecarPeer.js +1 -2
- package/dist/sidecarProcessPort.js +1 -2
- package/dist/sidecarRuntime.js +1 -2
- package/dist/sidecarSelection.js +1 -2
- package/dist/sidecarWire.js +4 -5
- package/dist/sidecarWrites.js +1 -2
- package/dist/simulation.js +1 -2
- package/dist/simulationAuthoring.js +1 -2
- package/dist/simulationBytes.js +1 -2
- package/dist/simulationConformance.js +1 -2
- package/dist/simulationInputHistoryCapture.js +1 -2
- package/dist/simulationInputHistoryWire.js +1 -2
- package/dist/simulationOptionsWire.js +1 -2
- package/dist/simulationRecoveryWire.js +1 -2
- package/dist/simulationReplay.js +1 -2
- package/dist/simulationSnapshotWire.js +1 -2
- package/dist/simulationState.js +1 -2
- package/dist/snapshotBlob.js +2 -3
- package/dist/snapshotBlobCleanup.js +1 -2
- package/dist/snapshotBlobIndex.js +1 -2
- package/dist/snapshotBudget.js +1 -2
- package/dist/snapshotChain.js +1 -2
- package/dist/snapshotErasure.js +1 -2
- package/dist/snapshotInspection.js +1 -2
- package/dist/snapshotSegmentBlobs.js +1 -2
- package/dist/snapshotUploads.js +1 -2
- package/dist/socketTransport.js +1 -2
- package/dist/spatial.js +2 -3
- package/dist/spectatorPolicy.js +3 -4
- package/dist/spectatorProducer.js +2 -3
- package/dist/startFailureCause.js +1 -2
- package/dist/stateCodec.js +2 -3
- package/dist/strategyFixtures.js +1 -2
- package/dist/streamFraming.js +1 -2
- package/dist/streamTransport.js +1 -2
- package/dist/subjectAdmission.js +1 -2
- package/dist/subjectPrivacy.js +1 -2
- package/dist/subjectPrivacyBinding.js +1 -2
- package/dist/systemManifest.js +1 -2
- package/dist/tables.js +1 -2
- package/dist/testHarness.js +1 -2
- package/dist/testing.js +1 -2
- package/dist/testingPorts.js +1 -2
- package/dist/transform.js +4 -5
- package/dist/transform3d.js +1 -2
- package/dist/transformCollection.js +1 -2
- package/dist/transformCollection3d.js +1 -2
- package/dist/transformCollectionCore.js +2 -3
- package/dist/transformFrames.js +1 -2
- package/dist/transformPrediction3d.js +2 -3
- package/dist/transformRules.js +1 -2
- package/dist/transformSchemas.js +1 -2
- package/dist/transport.js +1 -2
- package/dist/transportAuthoring.js +1 -2
- package/dist/transportCleanup.js +1 -2
- package/dist/transportConformance.js +1 -2
- package/dist/transportConnector.js +1 -2
- package/dist/transportEndpoints.js +1 -2
- package/dist/viewProjection.js +1 -2
- package/dist/web.js +1 -2
- package/dist/webTransportClient.js +1 -2
- package/dist/wire.js +4 -5
- package/dist/withdrawalPort.js +1 -2
- package/dist/world.js +8 -9
- package/dist/worldActorReceipts.js +1 -2
- package/dist/worldActorTransferSnapshot.js +1 -2
- package/dist/worldAdmissionPending.js +1 -2
- package/dist/worldBoundaryCoordinator.js +1 -2
- package/dist/worldCatalog.js +3 -4
- package/dist/worldCellAllocation.js +2 -3
- package/dist/worldCellDestination.js +1 -2
- package/dist/worldCells.js +5 -6
- package/dist/worldChange.js +4 -5
- package/dist/worldClient.js +1 -2
- package/dist/worldClientControl.js +6 -7
- package/dist/worldClientPendingInput.js +1 -2
- package/dist/worldClientRpc.js +1 -2
- package/dist/worldClientRpcRoutes.js +1 -2
- package/dist/worldClientSchemas.js +1 -2
- package/dist/worldCommands.js +5 -6
- package/dist/worldData.js +3 -4
- package/dist/worldDefaultBinding.js +1 -2
- package/dist/worldDefaultGroupAdmission.js +1 -2
- package/dist/worldDefaultGroupAppServices.js +1 -2
- package/dist/worldDefaultGroupCompensation.js +1 -2
- package/dist/worldDefaultGroupContinuation.js +1 -2
- package/dist/worldDefaultGroupControl.js +1 -2
- package/dist/worldDefaultGroupMembers.js +1 -2
- package/dist/worldDefaultGroups.js +1 -2
- package/dist/worldDefaultPending.js +1 -2
- package/dist/worldDefaultService.js +1 -2
- package/dist/worldEntities.js +49 -50
- package/dist/worldEntityCodec.js +1 -2
- package/dist/worldEntityHandoffView.js +1 -2
- package/dist/worldGeometry.js +1 -2
- package/dist/worldGhostAdmission.js +1 -2
- package/dist/worldGhostDestination.js +3 -4
- package/dist/worldGhostGateway.js +1 -2
- package/dist/worldGhostHandshake.js +1 -2
- package/dist/worldGhostHost.js +1 -2
- package/dist/worldGhostIngress.js +1 -2
- package/dist/worldGhostNeighborhood.js +1 -2
- package/dist/worldGhostNeighbors.js +1 -2
- package/dist/worldGhostOutbound.js +1 -2
- package/dist/worldGhostPublisher.js +1 -2
- package/dist/worldGhostReceiver.js +1 -2
- package/dist/worldGhostSender.js +1 -2
- package/dist/worldGhostSocket.js +1 -2
- package/dist/worldGhostWire.js +3 -4
- package/dist/worldGroupCommand.js +1 -2
- package/dist/worldGroupDeadline.js +1 -2
- package/dist/worldGroupPreparation.js +1 -2
- package/dist/worldGroupReadyControl.js +8 -9
- package/dist/worldGroupSupervisor.js +3 -4
- package/dist/worldHandoffMetrics.js +1 -2
- package/dist/worldHandoffView.js +1 -2
- package/dist/worldHostSource.js +5 -6
- package/dist/worldInspectEndpoint.js +1 -2
- package/dist/worldInspection.js +1 -2
- package/dist/worldInstanceAdmission.js +1 -2
- package/dist/worldInstanceAllocation.js +1 -2
- package/dist/worldInstanceDestination.js +1 -2
- package/dist/worldInstanceExpiry.js +1 -2
- package/dist/worldInstanceExpirySupervisor.js +1 -2
- package/dist/worldInstanceLifecycle.js +1 -2
- package/dist/worldInstanceState.js +1 -2
- package/dist/worldInstances.js +1 -2
- package/dist/worldJoin.js +1 -2
- package/dist/worldLayers.js +6 -7
- package/dist/worldLeases.js +5 -6
- package/dist/worldManifest.js +1 -2
- package/dist/worldMovement.js +1 -2
- package/dist/worldPersistence.js +4 -5
- package/dist/worldProjection.js +6 -7
- package/dist/worldReact.js +1 -2
- package/dist/worldRecoveryActor.js +1 -2
- package/dist/worldReturnAnchor.js +1 -2
- package/dist/worldRoomHooks.js +5 -6
- package/dist/worldRoomPool.js +2 -3
- package/dist/worldRoomSteps.js +1 -2
- package/dist/worldSeatBinding.js +1 -2
- package/dist/worldSourceSeatPending.js +1 -2
- package/dist/worldStrategyFixtures.js +1 -2
- package/dist/worldTesting.js +1 -2
- package/dist/worldTransitionDefaults.js +1 -2
- package/dist/worldTransitionExecutor.js +9 -10
- package/dist/worldTransitionGroup.js +1 -2
- package/dist/worldTransitionPhysicalSteps.js +1 -2
- package/dist/worldTransitionResolver.js +8 -9
- package/dist/worldTransitionSeatGroup.js +1 -2
- package/dist/worldTransitionSeats.js +2 -3
- package/dist/worldTransitionState.js +1 -2
- package/dist/worldTransitions.js +8 -9
- package/package.json +10 -10
package/dist/transformSchemas.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { fieldId as e, interpolate as t } from "./room.js";
|
|
2
2
|
import { Schema as n } from "effect";
|
|
3
|
-
|
|
3
|
+
// src/transformSchemas.ts
|
|
4
4
|
var r = n.Struct({
|
|
5
5
|
x: n.Number.pipe(e(1)),
|
|
6
6
|
y: n.Number.pipe(e(2)),
|
|
@@ -16,5 +16,4 @@ var r = n.Struct({
|
|
|
16
16
|
qz: n.Number.pipe(e(6)),
|
|
17
17
|
qw: n.Number.pipe(e(7))
|
|
18
18
|
});
|
|
19
|
-
//#endregion
|
|
20
19
|
export { r as Transform2D, i as Transform3D };
|
package/dist/transport.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "./streamFraming.js";
|
|
2
2
|
import "./streamTransport.js";
|
|
3
|
-
|
|
3
|
+
// src/transport.ts
|
|
4
4
|
var e = (e) => {
|
|
5
5
|
let t = /* @__PURE__ */ new Set();
|
|
6
6
|
return e.onMessage((n, r) => {
|
|
@@ -28,5 +28,4 @@ var e = (e) => {
|
|
|
28
28
|
}
|
|
29
29
|
});
|
|
30
30
|
};
|
|
31
|
-
//#endregion
|
|
32
31
|
export { e as gatewayRoomTransport };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RoomAuthoringError as e } from "./errors.js";
|
|
2
|
-
|
|
2
|
+
// src/transportAuthoring.ts
|
|
3
3
|
var t = (t, r, i) => {
|
|
4
4
|
let a = n(t, r, i);
|
|
5
5
|
if (a) return a;
|
|
@@ -25,5 +25,4 @@ var t = (t, r, i) => {
|
|
|
25
25
|
detail: r
|
|
26
26
|
});
|
|
27
27
|
}, r = (e) => Object.freeze({ now: t(e, "now", "Room transport clock requires an actual captured data method") });
|
|
28
|
-
//#endregion
|
|
29
28
|
export { n as captureOptionalRoomTransportDataMethod, r as captureRoomTransportClock, t as captureRoomTransportDataMethod };
|
package/dist/transportCleanup.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/transportCleanup.ts
|
|
2
2
|
var e = class extends Error {
|
|
3
3
|
cleanup;
|
|
4
4
|
_tag = "RoomTransportCleanupFailure";
|
|
@@ -18,5 +18,4 @@ var e = class extends Error {
|
|
|
18
18
|
}), e;
|
|
19
19
|
}
|
|
20
20
|
};
|
|
21
|
-
//#endregion
|
|
22
21
|
export { e as RoomTransportCleanupFailure };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ProtocolError as e } from "./errors.js";
|
|
2
2
|
import { decodeRoomFrame as t, encodeRoomFrame as n } from "./wire.js";
|
|
3
3
|
import { Result as r } from "effect";
|
|
4
|
-
|
|
4
|
+
// src/transportConformance.ts
|
|
5
5
|
var i = (t, n) => {
|
|
6
6
|
if (!t) throw new e({ detail: n });
|
|
7
7
|
}, a = (e, t) => e.byteLength === t.byteLength && e.every((e, n) => e === t[n]), o = async (o) => {
|
|
@@ -120,5 +120,4 @@ var i = (t, n) => {
|
|
|
120
120
|
if (t.length) throw new e({ detail: "Transport conformance owned cleanup remains incomplete" });
|
|
121
121
|
}
|
|
122
122
|
};
|
|
123
|
-
//#endregion
|
|
124
123
|
export { o as roomTransportConformance };
|
|
@@ -4,7 +4,7 @@ import { RoomTransportCleanupFailure as r } from "./transportCleanup.js";
|
|
|
4
4
|
import { captureRoomTransportEndpoints as i } from "./transportEndpoints.js";
|
|
5
5
|
import { openRoomSocketTransport as a } from "./socketTransport.js";
|
|
6
6
|
import { openRoomWebTransport as o } from "./webTransportClient.js";
|
|
7
|
-
|
|
7
|
+
// src/transportConnector.ts
|
|
8
8
|
var s = Object.freeze({
|
|
9
9
|
connectTimeoutMs: 5e3,
|
|
10
10
|
maxFrameBytes: 65536,
|
|
@@ -78,5 +78,4 @@ var s = Object.freeze({
|
|
|
78
78
|
return a(c.ws, n, h);
|
|
79
79
|
};
|
|
80
80
|
};
|
|
81
|
-
//#endregion
|
|
82
81
|
export { l as roomTransportConnector };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ProtocolError as e } from "./errors.js";
|
|
2
|
-
|
|
2
|
+
// src/transportEndpoints.ts
|
|
3
3
|
var t = (t, n, i) => {
|
|
4
4
|
if (typeof t != "string" || n != null && typeof n != "string" || i != null && typeof i != "string") throw new e({ detail: "Room host routing data is malformed" });
|
|
5
5
|
return r({
|
|
@@ -34,5 +34,4 @@ var t = (t, n, i) => {
|
|
|
34
34
|
...i === void 0 ? {} : { wtCertificateHash: i }
|
|
35
35
|
});
|
|
36
36
|
};
|
|
37
|
-
//#endregion
|
|
38
37
|
export { r as captureRoomTransportEndpoints, t as roomHostTransportEndpoints };
|
package/dist/viewProjection.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ProtocolError as e } from "./errors.js";
|
|
2
2
|
import { Effect as t, Result as n, Schema as r } from "effect";
|
|
3
|
-
|
|
3
|
+
// src/viewProjection.ts
|
|
4
4
|
var i = (i, a, o) => {
|
|
5
5
|
let s = a(Object.freeze({
|
|
6
6
|
...o,
|
|
@@ -12,5 +12,4 @@ var i = (i, a, o) => {
|
|
|
12
12
|
if (n.isFailure(c)) throw new e({ detail: "Room view does not match the state schema" });
|
|
13
13
|
return structuredClone(c.success);
|
|
14
14
|
};
|
|
15
|
-
//#endregion
|
|
16
15
|
export { i as projectRoomView };
|
package/dist/web.js
CHANGED
|
@@ -19,7 +19,7 @@ import { makeWorldEntityHandoffView as z } from "./worldEntityHandoffView.js";
|
|
|
19
19
|
import { WorldClient as B, worldClientReceipt as V, worldClientTicket as H } from "./worldClient.js";
|
|
20
20
|
import { shapeDigest as U } from "@voltro/protocol";
|
|
21
21
|
import { Result as W } from "effect";
|
|
22
|
-
|
|
22
|
+
// src/web.ts
|
|
23
23
|
var G = Object.freeze({
|
|
24
24
|
maxPendingPings: 8,
|
|
25
25
|
pingTimeoutMs: 1e4
|
|
@@ -514,5 +514,4 @@ var G = Object.freeze({
|
|
|
514
514
|
}
|
|
515
515
|
});
|
|
516
516
|
};
|
|
517
|
-
//#endregion
|
|
518
517
|
export { p as RoomConnection, d as RoomInputRedundancy, v as RoomLatestDatagram, J as RoomSession, ee as RoomStreamFrameDecoder, l as RoomTransportCleanupFailure, B as WorldClient, a as WorldClientReceiptSchema, o as WorldClientRequestIdSchema, s as WorldClientTicketSchema, Q as captureRoomClientReliableChannel, re as captureRoomClientReliableIntention, u as captureRoomTransportEndpoints, A as createRoom, j as createRoomClient, m as defaultRoomClockPingCadence, G as defaultRoomClockSampling, f as defaultRoomInputRedundancy, h as defaultRoomReconnectPolicy, g as defaultRoomWebSocketFactory, x as defaultRoomWebTransportFactory, y as encodeRoomStreamFrame, M as joinById, N as joinRoom, te as joinSeat, P as joinWorld, w as listRooms, b as makeRoomStreamTransport, z as makeWorldEntityHandoffView, c as makeWorldHandoffView, _ as openRoomSocketTransport, S as openRoomWebTransport, K as roomCodecs, T as roomRpcReservations, C as roomTransportConnector, V as worldClientReceipt, H as worldClientTicket, E as worldRpcControls, D as worldRpcFollowerReservations, O as worldRpcPending, k as worldRpcReservations };
|
|
@@ -3,7 +3,7 @@ import { captureRoomTransportClock as n } from "./transportAuthoring.js";
|
|
|
3
3
|
import { RoomTransportCleanupFailure as r } from "./transportCleanup.js";
|
|
4
4
|
import { RoomStreamFrameDecoder as i } from "./streamFraming.js";
|
|
5
5
|
import { makeRoomStreamTransport as a } from "./streamTransport.js";
|
|
6
|
-
|
|
6
|
+
// src/webTransportClient.ts
|
|
7
7
|
var o = (t, n) => {
|
|
8
8
|
let r = Reflect.get(globalThis, "WebTransport");
|
|
9
9
|
if (typeof r != "function") throw new e({ detail: "This platform requires a Room WebTransport factory" });
|
|
@@ -169,5 +169,4 @@ var o = (t, n) => {
|
|
|
169
169
|
throw new e({ detail: "Room WebTransport admission failed" });
|
|
170
170
|
}
|
|
171
171
|
};
|
|
172
|
-
//#endregion
|
|
173
172
|
export { o as defaultRoomWebTransportFactory, c as openRoomWebTransport };
|
package/dist/wire.js
CHANGED
|
@@ -5,7 +5,7 @@ import { captureRoomLockstepWireRoster as i } from "./lockstepWireRoster.js";
|
|
|
5
5
|
import { geometryNativeCodecMetadata as a } from "./geometryNativeMetadata.js";
|
|
6
6
|
import { geometryWorldMetadata as o } from "./geometryWorldMetadata.js";
|
|
7
7
|
import { Result as s } from "effect";
|
|
8
|
-
|
|
8
|
+
// src/wire.ts
|
|
9
9
|
var c = "v1/input-ackTick/state-inputReceipt/pong-tick/lockstep-v4-snapshot/recovery-v2/world-handoff-v1", l = Object.freeze({
|
|
10
10
|
maxBytes: 65536,
|
|
11
11
|
maxInputs: 256
|
|
@@ -407,9 +407,9 @@ var d = (e) => Number.isInteger(e) && e >= 0 && e <= 4294967295 ? e : u("Expecte
|
|
|
407
407
|
T(e.firstTick, t.length, n.maxInputs), r.byte(138), r.uint(e.firstTick), r.uint(t.length);
|
|
408
408
|
let i = 0;
|
|
409
409
|
for (let e of t) {
|
|
410
|
-
|
|
410
|
+
e && Object.getPrototypeOf(e) === Object.prototype && Reflect.ownKeys(e).length === 2 || u("Lockstep matrices require exact own players/inputs data");
|
|
411
411
|
let t = Object.getOwnPropertyDescriptor(e, "players"), a = Object.getOwnPropertyDescriptor(e, "inputs");
|
|
412
|
-
|
|
412
|
+
t?.enumerable && a?.enumerable && "value" in t && "value" in a || u("Lockstep matrix accessors refuse");
|
|
413
413
|
let o = C(r, t.value), s = b(a.value, 64);
|
|
414
414
|
(s.length !== o || (i += o) > n.maxInputs) && u("Lockstep matrix mask/cell count exceeds input budget");
|
|
415
415
|
for (let e of s) r.blob(E(e));
|
|
@@ -421,7 +421,7 @@ var d = (e) => Number.isInteger(e) && e >= 0 && e <= 4294967295 ? e : u("Expecte
|
|
|
421
421
|
break;
|
|
422
422
|
case "LsStart": {
|
|
423
423
|
let t = Object.getOwnPropertyDescriptor(e, "roster"), a = Object.getOwnPropertyDescriptor(e, "localPlayerId");
|
|
424
|
-
|
|
424
|
+
t?.enumerable && a?.enumerable && "value" in t && "value" in a || u("Start identity requires own data without accessors");
|
|
425
425
|
let o = i(t.value, Math.min(64, n.maxInputs)), s = d(a.value);
|
|
426
426
|
!o.some((e) => e.playerId === s) && o.length >= 64 && u("Start recipient must belong to its actual roster"), r.byte(140), r.uint(d(e.startTick)), r.uint(d(e.seed)), r.blob(E(e.options)), r.uint(e.serverTimeMs), r.uint(s), r.uint(o.length);
|
|
427
427
|
for (let e of o) r.byte(e.slot), r.uint(e.playerId);
|
|
@@ -488,5 +488,4 @@ var d = (e) => Number.isInteger(e) && e >= 0 && e <= 4294967295 ? e : u("Expecte
|
|
|
488
488
|
return s.fail(_(e));
|
|
489
489
|
}
|
|
490
490
|
};
|
|
491
|
-
//#endregion
|
|
492
491
|
export { n as RoomInputCodec, r as RoomStateCodec, D as decodeRoomFrame, O as encodeRoomFrame, a as geometryNativeCodecMetadata, o as geometryWorldMetadata, c as roomFrameLayout };
|
package/dist/withdrawalPort.js
CHANGED
|
@@ -2,7 +2,7 @@ import { ProtocolError as e } from "./errors.js";
|
|
|
2
2
|
import { RoomHostWithdrawalPort as t } from "./ports.js";
|
|
3
3
|
import { captureRoomHostWithdrawalInput as n } from "./ownershipWithdrawal.js";
|
|
4
4
|
import { Effect as r, Layer as i } from "effect";
|
|
5
|
-
|
|
5
|
+
// src/withdrawalPort.ts
|
|
6
6
|
var a = (t) => {
|
|
7
7
|
let i = t.host.id, a = t.withdraw.bind(t);
|
|
8
8
|
return Object.freeze({ withdraw: (t, o) => {
|
|
@@ -24,5 +24,4 @@ var a = (t) => {
|
|
|
24
24
|
let c = t.peers();
|
|
25
25
|
return c === void 0 ? o : c.withdraw(n, i);
|
|
26
26
|
} });
|
|
27
|
-
//#endregion
|
|
28
27
|
export { o as controllerRoomHostWithdrawalLayer, a as controllerRoomHostWithdrawalService, s as routedRoomHostWithdrawalService };
|
package/dist/world.js
CHANGED
|
@@ -14,7 +14,7 @@ import { WorldClient as M, worldClientReceipt as N, worldClientTicket as P } fro
|
|
|
14
14
|
import { makeWorldGhostNeighborhood as F } from "./worldGhostNeighborhood.js";
|
|
15
15
|
import { makeWorldCellMovement as I } from "./worldMovement.js";
|
|
16
16
|
import { Duration as L } from "effect";
|
|
17
|
-
|
|
17
|
+
// src/world.ts
|
|
18
18
|
function R(t) {
|
|
19
19
|
throw new e({
|
|
20
20
|
room: "world",
|
|
@@ -22,16 +22,16 @@ function R(t) {
|
|
|
22
22
|
});
|
|
23
23
|
}
|
|
24
24
|
var z = (e) => typeof e == "string" && /^[A-Za-z0-9][A-Za-z0-9_-]{0,119}$/.test(e) ? e : R("World names must be nonempty bounded identifiers"), B = (e) => Number.isFinite(e) ? e : R("World coordinates must be finite"), V = (e) => Number.isFinite(e) && e > 0 ? e : R("World dimensions must be positive and finite"), H = (e, t = !1) => Number.isSafeInteger(e) && e >= +!t ? e : R("World counts and durations must be safe whole numbers"), U = (e, t) => {
|
|
25
|
-
|
|
25
|
+
typeof e == "object" && e && Object.getPrototypeOf(e) === Object.prototype || R("World configuration must use plain own data");
|
|
26
26
|
for (let n of Reflect.ownKeys(e)) {
|
|
27
27
|
let r = Object.getOwnPropertyDescriptor(e, n);
|
|
28
|
-
|
|
28
|
+
typeof n == "string" && t.includes(n) && r?.enumerable && "value" in r || R("Unknown or accessor World configuration field");
|
|
29
29
|
}
|
|
30
30
|
}, W = (e, t) => {
|
|
31
31
|
(!Array.isArray(e) || e.length > t || Reflect.ownKeys(e).length !== e.length + 1) && R("Invalid or over-budget World list");
|
|
32
32
|
for (let t = 0; t < e.length; t++) {
|
|
33
33
|
let n = Object.getOwnPropertyDescriptor(e, String(t));
|
|
34
|
-
|
|
34
|
+
n?.enumerable && "value" in n || R("World lists must contain own data entries");
|
|
35
35
|
}
|
|
36
36
|
}, G = (e) => (W(e, 2), e.length !== 2 && R("World points require two coordinates"), Object.freeze([B(e[0]), B(e[1])])), K = (e, t, n, r) => (B(e), B(t), B(n), B(r), V(n - e), V(r - t), Object.freeze([Object.freeze([e, t]), Object.freeze([n, r])])), q = (e) => {
|
|
37
37
|
W(e, 2), e.length !== 2 && R("World bounds require minimum and maximum");
|
|
@@ -115,7 +115,7 @@ var z = (e) => typeof e == "string" && /^[A-Za-z0-9][A-Za-z0-9_-]{0,119}$/.test(
|
|
|
115
115
|
});
|
|
116
116
|
for (let e of d) for (let t of e.neighbors) {
|
|
117
117
|
let n = d.find((e) => e.id === t);
|
|
118
|
-
|
|
118
|
+
n && n.neighbors.includes(e.id) || R("World neighbors must exist and be reciprocal");
|
|
119
119
|
}
|
|
120
120
|
for (let e = 0; e < d.length; e++) for (let t = e + 1; t < d.length; t++) {
|
|
121
121
|
let n = d[e].bounds, r = d[t].bounds;
|
|
@@ -200,7 +200,7 @@ var z = (e) => typeof e == "string" && /^[A-Za-z0-9][A-Za-z0-9_-]{0,119}$/.test(
|
|
|
200
200
|
for (let r of t) {
|
|
201
201
|
if (Array.isArray(e) && r === "length") continue;
|
|
202
202
|
let t = Object.getOwnPropertyDescriptor(e, r);
|
|
203
|
-
|
|
203
|
+
t?.enumerable && "value" in t || R("World catalogue definitions require own data"), n.push(t.value);
|
|
204
204
|
}
|
|
205
205
|
}
|
|
206
206
|
try {
|
|
@@ -229,7 +229,7 @@ var z = (e) => typeof e == "string" && /^[A-Za-z0-9][A-Za-z0-9_-]{0,119}$/.test(
|
|
|
229
229
|
"onWorldChange"
|
|
230
230
|
]) {
|
|
231
231
|
let n = Object.getOwnPropertyDescriptor(e.strategies, t);
|
|
232
|
-
|
|
232
|
+
n && "value" in n && typeof n.value == "function" || R("World descriptor requires complete policy slots");
|
|
233
233
|
}
|
|
234
234
|
U(e.budgets, [
|
|
235
235
|
"maxZones",
|
|
@@ -285,7 +285,7 @@ var z = (e) => typeof e == "string" && /^[A-Za-z0-9][A-Za-z0-9_-]{0,119}$/.test(
|
|
|
285
285
|
"cellCount",
|
|
286
286
|
"strategies",
|
|
287
287
|
"geometry"
|
|
288
|
-
]),
|
|
288
|
+
]), e._tag === "WorldDescriptor" && Object.isFrozen(e) || R("World catalogue requires immutable definitions"), Q(e);
|
|
289
289
|
let t = z(e.name);
|
|
290
290
|
return n.has(t) && R("Duplicate configured World"), n.add(t), e;
|
|
291
291
|
});
|
|
@@ -329,5 +329,4 @@ var z = (e) => typeof e == "string" && /^[A-Za-z0-9][A-Za-z0-9_-]{0,119}$/.test(
|
|
|
329
329
|
at: G(n.at)
|
|
330
330
|
});
|
|
331
331
|
};
|
|
332
|
-
//#endregion
|
|
333
332
|
export { M as WorldClient, E as WorldClientReceiptSchema, D as WorldClientRequestIdSchema, O as WorldClientTicketSchema, p as WorldGroupTransitionRequestSchema, w as WorldInspectionSchema, m as WorldTransitionPhaseSchema, h as WorldTransitionPort, g as WorldTransitionRequestSchema, _ as WorldTransitionTargetSchema, te as captureWorldCatalog, n as cmsGeometry, T as decodeWorldInspection, a as defaultWorldLayerPolicy, c as defaultWorldOnWorldChange, u as defaultWorldTransitionPolicy, X as defineWorld, r as importedGeometry, I as makeWorldCellMovement, j as makeWorldEntityHandoffView, F as makeWorldGhostNeighborhood, k as makeWorldHandoffView, i as procedural, K as rect, o as resolveWorldLayerPolicy, l as resolveWorldOnWorldChange, d as resolveWorldTransitionPolicy, v as stageWorldGroupTransition, y as stageWorldTransition, $ as worldCellAt, re as worldCellById, N as worldClientReceipt, P as worldClientTicket, b as worldGroupTransitionRequest, s as worldLayerMaintenance, A as worldRpcControls, ee as worldRpcPending, ie as worldSpawn, f as worldSystemContractManifest, x as worldTransitionCommandBindings, S as worldTransitionPhases, C as worldTransitionRequest, ne as worldZoneAt };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BudgetExceeded as e, ProtocolError as t } from "./errors.js";
|
|
2
2
|
import { captureWorldData as n } from "./worldData.js";
|
|
3
|
-
|
|
3
|
+
// src/worldActorReceipts.ts
|
|
4
4
|
var r = (r, i = 4096) => {
|
|
5
5
|
if (!Number.isSafeInteger(i) || i < 1 || i > 4096 || !Array.isArray(r)) throw new t({ detail: "Invalid World actor receipt budget or inventory" });
|
|
6
6
|
if (r.length > i) throw new e({
|
|
@@ -44,5 +44,4 @@ var r = (r, i = 4096) => {
|
|
|
44
44
|
let t = new TextEncoder().encode(i(e)), n = await globalThis.crypto.subtle.digest("SHA-256", t);
|
|
45
45
|
return Array.from(new Uint8Array(n), (e) => e.toString(16).padStart(2, "0")).join("");
|
|
46
46
|
};
|
|
47
|
-
//#endregion
|
|
48
47
|
export { r as captureWorldActorReceipts, i as worldActorCanonicalJson, a as worldActorFingerprint };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ProtocolError as e } from "./errors.js";
|
|
2
2
|
import { captureWorldData as t } from "./worldData.js";
|
|
3
3
|
import { worldActorCanonicalJson as n } from "./worldActorReceipts.js";
|
|
4
|
-
|
|
4
|
+
// src/worldActorTransferSnapshot.ts
|
|
5
5
|
var r = (n, r) => {
|
|
6
6
|
let i = t(n, r);
|
|
7
7
|
if (!i || typeof i != "object" || Object.keys(i).length !== 3 || !Number.isSafeInteger(i.schemaHash) || i.schemaHash < 0 || i.schemaHash > 4294967295 || !Array.isArray(i.bytes) || !i.bytes.length || !i.bytes.every((e) => Number.isInteger(e) && e >= 0 && e <= 255) || !i.entity || typeof i.entity != "object" || Array.isArray(i.entity) || typeof i.entity.id != "string" || !i.entity.id || i.entity.id.length > 191) throw new e({ detail: "World actor transfer requires bounded actual codec bytes and source entity" });
|
|
@@ -10,5 +10,4 @@ var r = (n, r) => {
|
|
|
10
10
|
let s = t(i, o), c = r(a, o);
|
|
11
11
|
if (n(s) !== n(c.entity)) throw new e({ detail: "World source requires final snapshot reconciliation before rollback" });
|
|
12
12
|
};
|
|
13
|
-
//#endregion
|
|
14
13
|
export { i as assertWorldActorSnapshotSource, r as captureWorldActorTransferSnapshot };
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
// src/worldAdmissionPending.ts
|
|
2
2
|
var e = class extends Error {
|
|
3
3
|
constructor() {
|
|
4
4
|
super("World reconnect discard must be checkpointed before admission"), this.name = "WorldAdmissionPending";
|
|
5
5
|
}
|
|
6
6
|
};
|
|
7
|
-
//#endregion
|
|
8
7
|
export { e as WorldAdmissionPending };
|
|
@@ -4,7 +4,7 @@ import { captureWorldData as r } from "./worldData.js";
|
|
|
4
4
|
import { captureWorldCatalog as i, worldCellAt as a } from "./world.js";
|
|
5
5
|
import { Effect as o } from "effect";
|
|
6
6
|
import { randomUUID as s } from "node:crypto";
|
|
7
|
-
|
|
7
|
+
// src/worldBoundaryCoordinator.ts
|
|
8
8
|
var c = () => new t({ detail: "World boundary coordination requires its bounded actual source and exact durable requests" }), l = (t, l, u) => {
|
|
9
9
|
let d = [
|
|
10
10
|
"tenantId",
|
|
@@ -144,5 +144,4 @@ var c = () => new t({ detail: "World boundary coordination requires its bounded
|
|
|
144
144
|
}
|
|
145
145
|
});
|
|
146
146
|
};
|
|
147
|
-
//#endregion
|
|
148
147
|
export { l as makeWorldBoundaryCoordinator };
|
package/dist/worldCatalog.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { RoomAuthoringError as e } from "./errors.js";
|
|
2
2
|
import { captureWorldCatalog as t } from "./world.js";
|
|
3
|
-
|
|
3
|
+
// src/worldCatalog.ts
|
|
4
4
|
function n(t) {
|
|
5
5
|
throw new e({
|
|
6
6
|
room: "world-catalog",
|
|
@@ -43,7 +43,7 @@ var r = (e, r, i = 256) => {
|
|
|
43
43
|
let l = [];
|
|
44
44
|
for (let e of [...new Set(c)].sort()) {
|
|
45
45
|
let i = await r(e), a = Object.getOwnPropertyDescriptor(i, "default");
|
|
46
|
-
|
|
46
|
+
a && "value" in a || n("World modules must default-export their immutable definition as data");
|
|
47
47
|
let o = t([a.value], s)[0];
|
|
48
48
|
l.push(Object.freeze({
|
|
49
49
|
source: e,
|
|
@@ -60,7 +60,7 @@ var r = (e, r, i = 256) => {
|
|
|
60
60
|
let s = [];
|
|
61
61
|
for (let t = 0; t < e.length; t++) {
|
|
62
62
|
let r = Object.getOwnPropertyDescriptor(e, String(t));
|
|
63
|
-
|
|
63
|
+
r && "value" in r || n("World catalogue requires own entries");
|
|
64
64
|
let i = Object.getOwnPropertyDescriptor(r.value, "source"), a = Object.getOwnPropertyDescriptor(r.value, "descriptor");
|
|
65
65
|
(!i || !("value" in i) || typeof i.value != "string" || i.value.length === 0 || i.value.length > 4096 || !a || !("value" in a)) && n("Invalid World catalogue source"), s.push(Object.freeze({
|
|
66
66
|
source: i.value,
|
|
@@ -77,5 +77,4 @@ var r = (e, r, i = 256) => {
|
|
|
77
77
|
return this.entries;
|
|
78
78
|
}
|
|
79
79
|
};
|
|
80
|
-
//#endregion
|
|
81
80
|
export { a as WorldCatalog, i as loadWorldCatalog, r as validateWorldRooms };
|
|
@@ -6,7 +6,7 @@ import { dataStoreWorldCells as o } from "./worldCells.js";
|
|
|
6
6
|
import { and as s, eq as c } from "@voltro/database";
|
|
7
7
|
import { Effect as l } from "effect";
|
|
8
8
|
import { createHash as u } from "node:crypto";
|
|
9
|
-
|
|
9
|
+
// src/worldCellAllocation.ts
|
|
10
10
|
function d() {
|
|
11
11
|
throw new e({ detail: "World cell allocation requires actual prepared ownership" });
|
|
12
12
|
}
|
|
@@ -101,7 +101,7 @@ var f = (t) => l.suspend(() => {
|
|
|
101
101
|
return !t?.enumerable || !("value" in t);
|
|
102
102
|
})) && d();
|
|
103
103
|
let g = u.tenantId, _ = i(u.worlds);
|
|
104
|
-
|
|
104
|
+
typeof g == "string" && /^[A-Za-z0-9][A-Za-z0-9_.:-]{0,190}$/.test(g) && typeof u.epochNow == "function" && typeof u.authorize == "function" && typeof u.prepare == "function" || d();
|
|
105
105
|
let v = Object.getOwnPropertyDescriptor(u, "wake");
|
|
106
106
|
(v && (!("value" in v) || typeof v.value != "function") || !v && "wake" in u) && d();
|
|
107
107
|
let y = v ? v.value.bind(u) : void 0, b = Object.getOwnPropertyDescriptor(u, "authorizeRecreation");
|
|
@@ -199,5 +199,4 @@ var f = (t) => l.suspend(() => {
|
|
|
199
199
|
}));
|
|
200
200
|
} });
|
|
201
201
|
};
|
|
202
|
-
//#endregion
|
|
203
202
|
export { m as assertWorldCellRecreation, g as dataStoreWorldCellAllocation, h as nextWorldCellGeneration, p as worldCellCreationKey };
|
|
@@ -4,7 +4,7 @@ import { worldTransitionRequest as n } from "./worldCommands.js";
|
|
|
4
4
|
import { captureWorldCatalog as r, worldCellAt as i } from "./world.js";
|
|
5
5
|
import { dataStoreWorldCells as a } from "./worldCells.js";
|
|
6
6
|
import { Effect as o } from "effect";
|
|
7
|
-
|
|
7
|
+
// src/worldCellDestination.ts
|
|
8
8
|
var s = (s, c) => {
|
|
9
9
|
let l = [
|
|
10
10
|
"tenantId",
|
|
@@ -64,5 +64,4 @@ var s = (s, c) => {
|
|
|
64
64
|
})));
|
|
65
65
|
}).pipe(o.catchCause(() => o.fail(new e({ detail: "SQL World cell destination remains unavailable" }))));
|
|
66
66
|
};
|
|
67
|
-
//#endregion
|
|
68
67
|
export { s as dataStoreWorldCellDestination };
|
package/dist/worldCells.js
CHANGED
|
@@ -5,7 +5,7 @@ import { lockRoomReservationOwners as i } from "./hostClientCapacity.js";
|
|
|
5
5
|
import { assertWorldRoomPool as a } from "./worldRoomPool.js";
|
|
6
6
|
import { and as o, eq as s, generateId as c, id as l, integer as u, neq as d, table as f, text as p, timestamp as m } from "@voltro/database";
|
|
7
7
|
import { Effect as h } from "effect";
|
|
8
|
-
|
|
8
|
+
// src/worldCells.ts
|
|
9
9
|
var g = "_voltro_world_cells", _ = f(g, {
|
|
10
10
|
id: l({ prefix: "wcell" }),
|
|
11
11
|
tenantId: p().maxLength(191),
|
|
@@ -54,10 +54,10 @@ var y = (e, t = 191) => typeof e == "string" && e.length > 0 && e.length <= t &&
|
|
|
54
54
|
try: t,
|
|
55
55
|
catch: (t) => t instanceof e ? t : new e({ detail: "World cell SQL operation remains incomplete" })
|
|
56
56
|
})), w = (e, t) => {
|
|
57
|
-
|
|
57
|
+
typeof e == "object" && e && Object.getPrototypeOf(e) === Object.prototype || v("World cell requests require own data");
|
|
58
58
|
for (let n of Reflect.ownKeys(e)) {
|
|
59
59
|
let r = Object.getOwnPropertyDescriptor(e, n);
|
|
60
|
-
|
|
60
|
+
typeof n == "string" && t.includes(n) && r?.enumerable && "value" in r || v("Invalid World cell request field");
|
|
61
61
|
}
|
|
62
62
|
}, T = (e) => Object.freeze({
|
|
63
63
|
tenantId: y(e.tenantId),
|
|
@@ -81,7 +81,7 @@ var y = (e, t = 191) => typeof e == "string" && e.length > 0 && e.length <= t &&
|
|
|
81
81
|
projection: void 0,
|
|
82
82
|
...n ? { lock: "update" } : {}
|
|
83
83
|
}), A = (l, u) => {
|
|
84
|
-
|
|
84
|
+
Array.isArray(u.worlds) && u.worlds.length && typeof u.authorize == "function" && typeof u.epochNow == "function" || v("World cell directory requires actual configuration and authorization");
|
|
85
85
|
let f = b(u.maxListedCells, !0), p = u.authorize, m = u.epochNow;
|
|
86
86
|
f === 2 ** 53 - 1 && v("World listing budget leaves no lookahead range");
|
|
87
87
|
let _ = /* @__PURE__ */ new Map();
|
|
@@ -455,7 +455,7 @@ var y = (e, t = 191) => typeof e == "string" && e.length > 0 && e.length <= t &&
|
|
|
455
455
|
let t = S(e[0]);
|
|
456
456
|
(t.tenantId !== n.tenantId || t.roomId !== n.roomId) && v("World Room placement escaped its owner scope");
|
|
457
457
|
let i = x(t), a = i.zones.find((e) => e.id === t.zoneId), c = t.cellId.split(":");
|
|
458
|
-
|
|
458
|
+
a && c.length === 3 && c[0] === a.id || v("World Room placement has no declared zone");
|
|
459
459
|
let u = a.cells?.size ?? Math.max(a.bounds[1][0] - a.bounds[0][0], a.bounds[1][1] - a.bounds[0][1]), d = Object.freeze([a.bounds[0][0] + Number(c[1]) * u, a.bounds[0][1] + Number(c[2]) * u]);
|
|
460
460
|
r(i, {
|
|
461
461
|
zone: a.id,
|
|
@@ -485,5 +485,4 @@ var y = (e, t = 191) => typeof e == "string" && e.length > 0 && e.length <= t &&
|
|
|
485
485
|
onErase: (e, t) => j(e, t),
|
|
486
486
|
onExport: (e, t) => j(e, t).pipe(h.as(Object.freeze([])))
|
|
487
487
|
});
|
|
488
|
-
//#endregion
|
|
489
488
|
export { g as WORLD_CELLS_TABLE, A as dataStoreWorldCells, M as worldCellsContribution, j as worldCellsPrivacyScope, _ as worldCellsTable };
|
package/dist/worldChange.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { ProtocolError as e } from "./errors.js";
|
|
2
2
|
import { captureWorldData as t } from "./worldData.js";
|
|
3
|
-
|
|
3
|
+
// src/worldChange.ts
|
|
4
4
|
var n = (e) => e.targetData, r = (r, i, a = n) => {
|
|
5
5
|
let o = () => {
|
|
6
6
|
throw new e({ detail: "World change policy admission refused" });
|
|
7
7
|
};
|
|
8
|
-
|
|
8
|
+
r && Object.getPrototypeOf(r) === Object.prototype && Reflect.ownKeys(r).length === 4 && typeof a == "function" || o();
|
|
9
9
|
for (let e of [
|
|
10
10
|
"sourceWorldId",
|
|
11
11
|
"targetWorldId",
|
|
@@ -13,9 +13,9 @@ var n = (e) => e.targetData, r = (r, i, a = n) => {
|
|
|
13
13
|
"targetData"
|
|
14
14
|
]) {
|
|
15
15
|
let t = Object.getOwnPropertyDescriptor(r, e);
|
|
16
|
-
|
|
16
|
+
t?.enumerable && "value" in t || o();
|
|
17
17
|
}
|
|
18
|
-
|
|
18
|
+
[r.sourceWorldId, r.targetWorldId].every((e) => typeof e == "string" && /^[A-Za-z0-9][A-Za-z0-9_-]{0,119}$/.test(e)) && r.sourceWorldId !== r.targetWorldId || o();
|
|
19
19
|
let s = Object.freeze({
|
|
20
20
|
sourceWorldId: r.sourceWorldId,
|
|
21
21
|
targetWorldId: r.targetWorldId,
|
|
@@ -28,5 +28,4 @@ var n = (e) => e.targetData, r = (r, i, a = n) => {
|
|
|
28
28
|
return o();
|
|
29
29
|
}
|
|
30
30
|
};
|
|
31
|
-
//#endregion
|
|
32
31
|
export { n as defaultWorldOnWorldChange, r as resolveWorldOnWorldChange };
|
package/dist/worldClient.js
CHANGED
|
@@ -9,7 +9,7 @@ import { captureOwnedRoomGeometryChunkCache as f, captureRoomGeometryChunkCache
|
|
|
9
9
|
import { captureGeometryRenderLodCacheOptions as h, makeGeometryRenderLodCache as g } from "./geometryRenderCache.js";
|
|
10
10
|
import { captureWorldCatalog as _ } from "./world.js";
|
|
11
11
|
import { Result as v, Schema as y } from "effect";
|
|
12
|
-
|
|
12
|
+
// src/worldClient.ts
|
|
13
13
|
var b = (e) => new t({ detail: e }), x = (e, t) => {
|
|
14
14
|
if (!e || typeof e != "object" || Object.getPrototypeOf(e) !== Object.prototype || Reflect.ownKeys(e).length !== t.length) throw b("Invalid World client record");
|
|
15
15
|
for (let n of t) {
|
|
@@ -660,5 +660,4 @@ var b = (e) => new t({ detail: e }), x = (e, t) => {
|
|
|
660
660
|
}), e;
|
|
661
661
|
}
|
|
662
662
|
};
|
|
663
|
-
//#endregion
|
|
664
663
|
export { T as WorldClient, C as worldClientReceipt, S as worldClientTicket };
|
|
@@ -4,19 +4,19 @@ import { worldClientReceipt as r, worldClientTicket as i } from "./worldClient.j
|
|
|
4
4
|
import { captureWorldCatalog as a, worldCellAt as o } from "./world.js";
|
|
5
5
|
import { Subject as s } from "@voltro/protocol";
|
|
6
6
|
import { Cause as c, Effect as l, Option as u, Schema as d } from "effect";
|
|
7
|
-
|
|
7
|
+
// src/worldClientControl.ts
|
|
8
8
|
function f() {
|
|
9
9
|
throw new e({ detail: "World client control admission refused" });
|
|
10
10
|
}
|
|
11
11
|
var p = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A-Za-z0-9_.:-]*$/.test(e) ? e : f(), m = (e, t) => {
|
|
12
|
-
|
|
12
|
+
e && typeof e == "object" && Object.getPrototypeOf(e) === Object.prototype || f();
|
|
13
13
|
for (let n of Reflect.ownKeys(e)) {
|
|
14
14
|
let r = Object.getOwnPropertyDescriptor(e, n);
|
|
15
|
-
|
|
15
|
+
typeof n == "string" && t.includes(n) && r?.enumerable && "value" in r || f();
|
|
16
16
|
}
|
|
17
17
|
}, h = (e, t) => {
|
|
18
18
|
let n = e && typeof e == "object" ? Object.getOwnPropertyDescriptor(e, t) : void 0;
|
|
19
|
-
return
|
|
19
|
+
return n && "value" in n && typeof n.value == "function" || f(), n.value.bind(e);
|
|
20
20
|
}, g = (n) => l.suspend(() => {
|
|
21
21
|
let t = n();
|
|
22
22
|
return l.isEffect(t) ? t : l.fail(new e({ detail: "World client control requires actual Effects" }));
|
|
@@ -108,12 +108,12 @@ var p = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
108
108
|
...x === void 0 ? {} : { join: (t, n) => {
|
|
109
109
|
try {
|
|
110
110
|
let e = d.decodeUnknownSync(s)(structuredClone(n));
|
|
111
|
-
return
|
|
111
|
+
return e.type === "user" && e.tenantId === c && u.some((e) => e.name === t) || f(), _(g(() => x(t, e)));
|
|
112
112
|
} catch {
|
|
113
113
|
return l.fail(new e({ detail: "World join requires a signed-in player of this tenant" }));
|
|
114
114
|
}
|
|
115
115
|
} },
|
|
116
|
-
...b === void 0 ? {} : { follow: (e, t) => _(P(e, t, (e) => j(e, "follow").pipe(l.flatMap((t) => g(() => D(t)).pipe(l.flatMap((n) => (M(n, e, t),
|
|
116
|
+
...b === void 0 ? {} : { follow: (e, t) => _(P(e, t, (e) => j(e, "follow").pipe(l.flatMap((t) => g(() => D(t)).pipe(l.flatMap((n) => (M(n, e, t), n.phase === "settled" && n.groupProceed && n.groupCommand || f(), g(() => b(t, e.subject)).pipe(l.map((e) => (e.roomId !== n.target.roomId && f(), e)))))))))) },
|
|
117
117
|
...v === void 0 ? {} : { reservation: (e, t) => _(P(e, t, (e) => j(e, "reservation").pipe(l.flatMap((t) => g(() => D(t)).pipe(l.flatMap((n) => (M(n, e, t), [
|
|
118
118
|
"requested",
|
|
119
119
|
"reserving",
|
|
@@ -137,5 +137,4 @@ var p = (e, t = 191) => typeof e == "string" && e.length <= t && /^[A-Za-z0-9][A
|
|
|
137
137
|
cancel: (e, t) => _(P(e, t, (e) => j(e, "cancel").pipe(l.flatMap((t) => g(() => D(t)).pipe(l.flatMap((n) => (M(n, e, t), n.phase === "committed" || n.phase === "settled" ? l.succeed(N(n, e, t)) : n.group && C ? g(() => C(t, e.subject)).pipe(l.map((n) => N(n, e, t))) : g(() => E(t, "clientCancel", e.expectedSubject)).pipe(l.map((n) => N(n, e, t))))))))))
|
|
138
138
|
});
|
|
139
139
|
};
|
|
140
|
-
//#endregion
|
|
141
140
|
export { v as makeWorldClientControl };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ProtocolError as e } from "./errors.js";
|
|
2
2
|
import { Schema as t } from "effect";
|
|
3
|
-
|
|
3
|
+
// src/worldClientPendingInput.ts
|
|
4
4
|
var n = t.String.pipe(t.check(t.isPattern(/^[A-Za-z0-9][A-Za-z0-9_.:-]{0,190}$/))), r = t.Struct({
|
|
5
5
|
entityId: n,
|
|
6
6
|
roomId: n
|
|
@@ -12,5 +12,4 @@ var n = t.String.pipe(t.check(t.isPattern(/^[A-Za-z0-9][A-Za-z0-9_.:-]{0,190}$/)
|
|
|
12
12
|
}
|
|
13
13
|
return Object.freeze(t.decodeUnknownSync(r)(n));
|
|
14
14
|
};
|
|
15
|
-
//#endregion
|
|
16
15
|
export { r as WorldClientPendingInputSchema, i as captureWorldClientPendingInput };
|
package/dist/worldClientRpc.js
CHANGED
|
@@ -6,7 +6,7 @@ import { RoomReservationSchema as s } from "./reservationSchemas.js";
|
|
|
6
6
|
import { WORLD_TRANSITIONS_TABLE as c } from "./identities.js";
|
|
7
7
|
import { defineAction as l, defineQuery as u } from "@voltro/protocol";
|
|
8
8
|
import { Schema as d } from "effect";
|
|
9
|
-
|
|
9
|
+
// src/worldClientRpc.ts
|
|
10
10
|
var f = "Installed World client control requires the current authenticated user/guest, exact tenant/Subject ownership, real authorization and server-origin resolution; player payloads contain intentions only", p = l({
|
|
11
11
|
name: "rooms.world.prepare",
|
|
12
12
|
input: d.Struct({
|
|
@@ -129,5 +129,4 @@ var f = "Installed World client control requires the current authenticated user/
|
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
131
|
]);
|
|
132
|
-
//#endregion
|
|
133
132
|
export { o as WorldClientPendingInputSchema, b as WorldJoinResultSchema, _ as worldCancelDescriptor, S as worldClientRpcImports, g as worldCommitDescriptor, y as worldFollowDescriptor, x as worldJoinDescriptor, h as worldObserveDescriptor, m as worldPendingDescriptor, p as worldPrepareDescriptor, v as worldReservationDescriptor };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ProtocolError as e } from "./errors.js";
|
|
2
2
|
import { worldCancelDescriptor as t, worldCommitDescriptor as n, worldFollowDescriptor as r, worldJoinDescriptor as i, worldObserveDescriptor as a, worldPendingDescriptor as o, worldPrepareDescriptor as s, worldReservationDescriptor as c } from "./worldClientRpc.js";
|
|
3
3
|
import { Effect as l } from "effect";
|
|
4
|
-
|
|
4
|
+
// src/worldClientRpcRoutes.ts
|
|
5
5
|
var u = (u) => [
|
|
6
6
|
{
|
|
7
7
|
...o,
|
|
@@ -39,5 +39,4 @@ var u = (u) => [
|
|
|
39
39
|
execute: (t, n) => u.join ? u.join(t.world, n.request.subject) : l.fail(new e({ detail: "World join is not installed" }))
|
|
40
40
|
}
|
|
41
41
|
];
|
|
42
|
-
//#endregion
|
|
43
42
|
export { u as worldClientRpcRoutes };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Schema as e } from "effect";
|
|
2
|
-
|
|
2
|
+
// src/worldClientSchemas.ts
|
|
3
3
|
var t = e.String.pipe(e.check(e.isPattern(/^[A-Za-z0-9][A-Za-z0-9_.:-]{0,190}$/))), n = e.Int.pipe(e.check(e.isBetween({
|
|
4
4
|
minimum: 1,
|
|
5
5
|
maximum: 2147483647
|
|
@@ -24,5 +24,4 @@ var t = e.String.pipe(e.check(e.isPattern(/^[A-Za-z0-9][A-Za-z0-9_.:-]{0,190}$/)
|
|
|
24
24
|
]),
|
|
25
25
|
entityRevision: e.NullOr(n)
|
|
26
26
|
}).pipe(e.check(e.makeFilter((e) => (e.phase === "committed" || e.phase === "settled") == (e.entityRevision !== null))));
|
|
27
|
-
//#endregion
|
|
28
27
|
export { a as WorldClientReceiptSchema, r as WorldClientRequestIdSchema, i as WorldClientTicketSchema };
|