@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.
Files changed (451) hide show
  1. package/CHANGELOG.md +272 -6
  2. package/THIRD-PARTY-NOTICES.md +1542 -368
  3. package/dist/actor.js +1 -2
  4. package/dist/apiBinding.js +1 -2
  5. package/dist/apiRegistryBinding.js +1 -2
  6. package/dist/apiReservations.js +3 -4
  7. package/dist/baselines.js +1 -2
  8. package/dist/bots.js +2 -3
  9. package/dist/catalog.js +1 -2
  10. package/dist/checkpointJson.js +1 -2
  11. package/dist/checkpointStore.js +13 -14
  12. package/dist/client.js +1 -2
  13. package/dist/clockSync.js +1 -2
  14. package/dist/collision.js +3 -4
  15. package/dist/commandDelivery.js +1 -2
  16. package/dist/commandRecord.js +1 -2
  17. package/dist/commandWithdrawal.js +1 -2
  18. package/dist/connection.js +1 -2
  19. package/dist/controlCarrier.js +1 -2
  20. package/dist/controlRegistry.js +1 -2
  21. package/dist/controlTarget.js +1 -2
  22. package/dist/controlTransport.js +1 -2
  23. package/dist/developmentBinding.js +1 -2
  24. package/dist/directory.js +3 -4
  25. package/dist/directoryProjection.js +1 -2
  26. package/dist/errors.js +1 -2
  27. package/dist/fixed32.js +1 -2
  28. package/dist/fixedCollision.js +1 -2
  29. package/dist/fixedCollision32.js +1 -2
  30. package/dist/fixedMath.js +1 -2
  31. package/dist/fixedRaw.js +1 -2
  32. package/dist/fixedSlabs.js +1 -2
  33. package/dist/fixedTrig.js +1 -2
  34. package/dist/fixedTrig32.js +1 -2
  35. package/dist/fixedVectors.js +1 -2
  36. package/dist/fixedVectors32.js +1 -2
  37. package/dist/fixedWide.js +1 -2
  38. package/dist/fixedWords.js +1 -2
  39. package/dist/gateway.js +1 -2
  40. package/dist/geometryActivation.js +1 -2
  41. package/dist/geometryActorInventory.js +1 -2
  42. package/dist/geometryAdminClient.js +1 -2
  43. package/dist/geometryAdminData.js +1 -2
  44. package/dist/geometryAdminFixtures.js +1 -2
  45. package/dist/geometryAdminPorts.js +1 -2
  46. package/dist/geometryAdminRpc.js +1 -2
  47. package/dist/geometryAdminRpcRoutes.js +1 -2
  48. package/dist/geometryAdminSchemas.js +1 -2
  49. package/dist/geometryAdministration.js +1 -2
  50. package/dist/geometryAdministrationPorts.js +1 -2
  51. package/dist/geometryApiBinding.js +1 -2
  52. package/dist/geometryAppStorage.js +1 -2
  53. package/dist/geometryArtifacts.js +1 -2
  54. package/dist/geometryAssetBundle.js +1 -2
  55. package/dist/geometryAssetClient.js +1 -2
  56. package/dist/geometryAssetData.js +1 -2
  57. package/dist/geometryAssetHttp.js +1 -2
  58. package/dist/geometryAssetPorts.js +1 -2
  59. package/dist/geometryAssetRpc.js +1 -2
  60. package/dist/geometryAssetRpcRoutes.js +1 -2
  61. package/dist/geometryAssetStorageGrant.js +1 -2
  62. package/dist/geometryBoxOverlap.js +1 -2
  63. package/dist/geometryCatalogueDigest.js +1 -2
  64. package/dist/geometryCellCoverage.js +1 -2
  65. package/dist/geometryCellLoader.js +1 -2
  66. package/dist/geometryChannel.js +1 -2
  67. package/dist/geometryChunkHttp.js +1 -2
  68. package/dist/geometryChunkLeases.js +1 -2
  69. package/dist/geometryClient.js +1 -2
  70. package/dist/geometryClientChunks.js +1 -2
  71. package/dist/geometryClientDelta.js +1 -2
  72. package/dist/geometryClientHttp.js +1 -2
  73. package/dist/geometryClientInterest.js +1 -2
  74. package/dist/geometryClientStatic.js +1 -2
  75. package/dist/geometryCms.js +1 -2
  76. package/dist/geometryCommitCoordinator.js +1 -2
  77. package/dist/geometryCompactionFixture.js +1 -2
  78. package/dist/geometryCompactionStrategies.js +1 -2
  79. package/dist/geometryConnectionClient.js +1 -2
  80. package/dist/geometryDerivationFixtures.js +1 -2
  81. package/dist/geometryDerivationStrategies.js +1 -2
  82. package/dist/geometryDigest.js +1 -2
  83. package/dist/geometryEditChannel.js +1 -2
  84. package/dist/geometryEditIngress.js +1 -2
  85. package/dist/geometryEdits.js +1 -2
  86. package/dist/geometryEnvelope.js +1 -2
  87. package/dist/geometryGridRaycast.js +1 -2
  88. package/dist/geometryGridSweep.js +1 -2
  89. package/dist/geometryHeightfield.js +1 -2
  90. package/dist/geometryHeightfieldRaycast.js +1 -2
  91. package/dist/geometryHeightfieldSweep.js +1 -2
  92. package/dist/geometryHeightfieldVolume.js +1 -2
  93. package/dist/geometryHost.js +2 -3
  94. package/dist/geometryHostDirectory.js +1 -2
  95. package/dist/geometryHostMutations.js +1 -2
  96. package/dist/geometryHostStreams.js +1 -2
  97. package/dist/geometryHttpBody.js +1 -2
  98. package/dist/geometryHttpRoutes.js +1 -2
  99. package/dist/geometryImportGltf.js +1 -2
  100. package/dist/geometryImportLdtk.js +1 -2
  101. package/dist/geometryImportPng.js +1 -2
  102. package/dist/geometryImportPublication.js +1 -2
  103. package/dist/geometryImportTiled.js +1 -2
  104. package/dist/geometryImportTiles.js +1 -2
  105. package/dist/geometryImportVox.js +1 -2
  106. package/dist/geometryImportedSource.js +1 -2
  107. package/dist/geometryInspectEndpoint.js +1 -2
  108. package/dist/geometryInspection.js +1 -2
  109. package/dist/geometryInstall.js +1 -2
  110. package/dist/geometryJournalArchiveData.js +1 -2
  111. package/dist/geometryJournalArchiveIndex.js +2 -3
  112. package/dist/geometryJournalArchiveTable.js +1 -2
  113. package/dist/geometryJournalCompaction.js +1 -2
  114. package/dist/geometryJournalPatch.js +1 -2
  115. package/dist/geometryJournalRetention.js +1 -2
  116. package/dist/geometryJournalRetentionSchemas.js +1 -2
  117. package/dist/geometryJournalRetentionSweep.js +1 -2
  118. package/dist/geometryJournalRetentionWorkflow.js +1 -2
  119. package/dist/geometryJournalRetentionWorkflowData.js +1 -2
  120. package/dist/geometryJournalStorage.js +1 -2
  121. package/dist/geometryLoader.js +1 -2
  122. package/dist/geometryManifest.js +1 -2
  123. package/dist/geometryManifestChannel.js +1 -2
  124. package/dist/geometryManifestClient.js +1 -2
  125. package/dist/geometryManifestData.js +1 -2
  126. package/dist/geometryManifestPorts.js +1 -2
  127. package/dist/geometryManifestPublication.js +1 -2
  128. package/dist/geometryManifestSource.js +1 -2
  129. package/dist/geometryMigrationJournal.js +1 -2
  130. package/dist/geometryMigrationStrategies.js +1 -2
  131. package/dist/geometryMigrations.js +1 -2
  132. package/dist/geometryNativeMetadata.js +1 -2
  133. package/dist/geometryPatch.js +1 -2
  134. package/dist/geometryPersistence.js +1 -2
  135. package/dist/geometryPersistenceCapture.js +1 -2
  136. package/dist/geometryPersistenceData.js +1 -2
  137. package/dist/geometryPersistencePorts.js +1 -2
  138. package/dist/geometryPlayerAdmission.js +1 -2
  139. package/dist/geometryPlayerEditOwner.js +1 -2
  140. package/dist/geometryPlayerEdits.js +1 -2
  141. package/dist/geometryPrepared.js +1 -2
  142. package/dist/geometryPrivacyFence.js +1 -2
  143. package/dist/geometryProceduralPublication.js +1 -2
  144. package/dist/geometryProceduralWorker.js +1 -2
  145. package/dist/geometryPublication.js +1 -2
  146. package/dist/geometryRayAlgebra.js +1 -2
  147. package/dist/geometryReadClient.js +1 -2
  148. package/dist/geometryReadPorts.js +1 -2
  149. package/dist/geometryReadRpc.js +1 -2
  150. package/dist/geometryReadRpcRoutes.js +1 -2
  151. package/dist/geometryReliablePublication.js +1 -2
  152. package/dist/geometryReloadPorts.js +1 -2
  153. package/dist/geometryReloadSource.js +1 -2
  154. package/dist/geometryRenderCache.js +1 -2
  155. package/dist/geometryRenderLod.js +1 -2
  156. package/dist/geometryRollback.js +1 -2
  157. package/dist/geometryRollbackCoordinator.js +2 -3
  158. package/dist/geometryRollbackPorts.js +1 -2
  159. package/dist/geometryRollbackSource.js +1 -2
  160. package/dist/geometryRollbackStore.js +1 -2
  161. package/dist/geometrySchemas.js +1 -2
  162. package/dist/geometryShapeRaycast.js +1 -2
  163. package/dist/geometryShapeSegments.js +1 -2
  164. package/dist/geometryShapes.js +1 -2
  165. package/dist/geometrySnapshot.js +1 -2
  166. package/dist/geometrySnapshotChannel.js +1 -2
  167. package/dist/geometrySnapshotClient.js +1 -2
  168. package/dist/geometrySnapshotPreparation.js +1 -2
  169. package/dist/geometrySnapshotServer.js +1 -2
  170. package/dist/geometrySqlOwner.js +1 -2
  171. package/dist/geometryStorage.js +1 -2
  172. package/dist/geometryStorageGrant.js +1 -2
  173. package/dist/geometryStorageIdentity.js +1 -2
  174. package/dist/geometryTileArtifact.js +1 -2
  175. package/dist/geometryTileCodec.js +1 -2
  176. package/dist/geometryTileCollision.js +1 -2
  177. package/dist/geometryTileNavigation.js +1 -2
  178. package/dist/geometryTileView.js +1 -2
  179. package/dist/geometryVersionActivation.js +1 -2
  180. package/dist/geometryVersionClient.js +1 -2
  181. package/dist/geometryVersionCompare.js +1 -2
  182. package/dist/geometryVersionMigration.js +1 -2
  183. package/dist/geometryVoxel.js +1 -2
  184. package/dist/geometryWorldEntitySubject.js +1 -2
  185. package/dist/geometryWorldExtent.js +1 -2
  186. package/dist/geometryWorldMetadata.js +1 -2
  187. package/dist/geometryWorldStrategyFixtures.js +1 -2
  188. package/dist/geometryWorldView.js +1 -2
  189. package/dist/host.js +1 -2
  190. package/dist/hostBinding.js +1 -2
  191. package/dist/hostCellObservation.js +1 -2
  192. package/dist/hostClientCapacity.js +1 -2
  193. package/dist/hostCommandScope.js +1 -2
  194. package/dist/hostController.js +2 -3
  195. package/dist/hostDeployment.js +1 -2
  196. package/dist/hostDrain.js +1 -2
  197. package/dist/hostDrainPorts.js +1 -2
  198. package/dist/hostDriver.js +1 -2
  199. package/dist/hostLane.js +1 -2
  200. package/dist/hostListener.js +1 -2
  201. package/dist/hostListenerBinding.js +1 -2
  202. package/dist/hostLoopObservation.js +1 -2
  203. package/dist/hostMetrics.js +1 -2
  204. package/dist/hostRegistryBinding.js +1 -2
  205. package/dist/hostSelection.js +1 -2
  206. package/dist/hostShutdown.js +1 -2
  207. package/dist/hostTurnObservation.js +1 -2
  208. package/dist/identities.js +1 -2
  209. package/dist/index.js +1 -2
  210. package/dist/inputReceipts.js +1 -2
  211. package/dist/inputRedundancy.js +1 -2
  212. package/dist/inspect.js +1 -2
  213. package/dist/lockstep.js +1 -2
  214. package/dist/lockstepAdmission.js +1 -2
  215. package/dist/lockstepAdmissionCodec.js +1 -2
  216. package/dist/lockstepAdmissionPorts.js +1 -2
  217. package/dist/lockstepClientSession.js +1 -2
  218. package/dist/lockstepDefinition.js +1 -2
  219. package/dist/lockstepHostLoop.js +1 -2
  220. package/dist/lockstepInitialAdmission.js +1 -2
  221. package/dist/lockstepInitialStrategyFixtures.js +1 -2
  222. package/dist/lockstepJournal.js +1 -2
  223. package/dist/lockstepJournalCodec.js +1 -2
  224. package/dist/lockstepJournalPorts.js +1 -2
  225. package/dist/lockstepJournalRebuild.js +1 -2
  226. package/dist/lockstepJournalRows.js +1 -2
  227. package/dist/lockstepMembers.js +1 -2
  228. package/dist/lockstepMessages.js +1 -2
  229. package/dist/lockstepOwnedRoom.js +1 -2
  230. package/dist/lockstepPolicies.js +1 -2
  231. package/dist/lockstepReact.js +1 -2
  232. package/dist/lockstepRecoveryTruth.js +1 -2
  233. package/dist/lockstepRosterConfig.js +1 -2
  234. package/dist/lockstepSeed.js +1 -2
  235. package/dist/lockstepSeedFixture.js +1 -2
  236. package/dist/lockstepServer.js +1 -2
  237. package/dist/lockstepServerConfig.js +1 -2
  238. package/dist/lockstepServerRoles.js +1 -2
  239. package/dist/lockstepServerStrategyFixtures.js +1 -2
  240. package/dist/lockstepStrategies.js +1 -2
  241. package/dist/lockstepStrategyFixtures.js +1 -2
  242. package/dist/lockstepTerminal.js +1 -2
  243. package/dist/lockstepTerminalPorts.js +1 -2
  244. package/dist/lockstepTransport.js +1 -2
  245. package/dist/lockstepTransportConfig.js +1 -2
  246. package/dist/lockstepWireRoster.js +1 -2
  247. package/dist/matchRoomProvider.js +1 -2
  248. package/dist/matchRooms.js +1 -2
  249. package/dist/membershipObserver.js +1 -2
  250. package/dist/moderation.js +1 -2
  251. package/dist/movementSpecials.js +1 -2
  252. package/dist/ownership.js +1 -2
  253. package/dist/ownershipWithdrawal.js +1 -2
  254. package/dist/pcg32.js +1 -2
  255. package/dist/ports.js +1 -2
  256. package/dist/quaternion.js +2 -3
  257. package/dist/react.js +1 -2
  258. package/dist/reaper.js +1 -2
  259. package/dist/reaperSchemas.js +1 -2
  260. package/dist/reaperWorkflow.js +1 -2
  261. package/dist/recovery.js +1 -2
  262. package/dist/recoverySeats.js +1 -2
  263. package/dist/replay.js +8 -9
  264. package/dist/replayPorts.js +1 -2
  265. package/dist/replayRecording.js +2 -3
  266. package/dist/replaySchema.js +1 -2
  267. package/dist/replayStorage.js +1 -2
  268. package/dist/reservationBatch.js +1 -2
  269. package/dist/reservationSchemas.js +1 -2
  270. package/dist/reservations.js +1 -2
  271. package/dist/reservePort.js +1 -2
  272. package/dist/resolvedOptions.js +1 -2
  273. package/dist/room.js +1 -2
  274. package/dist/roomAccessSweep.js +1 -2
  275. package/dist/roomAppCommandControl.js +1 -2
  276. package/dist/roomAuthoringStrategy.js +1 -2
  277. package/dist/roomErasure.js +1 -2
  278. package/dist/roomPoolRuntimeDefaults.js +1 -2
  279. package/dist/roomPoolSelection.js +1 -2
  280. package/dist/roomPoolTopology.js +1 -2
  281. package/dist/rpc.js +1 -2
  282. package/dist/rpcClient.js +1 -2
  283. package/dist/rpcRoutes.js +1 -2
  284. package/dist/runtime.js +2 -3
  285. package/dist/schemaHistory.js +1 -2
  286. package/dist/seatStore.js +1 -2
  287. package/dist/seatStrategyFixtures.js +1 -2
  288. package/dist/seatSubject.js +1 -2
  289. package/dist/seats.js +1 -2
  290. package/dist/serverSession.js +1 -2
  291. package/dist/serverSessionConfig.js +1 -2
  292. package/dist/sessionAdmission.js +1 -2
  293. package/dist/sidecarAdmission.js +1 -2
  294. package/dist/sidecarConfig.js +2 -3
  295. package/dist/sidecarConfigPublication.js +1 -2
  296. package/dist/sidecarHostListener.js +1 -2
  297. package/dist/sidecarIpc.js +1 -2
  298. package/dist/sidecarPeer.js +1 -2
  299. package/dist/sidecarProcessPort.js +1 -2
  300. package/dist/sidecarRuntime.js +1 -2
  301. package/dist/sidecarSelection.js +1 -2
  302. package/dist/sidecarWire.js +4 -5
  303. package/dist/sidecarWrites.js +1 -2
  304. package/dist/simulation.js +1 -2
  305. package/dist/simulationAuthoring.js +1 -2
  306. package/dist/simulationBytes.js +1 -2
  307. package/dist/simulationConformance.js +1 -2
  308. package/dist/simulationInputHistoryCapture.js +1 -2
  309. package/dist/simulationInputHistoryWire.js +1 -2
  310. package/dist/simulationOptionsWire.js +1 -2
  311. package/dist/simulationRecoveryWire.js +1 -2
  312. package/dist/simulationReplay.js +1 -2
  313. package/dist/simulationSnapshotWire.js +1 -2
  314. package/dist/simulationState.js +1 -2
  315. package/dist/snapshotBlob.js +2 -3
  316. package/dist/snapshotBlobCleanup.js +1 -2
  317. package/dist/snapshotBlobIndex.js +1 -2
  318. package/dist/snapshotBudget.js +1 -2
  319. package/dist/snapshotChain.js +1 -2
  320. package/dist/snapshotErasure.js +1 -2
  321. package/dist/snapshotInspection.js +1 -2
  322. package/dist/snapshotSegmentBlobs.js +1 -2
  323. package/dist/snapshotUploads.js +1 -2
  324. package/dist/socketTransport.js +1 -2
  325. package/dist/spatial.js +2 -3
  326. package/dist/spectatorPolicy.js +3 -4
  327. package/dist/spectatorProducer.js +2 -3
  328. package/dist/startFailureCause.js +1 -2
  329. package/dist/stateCodec.js +2 -3
  330. package/dist/strategyFixtures.js +1 -2
  331. package/dist/streamFraming.js +1 -2
  332. package/dist/streamTransport.js +1 -2
  333. package/dist/subjectAdmission.js +1 -2
  334. package/dist/subjectPrivacy.js +1 -2
  335. package/dist/subjectPrivacyBinding.js +1 -2
  336. package/dist/systemManifest.js +1 -2
  337. package/dist/tables.js +1 -2
  338. package/dist/testHarness.js +1 -2
  339. package/dist/testing.js +1 -2
  340. package/dist/testingPorts.js +1 -2
  341. package/dist/transform.js +4 -5
  342. package/dist/transform3d.js +1 -2
  343. package/dist/transformCollection.js +1 -2
  344. package/dist/transformCollection3d.js +1 -2
  345. package/dist/transformCollectionCore.js +2 -3
  346. package/dist/transformFrames.js +1 -2
  347. package/dist/transformPrediction3d.js +2 -3
  348. package/dist/transformRules.js +1 -2
  349. package/dist/transformSchemas.js +1 -2
  350. package/dist/transport.js +1 -2
  351. package/dist/transportAuthoring.js +1 -2
  352. package/dist/transportCleanup.js +1 -2
  353. package/dist/transportConformance.js +1 -2
  354. package/dist/transportConnector.js +1 -2
  355. package/dist/transportEndpoints.js +1 -2
  356. package/dist/viewProjection.js +1 -2
  357. package/dist/web.js +1 -2
  358. package/dist/webTransportClient.js +1 -2
  359. package/dist/wire.js +4 -5
  360. package/dist/withdrawalPort.js +1 -2
  361. package/dist/world.js +8 -9
  362. package/dist/worldActorReceipts.js +1 -2
  363. package/dist/worldActorTransferSnapshot.js +1 -2
  364. package/dist/worldAdmissionPending.js +1 -2
  365. package/dist/worldBoundaryCoordinator.js +1 -2
  366. package/dist/worldCatalog.js +3 -4
  367. package/dist/worldCellAllocation.js +2 -3
  368. package/dist/worldCellDestination.js +1 -2
  369. package/dist/worldCells.js +5 -6
  370. package/dist/worldChange.js +4 -5
  371. package/dist/worldClient.js +1 -2
  372. package/dist/worldClientControl.js +6 -7
  373. package/dist/worldClientPendingInput.js +1 -2
  374. package/dist/worldClientRpc.js +1 -2
  375. package/dist/worldClientRpcRoutes.js +1 -2
  376. package/dist/worldClientSchemas.js +1 -2
  377. package/dist/worldCommands.js +5 -6
  378. package/dist/worldData.js +3 -4
  379. package/dist/worldDefaultBinding.js +1 -2
  380. package/dist/worldDefaultGroupAdmission.js +1 -2
  381. package/dist/worldDefaultGroupAppServices.js +1 -2
  382. package/dist/worldDefaultGroupCompensation.js +1 -2
  383. package/dist/worldDefaultGroupContinuation.js +1 -2
  384. package/dist/worldDefaultGroupControl.js +1 -2
  385. package/dist/worldDefaultGroupMembers.js +1 -2
  386. package/dist/worldDefaultGroups.js +1 -2
  387. package/dist/worldDefaultPending.js +1 -2
  388. package/dist/worldDefaultService.js +1 -2
  389. package/dist/worldEntities.js +49 -50
  390. package/dist/worldEntityCodec.js +1 -2
  391. package/dist/worldEntityHandoffView.js +1 -2
  392. package/dist/worldGeometry.js +1 -2
  393. package/dist/worldGhostAdmission.js +1 -2
  394. package/dist/worldGhostDestination.js +3 -4
  395. package/dist/worldGhostGateway.js +1 -2
  396. package/dist/worldGhostHandshake.js +1 -2
  397. package/dist/worldGhostHost.js +1 -2
  398. package/dist/worldGhostIngress.js +1 -2
  399. package/dist/worldGhostNeighborhood.js +1 -2
  400. package/dist/worldGhostNeighbors.js +1 -2
  401. package/dist/worldGhostOutbound.js +1 -2
  402. package/dist/worldGhostPublisher.js +1 -2
  403. package/dist/worldGhostReceiver.js +1 -2
  404. package/dist/worldGhostSender.js +1 -2
  405. package/dist/worldGhostSocket.js +1 -2
  406. package/dist/worldGhostWire.js +3 -4
  407. package/dist/worldGroupCommand.js +1 -2
  408. package/dist/worldGroupDeadline.js +1 -2
  409. package/dist/worldGroupPreparation.js +1 -2
  410. package/dist/worldGroupReadyControl.js +8 -9
  411. package/dist/worldGroupSupervisor.js +3 -4
  412. package/dist/worldHandoffMetrics.js +1 -2
  413. package/dist/worldHandoffView.js +1 -2
  414. package/dist/worldHostSource.js +5 -6
  415. package/dist/worldInspectEndpoint.js +1 -2
  416. package/dist/worldInspection.js +1 -2
  417. package/dist/worldInstanceAdmission.js +1 -2
  418. package/dist/worldInstanceAllocation.js +1 -2
  419. package/dist/worldInstanceDestination.js +1 -2
  420. package/dist/worldInstanceExpiry.js +1 -2
  421. package/dist/worldInstanceExpirySupervisor.js +1 -2
  422. package/dist/worldInstanceLifecycle.js +1 -2
  423. package/dist/worldInstanceState.js +1 -2
  424. package/dist/worldInstances.js +1 -2
  425. package/dist/worldJoin.js +1 -2
  426. package/dist/worldLayers.js +6 -7
  427. package/dist/worldLeases.js +5 -6
  428. package/dist/worldManifest.js +1 -2
  429. package/dist/worldMovement.js +1 -2
  430. package/dist/worldPersistence.js +4 -5
  431. package/dist/worldProjection.js +6 -7
  432. package/dist/worldReact.js +1 -2
  433. package/dist/worldRecoveryActor.js +1 -2
  434. package/dist/worldReturnAnchor.js +1 -2
  435. package/dist/worldRoomHooks.js +5 -6
  436. package/dist/worldRoomPool.js +2 -3
  437. package/dist/worldRoomSteps.js +1 -2
  438. package/dist/worldSeatBinding.js +1 -2
  439. package/dist/worldSourceSeatPending.js +1 -2
  440. package/dist/worldStrategyFixtures.js +1 -2
  441. package/dist/worldTesting.js +1 -2
  442. package/dist/worldTransitionDefaults.js +1 -2
  443. package/dist/worldTransitionExecutor.js +9 -10
  444. package/dist/worldTransitionGroup.js +1 -2
  445. package/dist/worldTransitionPhysicalSteps.js +1 -2
  446. package/dist/worldTransitionResolver.js +8 -9
  447. package/dist/worldTransitionSeatGroup.js +1 -2
  448. package/dist/worldTransitionSeats.js +2 -3
  449. package/dist/worldTransitionState.js +1 -2
  450. package/dist/worldTransitions.js +8 -9
  451. package/package.json +10 -10
package/dist/actor.js CHANGED
@@ -8,7 +8,7 @@ import { WorldAdmissionPending as m } from "./worldAdmissionPending.js";
8
8
  import { captureWorldActorReceipts as h, worldActorCanonicalJson as g, worldActorFingerprint as _ } from "./worldActorReceipts.js";
9
9
  import { captureGeometryWorldView as v } from "./geometryWorldView.js";
10
10
  import { Effect as y, Result as b, Schema as x } from "effect";
11
- //#region src/actor.ts
11
+ // src/actor.ts
12
12
  var S = (e, t, n) => {
13
13
  if (t === void 0) return;
14
14
  let i = t(n);
@@ -1470,5 +1470,4 @@ var S = (e, t, n) => {
1470
1470
  };
1471
1471
  }
1472
1472
  };
1473
- //#endregion
1474
1473
  export { w as RoomActor };
@@ -31,7 +31,7 @@ import { captureAdmittedRoomPoolTopology as j, captureRoomPoolCatalog as M } fro
31
31
  import { captureRoomAccessRecheckInput as me, captureRoomCloseAllInput as he, captureRoomCloseInput as ge, captureRoomKickInput as _e } from "./moderation.js";
32
32
  import { Subject as N } from "@voltro/protocol";
33
33
  import { Cause as P, Effect as F, Layer as I, Option as L, Schema as R } from "effect";
34
- //#region src/apiBinding.ts
34
+ // src/apiBinding.ts
35
35
  var z = class extends Error {
36
36
  retryCleanup;
37
37
  name = "RoomsApiBindFailure";
@@ -674,5 +674,4 @@ var z = class extends Error {
674
674
  }), e;
675
675
  }
676
676
  };
677
- //#endregion
678
677
  export { z as RoomsApiBindFailure, B as RoomsApiOwner };
@@ -26,7 +26,7 @@ import { Effect as g } from "effect";
26
26
  import { createHash as me } from "node:crypto";
27
27
  import { ConnectionRegistry as he } from "@voltro/kv/connection";
28
28
  import { HotStore as ge, layerRoutedHotRedis as _e } from "@voltro/kv/hot";
29
- //#region src/apiRegistryBinding.ts
29
+ // src/apiRegistryBinding.ts
30
30
  function _(t) {
31
31
  throw new e({ detail: t });
32
32
  }
@@ -395,5 +395,4 @@ var v = (e, t) => Number.isSafeInteger(e) && e > 0 && e <= t ? e : _("Invalid re
395
395
  }
396
396
  };
397
397
  };
398
- //#endregion
399
398
  export { y as registryRoomsApiBinder };
@@ -23,7 +23,7 @@ import { decodeRoomDirectoryListing as _e } from "./directory.js";
23
23
  import { and as T, eq as E, or as ve } from "@voltro/database";
24
24
  import { checkGuardsEffect as ye } from "@voltro/protocol";
25
25
  import { Effect as D, Layer as O, Result as k, Schema as A } from "effect";
26
- //#region src/apiReservations.ts
26
+ // src/apiReservations.ts
27
27
  var be = (e, t) => {
28
28
  if (e === void 0) return null;
29
29
  let r = typeof e == "object" && e && "until" in e ? e.until : void 0;
@@ -179,7 +179,7 @@ var N = (e) => typeof e == "string" && e.trim() && e.length <= 191 ? e : M("Inva
179
179
  if (!c || c.state !== "live" || c.hostId !== r || c.epoch !== i) throw new o({ roomId: e });
180
180
  if (O.catalog.get(N(c.name)).mode === "lockstep") {
181
181
  let e = await Fe(t, c);
182
- (!e || e.admission.adoption?.priorEpoch !== i - 1) && M("Lockstep publication needs its actual retained adoption");
182
+ e && e.admission.adoption?.priorEpoch === i - 1 || M("Lockstep publication needs its actual retained adoption");
183
183
  } else {
184
184
  let e = await Ie(t, c, s, a);
185
185
  (e.disposition !== "live" || e.epoch !== i) && M("Room wake has no matching published SQL checkpoint");
@@ -252,7 +252,7 @@ var N = (e) => typeof e == "string" && e.trim() && e.length <= 191 ? e : M("Inva
252
252
  let _ = await Y(l.roomId, u.tenantId);
253
253
  if (c && (_.name !== c.name || ze(_, O.catalog.get(c.name)) !== c.encodedOptions) && M("Room creation changed the authorized descriptor or options"), c && O.catalog.get(c.name).mode === "lockstep" && _.lockstepCreatorSubjectId !== u.subjectId && M("Lockstep creation changed its actual requesting creator"), se(r, N(_.name), q(i).tenantId, _.pool, n.pool, n.region), _.state !== "live" || _.hostId !== n.id || _.epoch !== g.epoch) throw new o({ roomId: l.roomId });
254
254
  let v = (await R(t, y, T(E("roomId", g.roomId), E("tenantId", u.tenantId), E("sessionId", g.sessionId), E("subjectId", u.subjectId), E("epoch", g.epoch), E("token", w(l.token)), E("state", "reserved"))))[0], b = v?.expiresAt, x = b instanceof Date ? b.getTime() : typeof b == "string" ? Date.parse(b) : NaN;
255
- return (!v || v.nonce !== g.nonce || v.role !== g.role || x !== g.expiresAt) && M("Room reservation has no matching SQL seat receipt"), {
255
+ return v && v.nonce === g.nonce && v.role === g.role && x === g.expiresAt || M("Room reservation has no matching SQL seat receipt"), {
256
256
  ...l,
257
257
  endpoints: p,
258
258
  token: Uint8Array.from(l.token)
@@ -429,5 +429,4 @@ var N = (e) => typeof e == "string" && e.trim() && e.length <= 191 ? e : M("Inva
429
429
  })
430
430
  });
431
431
  }, Se = (e, t) => O.succeed(C, z(e, t));
432
- //#endregion
433
432
  export { z as dataStoreRoomApiReservations, be as roomAccessDeadline, Se as roomApiReservationLayer, xe as seatAccessUntil, j as timedRoomAdmission };
package/dist/baselines.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { RoomAuthoringError as e } from "./errors.js";
2
- //#region src/baselines.ts
2
+ // src/baselines.ts
3
3
  var t = class {
4
4
  capacity;
5
5
  maxBaselineAgeMs;
@@ -69,5 +69,4 @@ var t = class {
69
69
  this.sent.clear(), this.ackTick = null, this.lastAckAt = -1;
70
70
  }
71
71
  };
72
- //#endregion
73
72
  export { t as RoomBaselineRing };
package/dist/bots.js CHANGED
@@ -2,7 +2,7 @@ import { BudgetExceeded as e, ProtocolError as t, RoomAuthoringError as n } from
2
2
  import { RoomInputCodec as r } from "./stateCodec.js";
3
3
  import { projectRoomView as i } from "./viewProjection.js";
4
4
  import { Effect as a, Result as o, Schema as s } from "effect";
5
- //#region src/bots.ts
5
+ // src/bots.ts
6
6
  function c(e) {
7
7
  throw new t({ detail: e });
8
8
  }
@@ -55,7 +55,7 @@ var l = (e) => Number.isFinite(e) ? e : c("Bot helper requires finite numbers"),
55
55
  deciding = !1;
56
56
  decision = null;
57
57
  constructor(e, t) {
58
- this.rng = t, (!e || typeof e != "object") && c("Bot brain requires an admitted behavior");
58
+ this.rng = t, e && typeof e == "object" || c("Bot brain requires an admitted behavior");
59
59
  let { _tag: n, ...r } = e;
60
60
  (n !== "RoomBotDescriptor" || typeof t != "function") && c("Bot brain requires an admitted behavior and replay random source"), this.descriptor = f(r);
61
61
  let i = this.descriptor.initialMemory();
@@ -559,5 +559,4 @@ var l = (e) => Number.isFinite(e) ? e : c("Bot helper requires finite numbers"),
559
559
  }
560
560
  });
561
561
  };
562
- //#endregion
563
562
  export { p as RoomBotBrain, g as RoomBotFill, h as RoomBotLocalClient, m as RoomBotNetworkClient, x as aimError, f as defineBot, C as navGrid, b as reactionDelay, y as steer, S as utilityAI };
package/dist/catalog.js CHANGED
@@ -3,7 +3,7 @@ import { defineRoom as t } from "./room.js";
3
3
  import { roomCodecs as n } from "./web.js";
4
4
  import { advanceRoomSchemaHistory as r, validateRoomSchemaHistory as i } from "./schemaHistory.js";
5
5
  import { Schema as a } from "effect";
6
- //#region src/catalog.ts
6
+ // src/catalog.ts
7
7
  var o = async (n, r, i = {}) => {
8
8
  let o = i.maxRooms ?? 256;
9
9
  if (!Number.isSafeInteger(o) || o < 1) throw new e({
@@ -76,5 +76,4 @@ var o = async (n, r, i = {}) => {
76
76
  return Object.freeze([...this.descriptors.values()].sort((e, t) => e.descriptor.name < t.descriptor.name ? -1 : +(e.descriptor.name > t.descriptor.name)));
77
77
  }
78
78
  };
79
- //#endregion
80
79
  export { s as RoomCatalog, o as loadRoomCatalog };
@@ -1,5 +1,5 @@
1
1
  import { ProtocolError as e } from "./errors.js";
2
- //#region src/checkpointJson.ts
2
+ // src/checkpointJson.ts
3
3
  function t(t) {
4
4
  throw new e({ detail: t });
5
5
  }
@@ -20,5 +20,4 @@ var n = (e, r = 0) => {
20
20
  return !a || !("value" in a) ? t("Checkpoint accessors are refused") : `${JSON.stringify(i)}:${n(a.value, r + 1)}`;
21
21
  }).join(",")}}` : t("Non-JSON checkpoint properties are refused") : t("Checkpoint values must be lossless JSON data");
22
22
  };
23
- //#endregion
24
23
  export { n as canonicalRoomJson };
@@ -16,7 +16,7 @@ import { loadRoomSnapshotPayload as T, prepareRoomSnapshotPayload as E, writeRoo
16
16
  import { and as O, eq as k, generateId as A, or as j } from "@voltro/database";
17
17
  import { Effect as M, Layer as N } from "effect";
18
18
  import { createHash as P } from "node:crypto";
19
- //#region src/checkpointStore.ts
19
+ // src/checkpointStore.ts
20
20
  function F(t) {
21
21
  throw new e({ detail: t });
22
22
  }
@@ -39,7 +39,7 @@ var I = (t) => M.flatMap(M.context(), (n) => M.tryPromise({
39
39
  return t && n.update(t), n.digest("hex");
40
40
  }, B = (e, t, r, i) => {
41
41
  let a = e.checkpoint, o = e.bytes;
42
- (!a || typeof a != "object" || Array.isArray(a) || !(o instanceof Uint8Array)) && F("Malformed durable Room checkpoint");
42
+ a && typeof a == "object" && !Array.isArray(a) && o instanceof Uint8Array || F("Malformed durable Room checkpoint");
43
43
  let c = s(a);
44
44
  (Buffer.byteLength(c) + o.byteLength > i || e.digest !== z(c, o)) && F("Durable Room checkpoint integrity or byte budget failed");
45
45
  let l = JSON.parse(c);
@@ -117,21 +117,21 @@ var I = (t) => M.flatMap(M.context(), (n) => M.tryPromise({
117
117
  if (!u) return !1;
118
118
  if ((u.snapshotErasure != null || u.erasure != null) && F("Room snapshot privacy withdrawal was fenced"), u.state === "hibernated" && u.hostId === null) {
119
119
  let r = await R(e, i, U(t, a));
120
- (!r || r.ownerHostId !== n.hostId) && F("Hibernated Room receipt owner was fenced");
120
+ r && r.ownerHostId === n.hostId || F("Hibernated Room receipt owner was fenced");
121
121
  let l = await V(e, r, t, a, c, C, o, s);
122
122
  return (l.disposition !== "hibernated" || l.epoch !== u.epoch) && F("Hibernated Room command receipt was fenced"), !1;
123
123
  }
124
- if ((u.hostId !== n.hostId || ![
124
+ if (u.hostId === n.hostId && [
125
125
  "live",
126
126
  "creating",
127
127
  "faulted",
128
128
  "disposed",
129
129
  "hibernating"
130
- ].includes(String(u.state))) && F("Room command owner was fenced"), u.state === "creating") return l && Number(u.epoch) > 1;
130
+ ].includes(String(u.state)) || F("Room command owner was fenced"), u.state === "creating") return l && Number(u.epoch) > 1;
131
131
  if (u.state === "disposed" || u.state === "faulted") {
132
132
  let n = await R(e, i, U(t, a));
133
133
  if (!n && u.lockstepJournal != null) return !0;
134
- (!n || (await V(e, n, t, a, c, C, o, s)).epoch !== u.epoch) && F("Terminal Room command owner was fenced");
134
+ n && (await V(e, n, t, a, c, C, o, s)).epoch === u.epoch || F("Terminal Room command owner was fenced");
135
135
  }
136
136
  return !0;
137
137
  };
@@ -161,16 +161,16 @@ var I = (t) => M.flatMap(M.context(), (n) => M.tryPromise({
161
161
  if (T && (G.snapshot?.mode === "delta" || G.snapshot?.mode === "full" && L.byteLength > J)) {
162
162
  let t = await e.transactional(async (e) => {
163
163
  let t = await R(e, r, O(k("id", G.roomId), k("tenantId", G.tenantId))), a = await R(e, i, U(G.roomId, G.tenantId));
164
- if (G.publication === "held" && t?.state !== "creating" && F("Held checkpoint requires an unpublished owner"), (t?.snapshotErasure != null || t?.erasure != null) && F("Checkpoint snapshot privacy withdrawal was fenced"), a && a.checkpoint?.requestId === G.requestId) return a.digest !== K && F("Checkpoint requestId was reused with different data"), (!t || t.epoch !== G.epoch || t.hostId !== n.hostId && (t.state !== "hibernated" || t.hostId !== null || a.ownerHostId !== n.hostId)) && F("Checkpoint blob owner was fenced"), {
164
+ if (G.publication === "held" && t?.state !== "creating" && F("Held checkpoint requires an unpublished owner"), (t?.snapshotErasure != null || t?.erasure != null) && F("Checkpoint snapshot privacy withdrawal was fenced"), a && a.checkpoint?.requestId === G.requestId) return a.digest !== K && F("Checkpoint requestId was reused with different data"), t && t.epoch === G.epoch && (t.hostId === n.hostId || t.state === "hibernated" && t.hostId === null && a.ownerHostId === n.hostId) || F("Checkpoint blob owner was fenced"), {
165
165
  committed: !0,
166
166
  plan: void 0,
167
167
  intent: void 0
168
168
  };
169
- (!t || t.hostId !== n.hostId || t.epoch !== G.epoch || ![
169
+ t && t.hostId === n.hostId && t.epoch === G.epoch && [
170
170
  "live",
171
171
  "creating",
172
172
  "hibernating"
173
- ].includes(String(t.state)) || G.revision !== (a?.checkpoint?.revision ?? 0) + 1) && F("Checkpoint blob admission was fenced");
173
+ ].includes(String(t.state)) && G.revision === (a?.checkpoint?.revision ?? 0) + 1 || F("Checkpoint blob admission was fenced");
174
174
  let o = G.snapshot?.mode === "delta" && a ? await V(e, a, G.roomId, G.tenantId, c, C, q, w) : void 0, s = G.snapshot?.mode === "delta" ? await E(e, {
175
175
  ...G,
176
176
  bytes: L
@@ -211,23 +211,23 @@ var I = (t) => M.flatMap(M.context(), (n) => M.tryPromise({
211
211
  }
212
212
  await e.transactional(async (e) => {
213
213
  let u = await R(e, r, O(k("id", G.roomId), k("tenantId", G.tenantId)));
214
- (!u || u.epoch !== G.epoch || u.snapshotErasure != null || u.erasure != null) && F("Checkpoint owner was fenced");
214
+ u && u.epoch === G.epoch && u.snapshotErasure == null && u.erasure == null || F("Checkpoint owner was fenced");
215
215
  let f = await R(e, i, U(G.roomId, G.tenantId)), p = f ? await V(e, f, G.roomId, G.tenantId, c, C, q, w) : void 0;
216
216
  if (u.state === "hibernated") {
217
217
  (u.hostId !== null || f?.ownerHostId !== n.hostId || p?.disposition !== "hibernated" || G.disposition !== "hibernated" || p.requestId !== G.requestId || f.digest !== K) && F("Hibernated checkpoint receipt was fenced");
218
218
  return;
219
219
  }
220
- if ((u.hostId !== n.hostId || ![
220
+ if (u.hostId === n.hostId && [
221
221
  "live",
222
222
  "creating",
223
223
  "faulted",
224
224
  "disposed",
225
225
  "hibernating"
226
- ].includes(String(u.state))) && F("Checkpoint owner was fenced"), G.publication === "held" && u.state !== "creating" && F("Held checkpoint requires an unpublished owner"), p?.requestId === G.requestId) {
226
+ ].includes(String(u.state)) || F("Checkpoint owner was fenced"), G.publication === "held" && u.state !== "creating" && F("Held checkpoint requires an unpublished owner"), p?.requestId === G.requestId) {
227
227
  f?.digest !== K && F("Checkpoint requestId was reused with different data");
228
228
  return;
229
229
  }
230
- G.disposition === "hibernated" ? (u.state !== "hibernating" || p?.disposition !== "hibernating" || p.epoch !== G.epoch || G.commands.length !== 0 || G.tick !== p.tick || G.commandCursor !== p.commandCursor || G.schemaHash !== p.schemaHash || s(G.schedules) !== s(p.schedules) || s(G.inputReceipts) !== s(p.inputReceipts) || !Buffer.from(L).equals(Buffer.from(p.bytes))) && F("Hibernate requires the unchanged staged durable snapshot") : u.state !== "live" && u.state !== "creating" && F("Room is no longer live"), (G.revision !== (p?.revision ?? 0) + 1 || G.epoch < (p?.epoch ?? 0) || G.commandCursor < (p?.commandCursor ?? 0)) && F("Checkpoint revision or cursor regressed");
230
+ G.disposition === "hibernated" ? u.state === "hibernating" && p?.disposition === "hibernating" && p.epoch === G.epoch && G.commands.length === 0 && G.tick === p.tick && G.commandCursor === p.commandCursor && G.schemaHash === p.schemaHash && s(G.schedules) === s(p.schedules) && s(G.inputReceipts) === s(p.inputReceipts) && Buffer.from(L).equals(Buffer.from(p.bytes)) || F("Hibernate requires the unchanged staged durable snapshot") : u.state !== "live" && u.state !== "creating" && F("Room is no longer live"), (G.revision !== (p?.revision ?? 0) + 1 || G.epoch < (p?.epoch ?? 0) || G.commandCursor < (p?.commandCursor ?? 0)) && F("Checkpoint revision or cursor regressed");
231
231
  let _ = v(f, {
232
232
  ...G,
233
233
  bytes: L
@@ -382,5 +382,4 @@ var I = (t) => M.flatMap(M.context(), (n) => M.tryPromise({
382
382
  })
383
383
  });
384
384
  }, W = (e, t) => N.succeed(c, U(e, t));
385
- //#endregion
386
385
  export { s as canonicalRoomJson, U as dataStoreRoomCheckpoints, B as decodeDurableRoomCheckpoint, V as loadDurableRoomCheckpoint, H as prefetchRoomCheckpointBlobs, W as roomCheckpointLayer };
package/dist/client.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { RoomConnection as e } from "./connection.js";
2
2
  import { roomTransportConnector as t } from "./transportConnector.js";
3
3
  import { roomRpcReservations as n, worldRpcJoin as r } from "./rpcClient.js";
4
- //#region src/client.ts
4
+ // src/client.ts
5
5
  var i = (n, r, i) => {
6
6
  let a = i.clock ?? { now: () => performance.now() };
7
7
  return new e(n, a, r, t({
@@ -52,5 +52,4 @@ var i = (n, r, i) => {
52
52
  entityId: l
53
53
  };
54
54
  };
55
- //#endregion
56
55
  export { c as createRoom, i as createRoomClient, l as joinById, s as joinRoom, u as joinSeat, d as joinWorld };
package/dist/clockSync.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { ProtocolError as e } from "./errors.js";
2
- //#region src/clockSync.ts
2
+ // src/clockSync.ts
3
3
  var t = (e) => {
4
4
  if (e.length === 0) return 0;
5
5
  let t = [...e].sort((e, t) => e - t), n = Math.floor(t.length / 2);
@@ -47,5 +47,4 @@ var t = (e) => {
47
47
  return n === null ? null : (this.lastServerNow = Math.max(this.lastServerNow, t + n), this.lastServerNow);
48
48
  }
49
49
  };
50
- //#endregion
51
50
  export { n as RoomClockSync };
package/dist/collision.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { BudgetExceeded as e, RoomAuthoringError as t } from "./errors.js";
2
2
  import { spatialGrid as n } from "./spatial.js";
3
- //#region src/collision.ts
3
+ // src/collision.ts
4
4
  function r(e) {
5
5
  throw new t({
6
6
  room: "collision",
@@ -45,11 +45,11 @@ var i = (e) => Number.isFinite(e) ? e : r("Collision geometry must be finite"),
45
45
  budget: "collisionTiles",
46
46
  limit: t.maxTiles
47
47
  });
48
- (!Array.isArray(t.solid) || t.solid.length !== l) && r("Tile occupancy must be a complete dense row-major array"), s(t.origin);
48
+ Array.isArray(t.solid) && t.solid.length === l || r("Tile occupancy must be a complete dense row-major array"), s(t.origin);
49
49
  let u = t.origin.x, d = t.origin.y, f = t.width;
50
50
  i(u + t.width * n), i(d + t.height * n);
51
51
  let p = [];
52
- for (let e = 0; e < l; e++) (!Object.hasOwn(t.solid, e) || typeof t.solid[e] != "boolean") && r("Tile occupancy must contain only explicit booleans"), t.solid[e] && p.push({
52
+ for (let e = 0; e < l; e++) Object.hasOwn(t.solid, e) && typeof t.solid[e] == "boolean" || r("Tile occupancy must contain only explicit booleans"), t.solid[e] && p.push({
53
53
  id: `tile:${e % f}:${Math.floor(e / f)}`,
54
54
  entity: {
55
55
  position: {
@@ -152,5 +152,4 @@ var i = (e) => Number.isFinite(e) ? e : r("Collision geometry must be finite"),
152
152
  iterations: h
153
153
  };
154
154
  };
155
- //#endregion
156
155
  export { p as collide, c as collisionWorld, l as tileCollisionWorld2D };
@@ -1,7 +1,7 @@
1
1
  import { BudgetExceeded as e, ProtocolError as t } from "./errors.js";
2
2
  import "./ports.js";
3
3
  import { Effect as n, Result as r } from "effect";
4
- //#region src/commandDelivery.ts
4
+ // src/commandDelivery.ts
5
5
  var i = "Room app command deferred; it stays pending for the next delivery turn", a = () => new t({ detail: i }), o = "Room application command failed", s = 3e5, c = (e) => {
6
6
  let { roomId: t, requestId: n } = e, [r, i, ...a] = n.startsWith(t + ":") ? n.slice(t.length + 1).split(":") : [];
7
7
  return a.length === 0 && r !== void 0 && i !== void 0 && /^[1-9][0-9]*$/.test(r) && /^[0-9]+$/.test(i) && Number.isSafeInteger(Number(r)) ? Number(r) : null;
@@ -97,5 +97,4 @@ var i = "Room app command deferred; it stays pending for the next delivery turn"
97
97
  }
98
98
  }
99
99
  };
100
- //#endregion
101
100
  export { i as ROOM_COMMAND_DEFERRED, o as ROOM_COMMAND_FAILED, s as ROOM_COMMAND_PARK_AFTER_MS, u as RoomCommandDelivery, l as applicationRoomCommands, a as roomCommandDeferred, c as roomCommandEpoch };
@@ -1,11 +1,10 @@
1
1
  import { ProtocolError as e } from "./errors.js";
2
2
  import { canonicalRoomJson as t } from "./checkpointJson.js";
3
3
  import { createHash as n } from "node:crypto";
4
- //#region src/commandRecord.ts
4
+ // src/commandRecord.ts
5
5
  var r = (r, i, a, o) => {
6
6
  let s = t(r.command), c = JSON.parse(s);
7
7
  if (r.roomId !== i || r.tenantId !== a || Buffer.byteLength(s, "utf8") > o || !c || typeof c != "object" || Array.isArray(c) || ![r.epoch, r.sequence].every((e) => typeof e == "number" && Number.isSafeInteger(e) && e > 0) || r.digest !== n("sha256").update(s).digest("hex") || c.requestId !== r.requestId || c.requestId !== `${i}:${r.epoch}:${r.sequence}` || !["run", "publish"].includes(c.kind) || typeof c.name != "string" || !c.name.trim() || c.kind === "publish" && (typeof c.key != "string" || !c.key.trim())) throw new e({ detail: "Durable Room command integrity failed" });
8
8
  return c;
9
9
  };
10
- //#endregion
11
10
  export { r as decodeDurableRoomCommand };
@@ -7,7 +7,7 @@ import { decodeDurableRoomCommand as o } from "./commandRecord.js";
7
7
  import { captureRoomHostWithdrawalInput as s } from "./ownershipWithdrawal.js";
8
8
  import { and as c, eq as l } from "@voltro/database";
9
9
  import { Effect as u, Layer as d } from "effect";
10
- //#region src/commandWithdrawal.ts
10
+ // src/commandWithdrawal.ts
11
11
  function f(t) {
12
12
  throw new e({ detail: t });
13
13
  }
@@ -179,5 +179,4 @@ var p = (e) => typeof e == "string" && e.trim() && e.length <= 191 ? e : f("Inva
179
179
  })));
180
180
  } });
181
181
  }, _ = (e, t, n = {}) => d.succeed(r, g(e, t, n));
182
- //#endregion
183
182
  export { g as applicationRoomExternalWorkWithdrawal, _ as roomExternalWorkWithdrawalLayer };
@@ -4,7 +4,7 @@ import { RoomTransportCleanupFailure as s } from "./transportCleanup.js";
4
4
  import { captureRoomTransportEndpoints as c } from "./transportEndpoints.js";
5
5
  import { RoomInputRedundancy as l, defaultRoomInputRedundancy as u } from "./inputRedundancy.js";
6
6
  import { RoomSession as d, defaultRoomClockSampling as f } from "./web.js";
7
- //#region src/connection.ts
7
+ // src/connection.ts
8
8
  var p = (e) => e < 3e3 ? 200 : 1e3, m = (e) => {
9
9
  if (!Number.isSafeInteger(e.attempt) || e.attempt < 0 || !Number.isFinite(e.initialBackoffMs) || e.initialBackoffMs <= 0 || !Number.isFinite(e.maxBackoffMs) || e.maxBackoffMs < e.initialBackoffMs || !Number.isFinite(e.remainingMs) || e.remainingMs <= 0 || !Number.isFinite(e.random) || e.random < 0 || e.random >= 1) throw new n({
10
10
  room: "client",
@@ -493,5 +493,4 @@ var p = (e) => e < 3e3 ? 200 : 1e3, m = (e) => {
493
493
  if (!n) throw new t({ detail: "Geometry requires its genuine currently joined Room connection" });
494
494
  return n;
495
495
  };
496
- //#endregion
497
496
  export { y as RoomConnection, b as captureRoomConnectionGeometrySession, p as defaultRoomClockPingCadence, m as defaultRoomReconnectPolicy };
@@ -10,7 +10,7 @@ import { RoomHostWithdrawalInputSchema as d } from "./ownershipWithdrawal.js";
10
10
  import { SubjectIdentity as f, subjectIdentity as p } from "@voltro/protocol";
11
11
  import { Schema as m } from "effect";
12
12
  import { signSession as h, verifySessionKeyed as g } from "@voltro/protocol/session";
13
- //#region src/controlCarrier.ts
13
+ // src/controlCarrier.ts
14
14
  var _ = m.NonEmptyString.pipe(m.check(m.isMaxLength(191))), v = m.Record(m.String, m.Union([
15
15
  m.String,
16
16
  m.Number,
@@ -371,5 +371,4 @@ var U = (e, t) => e.hostId === t.hostId && e.instanceId === t.instanceId && e.st
371
371
  }
372
372
  });
373
373
  };
374
- //#endregion
375
374
  export { F as RoomControlAppCommandSchema, A as RoomControlMatchPrepareSchema, x as RoomControlTargetSchema, L as RoomControlWorldAdmissionSchema, O as RoomControlWorldAuthoritySchema, I as RoomControlWorldCaptureSchema, k as RoomControlWorldPrepareSchema, E as RoomControlWorldStepSchema, P as RoomControlWorldTransitionSchema, Y as decodeRoomControlReservation, q as decodeRoomControlToken, J as encodeRoomControlReservation, K as encodeRoomControlToken, X as makeRoomControlCarrier, W as roomControlIdentity, G as sameRoomControlIdentity, U as sameRoomControlTarget };
@@ -4,7 +4,7 @@ import { RoomsHostBindFailure as n } from "./hostBinding.js";
4
4
  import { openRoomAppCommandServer as r } from "./roomAppCommandControl.js";
5
5
  import { openRoomControlClient as i, openRoomControlServer as a } from "./controlTransport.js";
6
6
  import { Effect as o, Result as s } from "effect";
7
- //#region src/controlRegistry.ts
7
+ // src/controlRegistry.ts
8
8
  var c = () => new e({ detail: "Room control requires an explicit shared registry Pub/Sub declaration" }), l = (t, r, i, a) => {
9
9
  if (typeof r != "string" || !/^(redis|nats):[A-Za-z][A-Za-z0-9_-]*$/.test(r) || typeof t?.validate != "function" || typeof t.pubsub != "function") return o.fail(c());
10
10
  let l = t.validate.bind(t), u = t.pubsub.bind(t);
@@ -75,5 +75,4 @@ var c = () => new e({ detail: "Room control requires an explicit shared registry
75
75
  fence: () => void 0,
76
76
  close: e.close
77
77
  }))), (e) => new t(e))).pipe(o.map((e) => Object.freeze({ close: e.close })));
78
- //#endregion
79
78
  export { p as openRegistryRoomAppCommandServer, d as openRegistryRoomControlClient, f as openRegistryRoomControlServer };
@@ -4,7 +4,7 @@ import { captureAdmittedRoomPoolTopology as n } from "./roomPoolTopology.js";
4
4
  import { RoomControlTargetSchema as r } from "./controlCarrier.js";
5
5
  import { eq as i } from "@voltro/database";
6
6
  import { Effect as a, Schema as o } from "effect";
7
- //#region src/controlTarget.ts
7
+ // src/controlTarget.ts
8
8
  var s = (s, c, l, u) => {
9
9
  if (typeof l != "string" || !l.trim() || l.length > 191 || typeof c.list != "function") throw new e({ detail: "Room control requires an admitted region and borrowed membership" });
10
10
  let d = s.hosts.bind(s), f = c.list.bind(c), p = u === void 0 ? void 0 : n(u.pools), m = u?.store.query.bind(u.store);
@@ -41,5 +41,4 @@ var s = (s, c, l, u) => {
41
41
  });
42
42
  });
43
43
  };
44
- //#endregion
45
44
  export { s as directoryRoomControlTargetResolver };
@@ -18,7 +18,7 @@ import { runWorldTransitionForward as A } from "./worldDefaultService.js";
18
18
  import { Subject as j } from "@voltro/protocol";
19
19
  import { Effect as M, Result as ae, Schema as N } from "effect";
20
20
  import { createHash as P, randomUUID as F } from "node:crypto";
21
- //#region src/controlTransport.ts
21
+ // src/controlTransport.ts
22
22
  var I = () => new n({ detail: "Room control outcome is unconfirmed; do not repeat or select another host" }), L = "Room control transport is unavailable", R = () => new n({ detail: L }), z = (e, t) => {
23
23
  if (!Number.isSafeInteger(e) || e < 1 || e > t) throw new n({ detail: "Invalid Room control resource budget" });
24
24
  return e;
@@ -570,5 +570,4 @@ var I = () => new n({ detail: "Room control outcome is unconfirmed; do not repea
570
570
  }
571
571
  });
572
572
  })));
573
- //#endregion
574
573
  export { U as openRoomControlClient, H as openRoomControlServer };
@@ -7,7 +7,7 @@ import { roomControlSubjectResolver as a, roomSeatSubjectResolver as o } from ".
7
7
  import { Subject as s } from "@voltro/protocol";
8
8
  import { Effect as c, Schema as l } from "effect";
9
9
  import { randomBytes as u, randomUUID as d } from "node:crypto";
10
- //#region src/developmentBinding.ts
10
+ // src/developmentBinding.ts
11
11
  var f = (t) => t.subjectId === null || t.subjectType !== void 0 && t.subjectType !== "user" ? c.fail(new e({ detail: "Development seats admit signed-in players only" })) : c.try({
12
12
  try: () => l.decodeUnknownSync(s)({
13
13
  type: "user",
@@ -109,5 +109,4 @@ var f = (t) => t.subjectId === null || t.subjectType !== void 0 && t.subjectType
109
109
  throw clearInterval(N), await M.close().catch(() => void 0), e;
110
110
  }
111
111
  };
112
- //#endregion
113
112
  export { p as developmentRoomsBinding, f as trustedRoomSeatSubject };
package/dist/directory.js CHANGED
@@ -10,7 +10,7 @@ import { and as g, eq as _, generateId as v, gt as y, or as b } from "@voltro/da
10
10
  import { Effect as x, Layer as S } from "effect";
11
11
  import { createHash as C } from "node:crypto";
12
12
  import { registerWakeup as w } from "@voltro/runtime";
13
- //#region src/directory.ts
13
+ // src/directory.ts
14
14
  var T = "room-pool", E = 5e3;
15
15
  function D(e) {
16
16
  throw new t({ detail: e });
@@ -81,7 +81,7 @@ var O = (e) => typeof e == "number" && Number.isSafeInteger(e) && e >= 0 ? e : D
81
81
  let e = S.epochNow();
82
82
  return Number.isFinite(e) && e >= 0 && e <= 864e13 ? e : D("Invalid directory wall clock");
83
83
  }, V = (e) => (O(e.rooms), O(e.clients), (!Number.isFinite(e.cpu) || e.cpu < 0 || e.cpu > 1) && D("Host CPU load must be measured between zero and one"), { ...e }), H = (t, n) => P(async () => {
84
- n !== void 0 && (!I || !Object.hasOwn(I.pools, n) || !I.pools[n].regions.includes(t)) && D("Unknown host pool or region");
84
+ n === void 0 || I && Object.hasOwn(I.pools, n) && I.pools[n].regions.includes(t) || D("Unknown host pool or region");
85
85
  let r = await F(d, l, g(_("region", k(t)), _("ready", !0), _("draining", !1), y("lastHeartbeatAt", new Date(B() - S.heartbeatTtlMs)), ...n === void 0 ? I ? [] : [_("pool", null)] : [_("pool", n)]), L + 1);
86
86
  if (r.length > L) throw new e({
87
87
  budget: "listedHosts",
@@ -250,7 +250,7 @@ var O = (e) => typeof e == "number" && Number.isSafeInteger(e) && e >= 0 ? e : D
250
250
  let r = n[0];
251
251
  (r.requestHash !== m || r.tenantId !== a.tenantId || r.requestKey !== o) && D("Room creation retry changed its original input");
252
252
  let i = await F(t, s, _("id", k(r.roomId)), 2, !0), c = i[0];
253
- return (i.length !== 1 || !c || c.tenantId !== a.tenantId || c.hostId !== e || c.name !== a.name || (c.pool ?? null) !== f || c.epoch !== 1 || !["creating", "live"].includes(String(c.state))) && D("Room creation retry requires its original active owner"), M(c);
253
+ return i.length === 1 && c && c.tenantId === a.tenantId && c.hostId === e && c.name === a.name && (c.pool ?? null) === f && c.epoch === 1 && ["creating", "live"].includes(String(c.state)) || D("Room creation retry requires its original active owner"), M(c);
254
254
  }
255
255
  }
256
256
  let h = O(d.capacity);
@@ -319,5 +319,4 @@ var O = (e) => typeof e == "number" && Number.isSafeInteger(e) && e >= 0 ? e : D
319
319
  })
320
320
  });
321
321
  }, L = (e, t) => S.succeed(d, I(e, t));
322
- //#endregion
323
322
  export { T as ROOM_POOL_WAKE, E as ROOM_POOL_WAKE_RETRY_MS, I as dataStoreRoomDirectory, M as decodeRoomDirectoryListing, L as roomDirectoryLayer };
@@ -1,7 +1,7 @@
1
1
  import { BudgetExceeded as e, ProtocolError as t } from "./errors.js";
2
2
  import { Effect as n, Option as r } from "effect";
3
3
  import { HotError as i, readHotStoreWithFallback as a } from "@voltro/kv/hot/contract";
4
- //#region src/directoryProjection.ts
4
+ // src/directoryProjection.ts
5
5
  var o = (e) => {
6
6
  if (typeof e != "string" || !e.trim() || e.length > 191) throw new t({ detail: "Invalid directory projection identity" });
7
7
  return e;
@@ -113,5 +113,4 @@ var o = (e) => {
113
113
  });
114
114
  return l(n, await e.hotStore({ tenantId: i }), c);
115
115
  };
116
- //#endregion
117
116
  export { u as bindRoomDirectoryProjection, l as makeRoomDirectoryProjection };
package/dist/errors.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Schema as e } from "effect";
2
- //#region src/errors.ts
2
+ // src/errors.ts
3
3
  var t = class extends e.TaggedError()("RoomAuthoringError", {
4
4
  room: e.String,
5
5
  detail: e.String
@@ -49,5 +49,4 @@ var t = class extends e.TaggedError()("RoomAuthoringError", {
49
49
  return `Room budget ${this.budget} exceeded (limit ${this.limit})`;
50
50
  }
51
51
  };
52
- //#endregion
53
52
  export { h as BudgetExceeded, m as NotRoomMember, n as ProtocolError, t as RoomAuthoringError, f as RoomForbidden, c as RoomFull, d as RoomGone, a as RoomHibernatePending, u as RoomLocked, l as RoomPoolWaking, s as RoomsClosed, p as SeatExpired, r as SimulationConformanceDivergence, i as SimulationConformanceFailure, o as WorldTransitionCooldown };
package/dist/fixed32.js CHANGED
@@ -4,7 +4,7 @@ import { fixedRawInteger as i } from "./fixedRaw.js";
4
4
  import { simulationOwnData as a } from "./simulationAuthoring.js";
5
5
  import { compare as o, compareWide as s, invert as c, limbs as l, magnitude as u, negative as d, product as f, subtract as p, words as m } from "./fixedWide.js";
6
6
  import { atan2Fx32 as h, cosFx32 as g, sinFx32 as _ } from "./fixedTrig32.js";
7
- //#region src/fixed32.ts
7
+ // src/fixed32.ts
8
8
  function v(t) {
9
9
  throw new e({
10
10
  room: "fixed",
@@ -130,5 +130,4 @@ var y = (e, t) => {
130
130
  }
131
131
  });
132
132
  };
133
- //#endregion
134
133
  export { b as createFixed32 };
@@ -3,7 +3,7 @@ import { compareUint64 as t, multiplyWords as n, signedProductDifferenceSign as
3
3
  import { createFixed as i } from "./fixedMath.js";
4
4
  import { captureVec2 as a, fixedOwnData as o } from "./fixedVectors.js";
5
5
  import { clipFixedBoxSlabs as s } from "./fixedSlabs.js";
6
- //#region src/fixedCollision.ts
6
+ // src/fixedCollision.ts
7
7
  var c = i();
8
8
  function l(t) {
9
9
  throw new e({
@@ -56,5 +56,4 @@ var u = (e) => {
56
56
  let r = u(e), i = u(n), o = a(t);
57
57
  return s([r.min.x, r.min.y], [r.max.x, r.max.y], [o.x, o.y], [i.min.x, i.min.y], [i.max.x, i.max.y], !1);
58
58
  };
59
- //#endregion
60
59
  export { m as aabbIntersectsFx, _ as circleAabbIntersectsFx, h as circleContainsFx, g as circlesIntersectFx, b as segmentsIntersectFx, x as sweepAabbFx };
@@ -4,7 +4,7 @@ import { fixedOwnData as r } from "./fixedVectors.js";
4
4
  import { addWide as i, compare as a, compareWide as o, magnitude as s, negative as c, product as l, subtract as u } from "./fixedWide.js";
5
5
  import { createFixed32 as d } from "./fixed32.js";
6
6
  import { captureVec2Fx32 as f } from "./fixedVectors32.js";
7
- //#region src/fixedCollision32.ts
7
+ // src/fixedCollision32.ts
8
8
  var p = d(), m = {
9
9
  hi: 0,
10
10
  lo: 0
@@ -105,5 +105,4 @@ var _ = (e) => e.hi === 0 && e.lo === 0, v = (e, t) => a(e, t) < 0 ? {
105
105
  exit: P(u)
106
106
  });
107
107
  };
108
- //#endregion
109
108
  export { w as aabbIntersectsFx32, O as circleAabbIntersectsFx32, T as circleContainsFx32, E as circlesIntersectFx32, M as segmentsIntersectFx32, F as sweepAabbFx32 };
package/dist/fixedMath.js CHANGED
@@ -2,7 +2,7 @@ import { RoomAuthoringError as e } from "./errors.js";
2
2
  import { multiplyWords as t } from "./fixedWords.js";
3
3
  import { fixedRawInteger as n } from "./fixedRaw.js";
4
4
  import { atan2Fx as r, cosFx as i, sinFx as a } from "./fixedTrig.js";
5
- //#region src/fixedMath.ts
5
+ // src/fixedMath.ts
6
6
  function o(t) {
7
7
  throw new e({
8
8
  room: "fixed",
@@ -52,5 +52,4 @@ var s = (e, n) => {
52
52
  lerp: (e, t, r) => (n(e), n(t), n(r), r < 0 || r > 65536 ? o("Fixed interpolation fraction must lie in [0, 1]") : c(e + s(t - e, r)))
53
53
  });
54
54
  };
55
- //#endregion
56
55
  export { c as createFixed };
package/dist/fixedRaw.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { RoomAuthoringError as e } from "./errors.js";
2
- //#region src/fixedRaw.ts
2
+ // src/fixedRaw.ts
3
3
  var t = (t) => {
4
4
  if (!Number.isInteger(t) || t < -2147483648 || t > 2147483647) throw new e({
5
5
  room: "fixed",
@@ -7,5 +7,4 @@ var t = (t) => {
7
7
  });
8
8
  return t === 0 ? 0 : t;
9
9
  };
10
- //#endregion
11
10
  export { t as fixedRawInteger };
@@ -1,5 +1,5 @@
1
1
  import { signedProductDifferenceSign as e } from "./fixedWords.js";
2
- //#region src/fixedSlabs.ts
2
+ // src/fixedSlabs.ts
3
3
  var t = (t, n) => e(t.numerator, n.denominator, n.numerator, t.denominator), n = (e, n, r, i, a, o) => {
4
4
  let s = {
5
5
  numerator: 0,
@@ -30,5 +30,4 @@ var t = (t, n) => e(t.numerator, n.denominator, n.numerator, t.denominator), n =
30
30
  exit: Object.freeze(c)
31
31
  });
32
32
  };
33
- //#endregion
34
33
  export { n as clipFixedBoxSlabs, t as compareFixedSlabFraction };
package/dist/fixedTrig.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { RoomAuthoringError as e } from "./errors.js";
2
2
  import { signedProductDifferenceSign as t } from "./fixedWords.js";
3
3
  import { fixedRawInteger as n } from "./fixedRaw.js";
4
- //#region src/fixedTrig.ts
4
+ // src/fixedTrig.ts
5
5
  var r = Object.freeze([
6
6
  0,
7
7
  6424,
@@ -44,5 +44,4 @@ var r = Object.freeze([
44
44
  }
45
45
  return (o >= 0 ? s >= 0 ? u : 65536 - u : s >= 0 ? 32768 - u : 32768 + u) & 65535;
46
46
  };
47
- //#endregion
48
47
  export { c as atan2Fx, s as cosFx, r as fixedQuarterSine, o as sinFx };