@voltro/plugin-rooms 0.0.0-stage → 0.88.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 (495) hide show
  1. package/CHANGELOG.md +24492 -0
  2. package/LICENSE +61 -0
  3. package/README.md +9204 -2
  4. package/SECURITY.md +56 -0
  5. package/THIRD-PARTY-NOTICES.md +12496 -0
  6. package/dist/actor.js +1473 -0
  7. package/dist/apiBinding.js +677 -0
  8. package/dist/apiRegistryBinding.js +398 -0
  9. package/dist/apiReservations.js +432 -0
  10. package/dist/baselines.js +72 -0
  11. package/dist/bots.d.ts +1485 -0
  12. package/dist/bots.js +562 -0
  13. package/dist/catalog.js +79 -0
  14. package/dist/checkpointJson.js +23 -0
  15. package/dist/checkpointStore.js +385 -0
  16. package/dist/client.js +55 -0
  17. package/dist/clockSync.js +50 -0
  18. package/dist/collision.js +155 -0
  19. package/dist/commandDelivery.js +100 -0
  20. package/dist/commandRecord.js +10 -0
  21. package/dist/commandWithdrawal.js +182 -0
  22. package/dist/connection.js +496 -0
  23. package/dist/controlCarrier.js +374 -0
  24. package/dist/controlRegistry.js +78 -0
  25. package/dist/controlTarget.js +44 -0
  26. package/dist/controlTransport.js +573 -0
  27. package/dist/developmentBinding.js +112 -0
  28. package/dist/directory.js +322 -0
  29. package/dist/directoryProjection.js +116 -0
  30. package/dist/errors.d.ts +125 -0
  31. package/dist/errors.js +52 -0
  32. package/dist/fixed.d.ts +284 -0
  33. package/dist/fixed.js +10 -0
  34. package/dist/fixed32.js +133 -0
  35. package/dist/fixedCollision.js +59 -0
  36. package/dist/fixedCollision32.js +108 -0
  37. package/dist/fixedMath.js +55 -0
  38. package/dist/fixedRaw.js +10 -0
  39. package/dist/fixedSlabs.js +33 -0
  40. package/dist/fixedTrig.js +47 -0
  41. package/dist/fixedTrig32.js +37 -0
  42. package/dist/fixedVectors.js +112 -0
  43. package/dist/fixedVectors32.js +94 -0
  44. package/dist/fixedWide.js +49 -0
  45. package/dist/fixedWords.js +45 -0
  46. package/dist/gateway.js +56 -0
  47. package/dist/geometry-retention-app/rooms.geometryJournalRetention.workflow.server.tsx +4 -0
  48. package/dist/geometry-retention-app/rooms.geometryJournalRetention.workflow.tsx +14 -0
  49. package/dist/geometry-worker/worker.d.mts +2 -0
  50. package/dist/geometry-worker/worker.mjs +50 -0
  51. package/dist/geometry.d.ts +2249 -0
  52. package/dist/geometry.js +40 -0
  53. package/dist/geometryActivation.js +81 -0
  54. package/dist/geometryActorInventory.js +107 -0
  55. package/dist/geometryAdminClient.js +86 -0
  56. package/dist/geometryAdminData.js +31 -0
  57. package/dist/geometryAdminFixtures.js +49 -0
  58. package/dist/geometryAdminPorts.js +4 -0
  59. package/dist/geometryAdminRpc.js +57 -0
  60. package/dist/geometryAdminRpcRoutes.js +48 -0
  61. package/dist/geometryAdminSchemas.js +38 -0
  62. package/dist/geometryAdministration.js +189 -0
  63. package/dist/geometryAdministrationPorts.js +4 -0
  64. package/dist/geometryApiBinding.js +164 -0
  65. package/dist/geometryAppStorage.js +57 -0
  66. package/dist/geometryArtifacts.js +197 -0
  67. package/dist/geometryAssetBundle.js +116 -0
  68. package/dist/geometryAssetClient.js +24 -0
  69. package/dist/geometryAssetData.js +105 -0
  70. package/dist/geometryAssetHttp.js +122 -0
  71. package/dist/geometryAssetPorts.js +4 -0
  72. package/dist/geometryAssetRpc.js +29 -0
  73. package/dist/geometryAssetRpcRoutes.js +39 -0
  74. package/dist/geometryAssetStorageGrant.js +102 -0
  75. package/dist/geometryBoxOverlap.js +109 -0
  76. package/dist/geometryCatalogueDigest.js +110 -0
  77. package/dist/geometryCellCoverage.js +84 -0
  78. package/dist/geometryCellLoader.js +27 -0
  79. package/dist/geometryChannel.js +133 -0
  80. package/dist/geometryChunkHttp.js +53 -0
  81. package/dist/geometryChunkLeases.js +21 -0
  82. package/dist/geometryClient.d.ts +1429 -0
  83. package/dist/geometryClient.js +148 -0
  84. package/dist/geometryClientChunks.js +329 -0
  85. package/dist/geometryClientDelta.js +24 -0
  86. package/dist/geometryClientHttp.js +36 -0
  87. package/dist/geometryClientInterest.js +108 -0
  88. package/dist/geometryClientStatic.js +33 -0
  89. package/dist/geometryCms.d.ts +763 -0
  90. package/dist/geometryCms.js +216 -0
  91. package/dist/geometryCommitCoordinator.js +240 -0
  92. package/dist/geometryCompactionFixture.js +83 -0
  93. package/dist/geometryCompactionStrategies.js +37 -0
  94. package/dist/geometryConnectionClient.js +22 -0
  95. package/dist/geometryDerivationFixtures.js +140 -0
  96. package/dist/geometryDerivationStrategies.js +26 -0
  97. package/dist/geometryDigest.js +12 -0
  98. package/dist/geometryEditChannel.js +69 -0
  99. package/dist/geometryEditIngress.js +262 -0
  100. package/dist/geometryEdits.js +365 -0
  101. package/dist/geometryEnvelope.js +40 -0
  102. package/dist/geometryGridRaycast.js +91 -0
  103. package/dist/geometryGridSweep.js +91 -0
  104. package/dist/geometryHeightfield.js +165 -0
  105. package/dist/geometryHeightfieldRaycast.js +73 -0
  106. package/dist/geometryHeightfieldSweep.js +84 -0
  107. package/dist/geometryHeightfieldVolume.js +44 -0
  108. package/dist/geometryHost.js +321 -0
  109. package/dist/geometryHostDirectory.js +206 -0
  110. package/dist/geometryHostMutations.js +136 -0
  111. package/dist/geometryHostStreams.js +123 -0
  112. package/dist/geometryHttpBody.js +75 -0
  113. package/dist/geometryHttpRoutes.js +111 -0
  114. package/dist/geometryImportGltf.js +299 -0
  115. package/dist/geometryImportLdtk.js +53 -0
  116. package/dist/geometryImportPng.js +143 -0
  117. package/dist/geometryImportPublication.js +66 -0
  118. package/dist/geometryImportTiled.js +38 -0
  119. package/dist/geometryImportTiles.js +135 -0
  120. package/dist/geometryImportVox.js +129 -0
  121. package/dist/geometryImportedSource.js +100 -0
  122. package/dist/geometryInspectEndpoint.js +247 -0
  123. package/dist/geometryInspection.js +91 -0
  124. package/dist/geometryInstall.js +120 -0
  125. package/dist/geometryJournalArchiveData.js +20 -0
  126. package/dist/geometryJournalArchiveIndex.js +329 -0
  127. package/dist/geometryJournalArchiveTable.js +20 -0
  128. package/dist/geometryJournalCompaction.js +99 -0
  129. package/dist/geometryJournalPatch.js +46 -0
  130. package/dist/geometryJournalRetention.js +111 -0
  131. package/dist/geometryJournalRetentionSchemas.js +35 -0
  132. package/dist/geometryJournalRetentionSweep.js +111 -0
  133. package/dist/geometryJournalRetentionWorkflow.js +27 -0
  134. package/dist/geometryJournalRetentionWorkflowData.js +30 -0
  135. package/dist/geometryJournalStorage.js +147 -0
  136. package/dist/geometryLoader.js +117 -0
  137. package/dist/geometryManifest.js +112 -0
  138. package/dist/geometryManifestChannel.js +92 -0
  139. package/dist/geometryManifestClient.js +121 -0
  140. package/dist/geometryManifestData.js +48 -0
  141. package/dist/geometryManifestPorts.js +4 -0
  142. package/dist/geometryManifestPublication.js +108 -0
  143. package/dist/geometryManifestSource.js +67 -0
  144. package/dist/geometryMigrationJournal.js +13 -0
  145. package/dist/geometryMigrationStrategies.js +6 -0
  146. package/dist/geometryMigrations.js +322 -0
  147. package/dist/geometryNativeMetadata.js +51 -0
  148. package/dist/geometryPatch.js +169 -0
  149. package/dist/geometryPersistence.js +448 -0
  150. package/dist/geometryPersistenceCapture.js +68 -0
  151. package/dist/geometryPersistenceData.js +139 -0
  152. package/dist/geometryPersistencePorts.js +4 -0
  153. package/dist/geometryPlayerAdmission.js +33 -0
  154. package/dist/geometryPlayerEditOwner.js +264 -0
  155. package/dist/geometryPlayerEdits.js +48 -0
  156. package/dist/geometryPrepared.js +187 -0
  157. package/dist/geometryPrivacyFence.js +23 -0
  158. package/dist/geometryProceduralPublication.js +90 -0
  159. package/dist/geometryProceduralWorker.js +163 -0
  160. package/dist/geometryPublication.js +109 -0
  161. package/dist/geometryRayAlgebra.js +115 -0
  162. package/dist/geometryReadClient.js +156 -0
  163. package/dist/geometryReadPorts.js +4 -0
  164. package/dist/geometryReadRpc.js +26 -0
  165. package/dist/geometryReadRpcRoutes.js +46 -0
  166. package/dist/geometryReliablePublication.js +81 -0
  167. package/dist/geometryReloadPorts.js +45 -0
  168. package/dist/geometryReloadSource.js +277 -0
  169. package/dist/geometryRenderCache.js +164 -0
  170. package/dist/geometryRenderLod.js +101 -0
  171. package/dist/geometryRollback.js +124 -0
  172. package/dist/geometryRollbackCoordinator.js +202 -0
  173. package/dist/geometryRollbackPorts.js +45 -0
  174. package/dist/geometryRollbackSource.js +208 -0
  175. package/dist/geometryRollbackStore.js +197 -0
  176. package/dist/geometrySchemas.js +26 -0
  177. package/dist/geometryServer.d.ts +2766 -0
  178. package/dist/geometryServer.js +62 -0
  179. package/dist/geometryShapeRaycast.js +110 -0
  180. package/dist/geometryShapeSegments.js +33 -0
  181. package/dist/geometryShapes.js +222 -0
  182. package/dist/geometrySnapshot.js +75 -0
  183. package/dist/geometrySnapshotChannel.js +159 -0
  184. package/dist/geometrySnapshotClient.js +158 -0
  185. package/dist/geometrySnapshotPreparation.js +75 -0
  186. package/dist/geometrySnapshotServer.js +190 -0
  187. package/dist/geometrySqlOwner.js +20 -0
  188. package/dist/geometryStorage.js +126 -0
  189. package/dist/geometryStorageGrant.js +68 -0
  190. package/dist/geometryStorageIdentity.js +8 -0
  191. package/dist/geometryTileArtifact.js +9 -0
  192. package/dist/geometryTileCodec.js +193 -0
  193. package/dist/geometryTileCollision.js +95 -0
  194. package/dist/geometryTileNavigation.js +127 -0
  195. package/dist/geometryTileView.js +34 -0
  196. package/dist/geometryVersionActivation.js +113 -0
  197. package/dist/geometryVersionClient.js +237 -0
  198. package/dist/geometryVersionCompare.js +39 -0
  199. package/dist/geometryVersionMigration.js +105 -0
  200. package/dist/geometryVoxel.js +252 -0
  201. package/dist/geometryWorldEntitySubject.js +31 -0
  202. package/dist/geometryWorldExtent.js +11 -0
  203. package/dist/geometryWorldMetadata.js +37 -0
  204. package/dist/geometryWorldStrategyFixtures.js +126 -0
  205. package/dist/geometryWorldView.js +306 -0
  206. package/dist/host.js +127 -0
  207. package/dist/hostBinding.js +276 -0
  208. package/dist/hostCellObservation.js +113 -0
  209. package/dist/hostClientCapacity.js +89 -0
  210. package/dist/hostCommandScope.js +63 -0
  211. package/dist/hostController.js +3093 -0
  212. package/dist/hostDeployment.js +64 -0
  213. package/dist/hostDrain.js +151 -0
  214. package/dist/hostDrainPorts.js +4 -0
  215. package/dist/hostDriver.js +178 -0
  216. package/dist/hostLane.js +287 -0
  217. package/dist/hostListener.js +78 -0
  218. package/dist/hostListenerBinding.js +18 -0
  219. package/dist/hostLoopObservation.js +89 -0
  220. package/dist/hostMetrics.js +55 -0
  221. package/dist/hostRegistryBinding.js +417 -0
  222. package/dist/hostSelection.js +15 -0
  223. package/dist/hostShutdown.js +46 -0
  224. package/dist/hostTurnObservation.js +52 -0
  225. package/dist/identities.js +3 -0
  226. package/dist/index.d.ts +8632 -0
  227. package/dist/index.js +231 -0
  228. package/dist/inputReceipts.js +62 -0
  229. package/dist/inputRedundancy.js +54 -0
  230. package/dist/inspect.js +237 -0
  231. package/dist/lockstep.d.ts +436 -0
  232. package/dist/lockstep.js +381 -0
  233. package/dist/lockstepAdmission.js +261 -0
  234. package/dist/lockstepAdmissionCodec.js +93 -0
  235. package/dist/lockstepAdmissionPorts.js +4 -0
  236. package/dist/lockstepClientSession.js +577 -0
  237. package/dist/lockstepDefinition.js +147 -0
  238. package/dist/lockstepHostLoop.js +242 -0
  239. package/dist/lockstepInitialAdmission.js +66 -0
  240. package/dist/lockstepInitialStrategyFixtures.js +44 -0
  241. package/dist/lockstepJournal.js +394 -0
  242. package/dist/lockstepJournalCodec.js +253 -0
  243. package/dist/lockstepJournalPorts.js +4 -0
  244. package/dist/lockstepJournalRebuild.js +207 -0
  245. package/dist/lockstepJournalRows.js +56 -0
  246. package/dist/lockstepMembers.js +130 -0
  247. package/dist/lockstepMessages.js +46 -0
  248. package/dist/lockstepOwnedRoom.js +763 -0
  249. package/dist/lockstepPolicies.js +83 -0
  250. package/dist/lockstepReact.js +46 -0
  251. package/dist/lockstepRecoveryTruth.js +120 -0
  252. package/dist/lockstepRosterConfig.js +31 -0
  253. package/dist/lockstepSeed.js +11 -0
  254. package/dist/lockstepSeedFixture.js +19 -0
  255. package/dist/lockstepServer.d.ts +3897 -0
  256. package/dist/lockstepServer.js +324 -0
  257. package/dist/lockstepServerConfig.js +100 -0
  258. package/dist/lockstepServerRoles.js +402 -0
  259. package/dist/lockstepServerStrategyFixtures.js +32 -0
  260. package/dist/lockstepStrategies.js +5 -0
  261. package/dist/lockstepStrategyFixtures.js +136 -0
  262. package/dist/lockstepTerminal.js +89 -0
  263. package/dist/lockstepTerminalPorts.js +4 -0
  264. package/dist/lockstepTransport.js +772 -0
  265. package/dist/lockstepTransportConfig.js +31 -0
  266. package/dist/lockstepWireRoster.js +33 -0
  267. package/dist/matchRoomProvider.js +31 -0
  268. package/dist/matchRooms.js +18 -0
  269. package/dist/membershipObserver.js +46 -0
  270. package/dist/moderation.js +97 -0
  271. package/dist/movementSpecials.js +103 -0
  272. package/dist/ownership.js +16 -0
  273. package/dist/ownershipWithdrawal.js +17 -0
  274. package/dist/pcg32.js +95 -0
  275. package/dist/ports.d.ts +1241 -0
  276. package/dist/ports.js +10 -0
  277. package/dist/quaternion.js +69 -0
  278. package/dist/react.d.ts +406 -0
  279. package/dist/react.js +108 -0
  280. package/dist/reaper-app/rooms.reaper.workflow.server.tsx +5 -0
  281. package/dist/reaper-app/rooms.reaper.workflow.tsx +13 -0
  282. package/dist/reaper.js +242 -0
  283. package/dist/reaperSchemas.js +41 -0
  284. package/dist/reaperWorkflow.js +69 -0
  285. package/dist/recovery.js +188 -0
  286. package/dist/recoverySeats.js +25 -0
  287. package/dist/replay.d.ts +273 -0
  288. package/dist/replay.js +484 -0
  289. package/dist/replayPorts.js +4 -0
  290. package/dist/replayRecording.js +66 -0
  291. package/dist/replaySchema.js +156 -0
  292. package/dist/replayStorage.d.ts +149 -0
  293. package/dist/replayStorage.js +484 -0
  294. package/dist/reservationBatch.js +421 -0
  295. package/dist/reservationSchemas.js +16 -0
  296. package/dist/reservations.js +258 -0
  297. package/dist/reservePort.js +68 -0
  298. package/dist/resolvedOptions.js +3 -0
  299. package/dist/room.d.ts +1006 -0
  300. package/dist/room.js +283 -0
  301. package/dist/roomAccessSweep.js +94 -0
  302. package/dist/roomAppCommandControl.js +58 -0
  303. package/dist/roomAuthoringStrategy.js +16 -0
  304. package/dist/roomErasure.js +197 -0
  305. package/dist/roomPoolRuntimeDefaults.js +23 -0
  306. package/dist/roomPoolSelection.js +18 -0
  307. package/dist/roomPoolTopology.js +211 -0
  308. package/dist/rpc.d.ts +551 -0
  309. package/dist/rpc.js +111 -0
  310. package/dist/rpcClient.js +151 -0
  311. package/dist/rpcRoutes.js +27 -0
  312. package/dist/runtime.js +1122 -0
  313. package/dist/schemaHistory.js +97 -0
  314. package/dist/seatStore.js +150 -0
  315. package/dist/seatStrategyFixtures.js +51 -0
  316. package/dist/seatSubject.js +31 -0
  317. package/dist/seats.js +129 -0
  318. package/dist/serverSession.js +810 -0
  319. package/dist/serverSessionConfig.js +42 -0
  320. package/dist/sessionAdmission.js +52 -0
  321. package/dist/sidecarAdmission.js +102 -0
  322. package/dist/sidecarConfig.js +115 -0
  323. package/dist/sidecarConfigPublication.js +63 -0
  324. package/dist/sidecarHostListener.js +207 -0
  325. package/dist/sidecarIpc.js +204 -0
  326. package/dist/sidecarPeer.js +309 -0
  327. package/dist/sidecarProcessPort.js +27 -0
  328. package/dist/sidecarRuntime.js +167 -0
  329. package/dist/sidecarSelection.js +141 -0
  330. package/dist/sidecarWire.js +177 -0
  331. package/dist/sidecarWrites.js +162 -0
  332. package/dist/simulation.d.ts +391 -0
  333. package/dist/simulation.js +281 -0
  334. package/dist/simulationAuthoring.js +28 -0
  335. package/dist/simulationBytes.js +26 -0
  336. package/dist/simulationConformance.js +304 -0
  337. package/dist/simulationInputHistoryCapture.js +34 -0
  338. package/dist/simulationInputHistoryWire.js +192 -0
  339. package/dist/simulationOptionsWire.js +77 -0
  340. package/dist/simulationRecoveryWire.js +133 -0
  341. package/dist/simulationReplay.js +126 -0
  342. package/dist/simulationSnapshotWire.js +111 -0
  343. package/dist/simulationState.js +177 -0
  344. package/dist/snapshotBlob.js +125 -0
  345. package/dist/snapshotBlobCleanup.js +92 -0
  346. package/dist/snapshotBlobIndex.js +37 -0
  347. package/dist/snapshotBudget.js +79 -0
  348. package/dist/snapshotChain.js +184 -0
  349. package/dist/snapshotErasure.js +171 -0
  350. package/dist/snapshotInspection.js +104 -0
  351. package/dist/snapshotSegmentBlobs.js +57 -0
  352. package/dist/snapshotUploads.js +165 -0
  353. package/dist/socketTransport.js +252 -0
  354. package/dist/spatial.js +103 -0
  355. package/dist/spectatorPolicy.js +25 -0
  356. package/dist/spectatorProducer.js +88 -0
  357. package/dist/startFailureCause.js +3 -0
  358. package/dist/stateCodec.js +657 -0
  359. package/dist/strategies.d.ts +210 -0
  360. package/dist/strategies.js +8 -0
  361. package/dist/strategiesServer.d.ts +286 -0
  362. package/dist/strategiesServer.js +11 -0
  363. package/dist/strategyFixtures.js +181 -0
  364. package/dist/streamFraming.js +121 -0
  365. package/dist/streamTransport.js +265 -0
  366. package/dist/subjectAdmission.js +49 -0
  367. package/dist/subjectPrivacy.js +280 -0
  368. package/dist/subjectPrivacyBinding.js +89 -0
  369. package/dist/systemManifest.js +181 -0
  370. package/dist/tables.js +158 -0
  371. package/dist/testHarness.js +88 -0
  372. package/dist/testing.d.ts +3684 -0
  373. package/dist/testing.js +220 -0
  374. package/dist/testingPorts.js +270 -0
  375. package/dist/testingServer.d.ts +4060 -0
  376. package/dist/testingServer.js +18 -0
  377. package/dist/transform.d.ts +692 -0
  378. package/dist/transform.js +216 -0
  379. package/dist/transform3d.js +117 -0
  380. package/dist/transformCollection.js +23 -0
  381. package/dist/transformCollection3d.js +23 -0
  382. package/dist/transformCollectionCore.js +155 -0
  383. package/dist/transformFrames.js +120 -0
  384. package/dist/transformPrediction3d.js +126 -0
  385. package/dist/transformRules.js +122 -0
  386. package/dist/transformSchemas.js +19 -0
  387. package/dist/transport.js +31 -0
  388. package/dist/transportAuthoring.js +28 -0
  389. package/dist/transportCleanup.js +21 -0
  390. package/dist/transportConformance.js +123 -0
  391. package/dist/transportConnector.js +81 -0
  392. package/dist/transportEndpoints.js +37 -0
  393. package/dist/transportsServer.d.ts +5515 -0
  394. package/dist/transportsServer.js +6 -0
  395. package/dist/viewProjection.js +15 -0
  396. package/dist/web.d.ts +2286 -0
  397. package/dist/web.js +517 -0
  398. package/dist/webTransportClient.js +172 -0
  399. package/dist/wire.d.ts +992 -0
  400. package/dist/wire.js +491 -0
  401. package/dist/withdrawalPort.js +27 -0
  402. package/dist/world.d.ts +1894 -0
  403. package/dist/world.js +332 -0
  404. package/dist/worldActorReceipts.js +47 -0
  405. package/dist/worldActorTransferSnapshot.js +13 -0
  406. package/dist/worldAdmissionPending.js +7 -0
  407. package/dist/worldBoundaryCoordinator.js +147 -0
  408. package/dist/worldCatalog.js +80 -0
  409. package/dist/worldCellAllocation.js +202 -0
  410. package/dist/worldCellDestination.js +67 -0
  411. package/dist/worldCells.js +488 -0
  412. package/dist/worldChange.js +31 -0
  413. package/dist/worldClient.js +663 -0
  414. package/dist/worldClientControl.js +140 -0
  415. package/dist/worldClientPendingInput.js +15 -0
  416. package/dist/worldClientRpc.js +132 -0
  417. package/dist/worldClientRpcRoutes.js +42 -0
  418. package/dist/worldClientSchemas.js +27 -0
  419. package/dist/worldCommands.js +139 -0
  420. package/dist/worldData.js +41 -0
  421. package/dist/worldDefaultBinding.js +376 -0
  422. package/dist/worldDefaultGroupAdmission.js +81 -0
  423. package/dist/worldDefaultGroupAppServices.js +30 -0
  424. package/dist/worldDefaultGroupCompensation.js +108 -0
  425. package/dist/worldDefaultGroupContinuation.js +95 -0
  426. package/dist/worldDefaultGroupControl.js +71 -0
  427. package/dist/worldDefaultGroupMembers.js +84 -0
  428. package/dist/worldDefaultGroups.js +20 -0
  429. package/dist/worldDefaultPending.js +78 -0
  430. package/dist/worldDefaultService.js +244 -0
  431. package/dist/worldEntities.js +2979 -0
  432. package/dist/worldEntityCodec.js +20 -0
  433. package/dist/worldEntityHandoffView.js +153 -0
  434. package/dist/worldGeometry.js +169 -0
  435. package/dist/worldGhostAdmission.js +64 -0
  436. package/dist/worldGhostDestination.js +117 -0
  437. package/dist/worldGhostGateway.js +131 -0
  438. package/dist/worldGhostHandshake.js +107 -0
  439. package/dist/worldGhostHost.js +41 -0
  440. package/dist/worldGhostIngress.js +131 -0
  441. package/dist/worldGhostNeighborhood.js +69 -0
  442. package/dist/worldGhostNeighbors.js +85 -0
  443. package/dist/worldGhostOutbound.js +109 -0
  444. package/dist/worldGhostPublisher.js +215 -0
  445. package/dist/worldGhostReceiver.js +212 -0
  446. package/dist/worldGhostSender.js +145 -0
  447. package/dist/worldGhostSocket.js +77 -0
  448. package/dist/worldGhostWire.js +171 -0
  449. package/dist/worldGroupCommand.js +48 -0
  450. package/dist/worldGroupDeadline.js +114 -0
  451. package/dist/worldGroupPreparation.js +114 -0
  452. package/dist/worldGroupReadyControl.js +127 -0
  453. package/dist/worldGroupSupervisor.js +119 -0
  454. package/dist/worldHandoffMetrics.js +58 -0
  455. package/dist/worldHandoffView.js +99 -0
  456. package/dist/worldHostSource.js +68 -0
  457. package/dist/worldInspectEndpoint.js +249 -0
  458. package/dist/worldInspection.js +108 -0
  459. package/dist/worldInstanceAdmission.js +30 -0
  460. package/dist/worldInstanceAllocation.js +115 -0
  461. package/dist/worldInstanceDestination.js +63 -0
  462. package/dist/worldInstanceExpiry.js +281 -0
  463. package/dist/worldInstanceExpirySupervisor.js +87 -0
  464. package/dist/worldInstanceLifecycle.js +102 -0
  465. package/dist/worldInstanceState.js +51 -0
  466. package/dist/worldInstances.js +477 -0
  467. package/dist/worldJoin.js +55 -0
  468. package/dist/worldLayers.js +150 -0
  469. package/dist/worldLeases.js +77 -0
  470. package/dist/worldManifest.js +24 -0
  471. package/dist/worldMovement.js +62 -0
  472. package/dist/worldPersistence.js +133 -0
  473. package/dist/worldProjection.js +220 -0
  474. package/dist/worldReact.js +109 -0
  475. package/dist/worldRecoveryActor.js +34 -0
  476. package/dist/worldReturnAnchor.js +48 -0
  477. package/dist/worldRoomHooks.js +56 -0
  478. package/dist/worldRoomPool.js +26 -0
  479. package/dist/worldRoomSteps.js +132 -0
  480. package/dist/worldSeatBinding.js +35 -0
  481. package/dist/worldServer.d.ts +6936 -0
  482. package/dist/worldServer.js +48 -0
  483. package/dist/worldSourceSeatPending.js +8 -0
  484. package/dist/worldStrategyFixtures.js +163 -0
  485. package/dist/worldTesting.js +26 -0
  486. package/dist/worldTransitionDefaults.js +197 -0
  487. package/dist/worldTransitionExecutor.js +518 -0
  488. package/dist/worldTransitionGroup.js +112 -0
  489. package/dist/worldTransitionPhysicalSteps.js +39 -0
  490. package/dist/worldTransitionResolver.js +227 -0
  491. package/dist/worldTransitionSeatGroup.js +63 -0
  492. package/dist/worldTransitionSeats.js +259 -0
  493. package/dist/worldTransitionState.js +94 -0
  494. package/dist/worldTransitions.js +100 -0
  495. package/package.json +189 -4
@@ -0,0 +1,40 @@
1
+ import { RoomGeometryReloadRequestSchema as e, RoomGeometryRollbackRequestSchema as t } from "./geometryAdminSchemas.js";
2
+ import { GeometryChunkAddressSchema as n, GeometryTileChunkSchema as r, GeometryTileMaterialSchema as i, GeometryTileRunSchema as a } from "./geometrySchemas.js";
3
+ import { createGeometryTileCodec as o, defaultGeometryTileLimits as s } from "./geometryTileCodec.js";
4
+ import { GeometryHeightfieldChunkSchema as c, createGeometryHeightfieldCodec as l, createGeometryHeightfieldView as u, defaultGeometryHeightfieldLimits as d } from "./geometryHeightfield.js";
5
+ import { GeometryBoxSchema as f, GeometryChunkAddress3DSchema as p, GeometryShapeSchema as m, GeometryShapesChunkSchema as h, GeometrySphereSchema as g, createGeometryShapesCodec as _, createGeometryShapesView as v, defaultGeometryShapesLimits as y } from "./geometryShapes.js";
6
+ import { GeometryVoxelChunkSchema as b, GeometryVoxelSectionSchema as x, createGeometryVoxelCodec as S, createGeometryVoxelView as C, defaultGeometryVoxelLimits as w } from "./geometryVoxel.js";
7
+ import { createGeometryArtifact as T, verifyGeometryArtifact as E } from "./geometryArtifacts.js";
8
+ import { createGeometryTileView as D } from "./geometryTileView.js";
9
+ import { applyGeometryEdit as O, captureGeometryEditAuthority as k, captureGeometryEditIntent as A, captureGeometryEditStrategies as j, defaultGeometryApplyOp as M, defaultGeometryOpValidator as N } from "./geometryEdits.js";
10
+ import { captureGeometryDerivationStrategies as P, defaultGeometryCollisionDerive as F, defaultGeometryNavDerive as I } from "./geometryDerivationStrategies.js";
11
+ import { prepareGeometryInventory as L } from "./geometryPrepared.js";
12
+ import { makeGeometryActorInventory as R } from "./geometryActorInventory.js";
13
+ import { defaultGeometryMigrateDelta as z } from "./geometryMigrationStrategies.js";
14
+ import { GeometryPatchMetadataSchema as B, applyGeometryPatch as V, createGeometryPatch as H, decodeGeometryPatch as U, defaultGeometryPatchLimits as W } from "./geometryPatch.js";
15
+ import { captureGeometryCompactionStrategies as G, defaultGeometryCompaction as K, prepareGeometryCompaction as q } from "./geometryCompactionStrategies.js";
16
+ import { cmsGeometry as J, importedGeometry as Y, procedural as X } from "./worldGeometry.js";
17
+ import { createGeometryTilePathSearch as Z, defaultGeometryTileNavigationLimits as Q } from "./geometryTileNavigation.js";
18
+ import { GeometryManifestFragmentSchema as $, captureGeometryManifestFragment as ee, geometryManifestFragmentBytes as te, geometryManifestReliableChannel as ne, makeGeometryManifestReceiver as re } from "./geometryManifestChannel.js";
19
+ import { GeometryDeltaFragmentSchema as ie, captureGeometryDeltaFragment as ae, createGeometryDeltaFragments as oe, geometryDeltaFragmentBytes as se, geometryReliableChannel as ce, makeGeometryDeltaReceiver as le } from "./geometryChannel.js";
20
+ import { GeometryEditMessageSchema as ue, captureGeometryEditMessage as de, geometryEditChannel as fe } from "./geometryEditChannel.js";
21
+ import { captureGeometryJournalArchiveReference as pe } from "./geometryJournalArchiveData.js";
22
+ import { GeometryPersistencePort as me, GeometryStaticSourcePort as he, geometryPersistenceLayer as ge, geometryStaticSourceLayer as _e } from "./geometryPersistencePorts.js";
23
+ import { GeometryInspectionSchema as ve, GeometryInspectionTableSchema as ye, decodeGeometryInspection as be } from "./geometryInspection.js";
24
+ import { RoomGeometryAdministrationPort as xe } from "./geometryAdministrationPorts.js";
25
+ import { applyGeometryChunkSnapshot as Se, captureGeometryChunkSnapshot as Ce, createGeometryChunkSnapshot as we } from "./geometrySnapshot.js";
26
+ import { GeometryChunkRequestSchema as Te, GeometryChunkSnapshotFragmentSchema as Ee, captureGeometryChunkRequest as De, captureGeometryChunkSnapshotFragment as Oe, createGeometryChunkSnapshotFragments as ke, geometryChunkRequestChannel as Ae, geometryChunkSnapshotChannel as je, makeGeometrySnapshotReceiver as Me } from "./geometrySnapshotChannel.js";
27
+ import { overlapsGeometryHeightfieldBox as Ne } from "./geometryHeightfieldVolume.js";
28
+ import { sweepGeometryHeightfieldBox as Pe } from "./geometryHeightfieldSweep.js";
29
+ import { raycastGeometryHeightfield as Fe } from "./geometryHeightfieldRaycast.js";
30
+ import { createGeometryWorldTilePathSearch as Ie, makeGeometryWorldView as Le } from "./geometryWorldView.js";
31
+ import { worldCellGeometryCoverage as Re, worldGeometryChunkOwner as ze, worldGeometryMapCoordinates as Be } from "./geometryCellCoverage.js";
32
+ import { defaultGeometryRollbackStrategies as Ve, prepareGeometryRollback as He } from "./geometryRollback.js";
33
+ import { RoomGeometryControlPort as Ue } from "./geometryAdminPorts.js";
34
+ import { createGeometryTileArtifact as We, verifyGeometryTileArtifact as Ge } from "./geometryTileArtifact.js";
35
+ import { importTiledGeometry as Ke } from "./geometryImportTiled.js";
36
+ import { importLdtkGeometry as qe } from "./geometryImportLdtk.js";
37
+ import { importVoxGeometry as Je } from "./geometryImportVox.js";
38
+ import { importGltfGeometry as Ye } from "./geometryImportGltf.js";
39
+ import { compareGeometryVersions as Xe } from "./geometryVersionCompare.js";
40
+ export { f as GeometryBoxSchema, p as GeometryChunkAddress3DSchema, n as GeometryChunkAddressSchema, Te as GeometryChunkRequestSchema, Ee as GeometryChunkSnapshotFragmentSchema, ie as GeometryDeltaFragmentSchema, ue as GeometryEditMessageSchema, c as GeometryHeightfieldChunkSchema, ve as GeometryInspectionSchema, ye as GeometryInspectionTableSchema, $ as GeometryManifestFragmentSchema, B as GeometryPatchMetadataSchema, me as GeometryPersistencePort, m as GeometryShapeSchema, h as GeometryShapesChunkSchema, g as GeometrySphereSchema, he as GeometryStaticSourcePort, r as GeometryTileChunkSchema, i as GeometryTileMaterialSchema, a as GeometryTileRunSchema, b as GeometryVoxelChunkSchema, x as GeometryVoxelSectionSchema, xe as RoomGeometryAdministrationPort, Ue as RoomGeometryControlPort, e as RoomGeometryReloadRequestSchema, t as RoomGeometryRollbackRequestSchema, Se as applyGeometryChunkSnapshot, O as applyGeometryEdit, V as applyGeometryPatch, De as captureGeometryChunkRequest, Ce as captureGeometryChunkSnapshot, Oe as captureGeometryChunkSnapshotFragment, G as captureGeometryCompactionStrategies, ae as captureGeometryDeltaFragment, P as captureGeometryDerivationStrategies, k as captureGeometryEditAuthority, A as captureGeometryEditIntent, de as captureGeometryEditMessage, j as captureGeometryEditStrategies, pe as captureGeometryJournalArchiveReference, ee as captureGeometryManifestFragment, J as cmsGeometry, Xe as compareGeometryVersions, T as createGeometryArtifact, we as createGeometryChunkSnapshot, ke as createGeometryChunkSnapshotFragments, oe as createGeometryDeltaFragments, l as createGeometryHeightfieldCodec, u as createGeometryHeightfieldView, H as createGeometryPatch, _ as createGeometryShapesCodec, v as createGeometryShapesView, We as createGeometryTileArtifact, o as createGeometryTileCodec, Z as createGeometryTilePathSearch, D as createGeometryTileView, S as createGeometryVoxelCodec, C as createGeometryVoxelView, Ie as createGeometryWorldTilePathSearch, be as decodeGeometryInspection, U as decodeGeometryPatch, M as defaultGeometryApplyOp, F as defaultGeometryCollisionDerive, K as defaultGeometryCompaction, d as defaultGeometryHeightfieldLimits, z as defaultGeometryMigrateDelta, I as defaultGeometryNavDerive, N as defaultGeometryOpValidator, W as defaultGeometryPatchLimits, Ve as defaultGeometryRollbackStrategies, y as defaultGeometryShapesLimits, s as defaultGeometryTileLimits, Q as defaultGeometryTileNavigationLimits, w as defaultGeometryVoxelLimits, Ae as geometryChunkRequestChannel, je as geometryChunkSnapshotChannel, se as geometryDeltaFragmentBytes, fe as geometryEditChannel, te as geometryManifestFragmentBytes, ne as geometryManifestReliableChannel, ge as geometryPersistenceLayer, ce as geometryReliableChannel, _e as geometryStaticSourceLayer, Ye as importGltfGeometry, qe as importLdtkGeometry, Ke as importTiledGeometry, Je as importVoxGeometry, Y as importedGeometry, R as makeGeometryActorInventory, le as makeGeometryDeltaReceiver, re as makeGeometryManifestReceiver, Me as makeGeometrySnapshotReceiver, Le as makeGeometryWorldView, Ne as overlapsGeometryHeightfieldBox, q as prepareGeometryCompaction, L as prepareGeometryInventory, He as prepareGeometryRollback, X as procedural, Fe as raycastGeometryHeightfield, Pe as sweepGeometryHeightfieldBox, E as verifyGeometryArtifact, Ge as verifyGeometryTileArtifact, Re as worldCellGeometryCoverage, ze as worldGeometryChunkOwner, Be as worldGeometryMapCoordinates };
@@ -0,0 +1,81 @@
1
+ import { BudgetExceeded as e, ProtocolError as t } from "./errors.js";
2
+ import { captureSimulationBytes as n } from "./simulationBytes.js";
3
+ import { geometryOwnData as r } from "./geometryTileCodec.js";
4
+ import { admitGeometryChunkForKind as i, geometryArtifactStateCodec as a } from "./geometryArtifacts.js";
5
+ import { captureGeometryOwner as o, captureGeometryPersistenceScope as s, captureGeometryReceipt as c, captureGeometrySubject as l, geometryPersistenceId as u, geometryPersistenceInteger as d } from "./geometryPersistenceData.js";
6
+ import { captureGeometryPreparedBaseline as f, captureGeometryPreparedProfile as p, deriveGeometryPreparedInventory as m } from "./geometryPrepared.js";
7
+ import { captureGeometryActorFrame as h, sealGeometryActivation as g } from "./geometryActorInventory.js";
8
+ import { applyGeometryPatch as _, decodeGeometryPatch as v } from "./geometryPatch.js";
9
+ import { captureRoomSnapshotEffectRunner as y } from "./snapshotBlobIndex.js";
10
+ import { captureGeometryPlayerAdmission as b } from "./geometryPlayerAdmission.js";
11
+ import { Effect as x } from "effect";
12
+ import { HotError as S } from "@voltro/kv/hot/contract";
13
+ // src/geometryActivation.ts
14
+ var C = (C, w, T, E = {}) => {
15
+ try {
16
+ let D = r(E, ["maxPatchBytes"], []), O = Object.hasOwn(D, "maxPatchBytes") ? d(D.maxPatchBytes, 512, 16777216) : 262144, k = h(C), A = r(T, [
17
+ "scope",
18
+ "owner",
19
+ "subject",
20
+ "requestId",
21
+ "patch",
22
+ "actualSession"
23
+ ], [
24
+ "scope",
25
+ "owner",
26
+ "subject",
27
+ "requestId",
28
+ "patch"
29
+ ]), j = s(A.scope), M = o(A.owner), N = l(A.subject), P = u(A.requestId), F = n(A.patch, O, "geometryActivationPatchBytes"), I = v(F, {
30
+ maxBytes: O,
31
+ maxMetadataBytes: Math.min(4096, O - 16)
32
+ }), L = r(w, [
33
+ "commit",
34
+ "observation",
35
+ "withdrawSubject",
36
+ "eraseSubject",
37
+ "close"
38
+ ], ["commit"]).commit, R = {
39
+ cx: j.cx,
40
+ cy: j.cy,
41
+ ...j.cz === void 0 ? {} : { cz: j.cz }
42
+ }, z = f(k, R), B = p(k), V = Object.hasOwn(A, "actualSession") ? b(A.actualSession, j, M, N) : null;
43
+ if (typeof L != "function" || JSON.stringify(z.scope) !== JSON.stringify(j)) return x.fail(new t({ detail: "Geometry activation escaped its current CPU inventory scope" }));
44
+ let H = L, U = I.metadata;
45
+ return U.kind !== j.kind || U.worldId !== j.worldId || U.layerSetId !== j.layerSetId || U.version !== j.version || U.cx !== j.cx || U.cy !== j.cy || U.cz !== j.cz || U.stateSchemaHash !== a(j.kind, B).schemaHash ? x.fail(new t({ detail: "Geometry activation patch differs from its selected scope/layout" })) : (i(j.kind, z.artifact.chunk, B), x.flatMap(x.context(), (n) => x.uninterruptible(x.tryPromise({
46
+ try: async () => {
47
+ V?.assertCurrent();
48
+ let e = y(n), r = U.changed && z.revision === U.revision && z.artifact.blobSha256 === U.blobSha256 && z.artifact.contentSha256 === U.contentSha256, i = k;
49
+ if (!r) {
50
+ let e = await _(z.artifact, I, z.revision, B);
51
+ U.changed && (i = m(k, {
52
+ scope: j,
53
+ revision: e.revision,
54
+ artifact: e.artifact
55
+ }));
56
+ }
57
+ V?.assertCurrent();
58
+ let a = H({
59
+ scope: j,
60
+ owner: M,
61
+ subject: N,
62
+ requestId: P,
63
+ patch: new Uint8Array(F),
64
+ ...V ? { actualSession: V.actualSession } : {}
65
+ });
66
+ if (!x.isEffect(a)) throw new t({ detail: "Geometry activation requires an actual server commit Effect" });
67
+ let o = c(await e(a));
68
+ if (JSON.stringify(o.scope) !== JSON.stringify(j) || o.requestId !== P || o.baseRevision !== U.baseRevision || o.revision !== U.revision || o.changed !== U.changed || o.blobSha256 !== U.blobSha256 || o.contentSha256 !== U.contentSha256) throw new t({ detail: "Geometry activation did not receive its exact committed SQL result" });
69
+ return V?.assertCurrent(), h(C), g(C, k, i, o);
70
+ },
71
+ catch: (n) => n instanceof e ? n : n instanceof S ? new S({
72
+ operation: n.operation,
73
+ key: "geometryActivation",
74
+ reason: n.reason
75
+ }) : new t({ detail: "Geometry preparation or committed activation remains unconfirmed" })
76
+ }))));
77
+ } catch {
78
+ return x.fail(new t({ detail: "Geometry activation request or before-frame could not be captured" }));
79
+ }
80
+ };
81
+ export { C as prepareGeometryActivation };
@@ -0,0 +1,107 @@
1
+ import { BudgetExceeded as e, ProtocolError as t } from "./errors.js";
2
+ import { captureGeometryPreparedInventory as n } from "./geometryPrepared.js";
3
+ // src/geometryActorInventory.ts
4
+ var r = /* @__PURE__ */ new WeakMap(), i = /* @__PURE__ */ new WeakMap(), a = /* @__PURE__ */ new WeakMap();
5
+ function o() {
6
+ throw new t({ detail: "Geometry CPU inventory needs a current genuine confirmed activation" });
7
+ }
8
+ var s = (e) => {
9
+ let t = n(e), s = {
10
+ scope: t.scope,
11
+ current: t,
12
+ generation: 0,
13
+ readersFenced: !1,
14
+ observers: /* @__PURE__ */ new Set()
15
+ }, c = () => s.current ?? o(), l = Object.freeze({
16
+ at: (e) => s.readersFenced ? o() : c().at(e),
17
+ contains: (e) => s.readersFenced ? o() : c().contains(e),
18
+ activate: (e) => {
19
+ let t = a.get(e), n = c();
20
+ if (!t || t.actor !== l) return o();
21
+ if (n === t.after) return !1;
22
+ if (n !== t.before || s.generation === 2147483647) return o();
23
+ s.current = t.after, s.generation++;
24
+ for (let e of s.observers) e();
25
+ return !0;
26
+ },
27
+ activateVersion: (e) => {
28
+ let t = r.get(e), n = c();
29
+ if (!t || t.actor !== l || s.readersFenced) return o();
30
+ if (n === t.after) return !1;
31
+ if (n !== t.before || s.generation === 2147483647) return o();
32
+ s.current = t.after, s.scope = t.after.scope, s.generation++;
33
+ for (let e of s.observers) e();
34
+ return !0;
35
+ },
36
+ observation: () => Object.freeze({
37
+ scope: s.scope,
38
+ generation: s.generation,
39
+ chunks: s.current?.entries.length ?? 0,
40
+ accountedBytes: s.current?.accountedBytes ?? 0,
41
+ closed: s.current === null
42
+ }),
43
+ close: () => {
44
+ s.readersFenced = !0, s.current = null;
45
+ for (let e of s.observers) e();
46
+ s.observers.clear();
47
+ }
48
+ });
49
+ return i.set(l, s), l;
50
+ }, c = (e) => {
51
+ let t = i.get(e);
52
+ if (!t) return o();
53
+ t.readersFenced = !0;
54
+ for (let e of t.observers) e();
55
+ t.observers.clear();
56
+ }, l = (e) => {
57
+ let t = i.get(e);
58
+ return !t || t.readersFenced || !t.current ? o() : t.current;
59
+ }, u = (e) => i.get(e)?.current ?? o(), d = (t, n) => {
60
+ let r = i.get(t);
61
+ if (!r?.current || r.readersFenced) return o();
62
+ if (r.observers.size >= 64) throw new e({
63
+ budget: "geometryNavigationReaders",
64
+ limit: 64
65
+ });
66
+ return r.observers.add(n), () => {
67
+ r.observers.delete(n);
68
+ };
69
+ }, f = (e, t, r, i) => {
70
+ u(e), n(t), n(r);
71
+ let o = Object.freeze({
72
+ _tag: "GeometryActivation",
73
+ receipt: i
74
+ });
75
+ return a.set(o, {
76
+ actor: e,
77
+ before: t,
78
+ after: r
79
+ }), o;
80
+ }, p = (e, t, i, a) => {
81
+ u(e), n(t), n(i);
82
+ let s = t.scope, c = i.scope;
83
+ if (s.version === c.version || s.tenantId !== c.tenantId || s.kind !== c.kind || s.worldId !== c.worldId || s.layerSetId !== c.layerSetId) return o();
84
+ let l = Object.freeze({
85
+ _tag: "GeometryVersionActivation",
86
+ receipts: a
87
+ });
88
+ return r.set(l, {
89
+ actor: e,
90
+ before: t,
91
+ after: i
92
+ }), l;
93
+ }, m = (e, t) => {
94
+ let n = a.get(t), r = l(e);
95
+ return !n || n.actor !== e || r !== n.before && r !== n.after ? o() : t;
96
+ }, h = (e, t) => {
97
+ let n = r.get(t), i = l(e);
98
+ return !n || n.actor !== e || i !== n.before && i !== n.after ? o() : t;
99
+ }, g = (e, t) => {
100
+ h(e, t);
101
+ let n = r.get(t);
102
+ return Object.freeze({
103
+ before: n.before,
104
+ after: n.after
105
+ });
106
+ };
107
+ export { m as captureGeometryActivation, u as captureGeometryActorFrame, l as captureGeometryActorReadFrame, h as captureGeometryVersionActivation, g as captureGeometryVersionActivationDetails, c as fenceGeometryActorReaders, s as makeGeometryActorInventory, d as observeGeometryActorFrameChange, f as sealGeometryActivation, p as sealGeometryVersionActivation };
@@ -0,0 +1,86 @@
1
+ import { BudgetExceeded as e, ProtocolError as t } from "./errors.js";
2
+ import { geometryOwnData as n } from "./geometryTileCodec.js";
3
+ import { geometryPersistenceId as r, geometryPersistenceInteger as i } from "./geometryPersistenceData.js";
4
+ import { captureRoomGeometryReloadRequest as a, captureRoomGeometryRollbackRequest as o } from "./geometryAdminData.js";
5
+ // src/geometryAdminClient.ts
6
+ var s = () => new t({ detail: "Geometry administrative outcome remains unconfirmed; repeat the exact request" }), c = (t) => {
7
+ let c = n(t, [
8
+ "caller",
9
+ "maxRetainedRequests",
10
+ "maxRetainedBytes"
11
+ ], ["caller"]), l = n(c.caller, ["call"]), u = Object.hasOwn(c, "maxRetainedRequests") ? i(c.maxRetainedRequests, 1, 4096) : 32, d = Object.hasOwn(c, "maxRetainedBytes") ? i(c.maxRetainedBytes, 512, 16777216) : 65536;
12
+ if (typeof l.call != "function") throw s();
13
+ let f = l.call.bind(c.caller), p = /* @__PURE__ */ new Map(), m = "open", h = 0, g = null, _ = (t, i, c, l) => {
14
+ let g, _, v;
15
+ try {
16
+ let e = r(i), n = t === "rooms.geometry.reload" ? a(c) : o(c);
17
+ if (l !== void 0 && (!(l instanceof AbortSignal) || l.aborted)) throw s();
18
+ g = Object.freeze({
19
+ roomId: e,
20
+ request: n
21
+ }), v = n.requestId, _ = JSON.stringify([t, g]);
22
+ } catch {
23
+ return Promise.reject(s());
24
+ }
25
+ if (m === "closed") return Promise.reject(s());
26
+ let y = p.get(v);
27
+ if (y && y.fingerprint !== _) return Promise.reject(s());
28
+ if (y?.task) return y.task;
29
+ if (!y) {
30
+ if (m !== "open") return Promise.reject(s());
31
+ let n = new TextEncoder().encode(_).length;
32
+ if (p.size >= u) return Promise.reject(new e({
33
+ budget: "geometryAdminRetainedRequests",
34
+ limit: u
35
+ }));
36
+ if (n > d - h) return Promise.reject(new e({
37
+ budget: "geometryAdminRetainedBytes",
38
+ limit: d
39
+ }));
40
+ y = {
41
+ tag: t,
42
+ input: g,
43
+ fingerprint: _,
44
+ bytes: n,
45
+ task: null
46
+ }, p.set(v, y), h += n;
47
+ }
48
+ let b = y, x = Promise.resolve().then(async () => {
49
+ let e = f(b.tag, b.input, Object.freeze(l === void 0 ? {} : { signal: l }));
50
+ if (!(e instanceof Promise) || n(await e, ["ok"]).ok !== !0 || p.get(v) !== b) throw s();
51
+ p.delete(v), h -= b.bytes;
52
+ }).catch(() => {
53
+ throw s();
54
+ });
55
+ return b.task = x, x.then(() => {
56
+ b.task === x && (b.task = null);
57
+ }, () => {
58
+ b.task === x && (b.task = null);
59
+ }), x;
60
+ };
61
+ return Object.freeze({
62
+ reload: (e, t, n) => _("rooms.geometry.reload", e, t, n),
63
+ rollback: (e, t, n) => _("rooms.geometry.rollback", e, t, n),
64
+ observation: () => Object.freeze({
65
+ phase: m,
66
+ pending: [...p.values()].filter((e) => e.task !== null).length,
67
+ unconfirmed: [...p.values()].filter((e) => e.task === null).length,
68
+ retainedBytes: h
69
+ }),
70
+ close: () => {
71
+ if (m === "closed") return Promise.resolve();
72
+ if (g) return g;
73
+ m = "draining";
74
+ let e = Promise.resolve().then(async () => {
75
+ if (await Promise.allSettled([...p.values()].flatMap((e) => e.task === null ? [] : [e.task])), p.size !== 0) throw s();
76
+ m = "closed";
77
+ });
78
+ return g = e, e.then(() => {
79
+ g = null;
80
+ }, () => {
81
+ g = null;
82
+ }), e;
83
+ }
84
+ });
85
+ };
86
+ export { c as makeGeometryAdminClient };
@@ -0,0 +1,31 @@
1
+ import { geometryOwnData as e } from "./geometryTileCodec.js";
2
+ import { captureGeometrySubject as t, geometryPersistenceId as n, geometryPersistenceInteger as r } from "./geometryPersistenceData.js";
3
+ // src/geometryAdminData.ts
4
+ var i = (t) => {
5
+ let r = e(t, ["version", "requestId"]);
6
+ return Object.freeze({
7
+ version: n(r.version, 96),
8
+ requestId: n(r.requestId, 126)
9
+ });
10
+ }, a = (i) => {
11
+ let a = e(i, [
12
+ "cx",
13
+ "cy",
14
+ "cz",
15
+ "target",
16
+ "requestId"
17
+ ], [
18
+ "cx",
19
+ "cy",
20
+ "target",
21
+ "requestId"
22
+ ]);
23
+ return Object.freeze({
24
+ cx: r(a.cx, -2147483648),
25
+ cy: r(a.cy, -2147483648),
26
+ ...Object.hasOwn(a, "cz") ? { cz: r(a.cz, -2147483648) } : {},
27
+ target: a.target === null ? null : t(a.target),
28
+ requestId: n(a.requestId)
29
+ });
30
+ };
31
+ export { i as captureRoomGeometryReloadRequest, a as captureRoomGeometryRollbackRequest };
@@ -0,0 +1,49 @@
1
+ import { ProtocolError as e } from "./errors.js";
2
+ import { RoomGeometryAdministrationPort as t } from "./geometryAdministrationPorts.js";
3
+ import { RoomGeometryControlPort as n } from "./geometryAdminPorts.js";
4
+ import { Effect as r, Layer as i, Result as a } from "effect";
5
+ // src/geometryAdminFixtures.ts
6
+ var o = () => r.fail(new e({ detail: "Geometry administrative carrier fixture is explicitly unconfigured" })), s = i.succeed(n, Object.freeze({
7
+ reload: o,
8
+ rollback: o
9
+ })), c = {
10
+ kind: "port",
11
+ tag: n,
12
+ fakeLayer: s,
13
+ probe: {
14
+ run: () => r.gen(function* () {
15
+ let e = yield* n, t = yield* r.result(e.reload("host", "room", {
16
+ version: "v2",
17
+ requestId: "fixture"
18
+ }, {
19
+ type: "user",
20
+ id: "operator",
21
+ tenantId: "tenant"
22
+ }));
23
+ return a.isFailure(t) ? t.failure._tag : "unexpectedSuccess";
24
+ }).pipe(r.provide(s)),
25
+ expected: "ProtocolError"
26
+ }
27
+ }, l = i.succeed(t, Object.freeze({
28
+ reload: o,
29
+ rollback: o
30
+ })), u = {
31
+ kind: "port",
32
+ tag: t,
33
+ fakeLayer: l,
34
+ probe: {
35
+ run: () => r.gen(function* () {
36
+ let e = yield* t, n = yield* r.result(e.reload("room", {
37
+ version: "v2",
38
+ requestId: "fixture"
39
+ }, {
40
+ type: "user",
41
+ id: "operator",
42
+ tenantId: "tenant"
43
+ }));
44
+ return a.isFailure(n) ? n.failure._tag : "unexpectedSuccess";
45
+ }).pipe(r.provide(l)),
46
+ expected: "ProtocolError"
47
+ }
48
+ };
49
+ export { l as roomGeometryAdministrationFakeLayer, u as roomGeometryAdministrationPortFixture, s as roomGeometryControlFakeLayer, c as roomGeometryControlPortFixture };
@@ -0,0 +1,4 @@
1
+ import { Context as e } from "effect";
2
+ // src/geometryAdminPorts.ts
3
+ var t = class extends e.Service()("@voltro/RoomGeometryControlPort") {};
4
+ export { t as RoomGeometryControlPort };
@@ -0,0 +1,57 @@
1
+ import { BudgetExceeded as e, ProtocolError as t } from "./errors.js";
2
+ import { RoomGeometryChunksSchema as n, RoomGeometryReloadRequestSchema as r, RoomGeometryRollbackRequestSchema as i } from "./geometryAdminSchemas.js";
3
+ import { defineAction as a, defineQuery as o } from "@voltro/protocol";
4
+ import { Schema as s } from "effect";
5
+ // src/geometryAdminRpc.ts
6
+ var c = s.String.pipe(s.check(s.isPattern(/^[A-Za-z0-9][A-Za-z0-9._:-]*$/)), s.check(s.isMaxLength(191))), l = a({
7
+ name: "rooms.geometry.reload",
8
+ input: s.Struct({
9
+ roomId: c,
10
+ request: r
11
+ }),
12
+ output: s.Struct({ ok: s.Literal(!0) }),
13
+ error: s.Union([t, e]),
14
+ guards: [{ scope: "rooms:operate" }]
15
+ }), u = a({
16
+ name: "rooms.geometry.rollback",
17
+ input: s.Struct({
18
+ roomId: c,
19
+ request: i
20
+ }),
21
+ output: s.Struct({ ok: s.Literal(!0) }),
22
+ error: s.Union([t, e]),
23
+ guards: [{ scope: "rooms:operate" }]
24
+ }), d = o({
25
+ name: "rooms.geometry.chunks",
26
+ input: s.Struct({ roomId: c }),
27
+ output: n,
28
+ error: s.Union([t, e]),
29
+ source: "_voltro_geo_chunk_deltas",
30
+ guards: [{ scope: "rooms:operate" }]
31
+ }), f = Object.freeze([
32
+ {
33
+ tag: "rooms.geometry.reload",
34
+ kind: "action",
35
+ import: {
36
+ module: "@voltro/plugin-rooms/rpc",
37
+ name: "geometryReloadDescriptor"
38
+ }
39
+ },
40
+ {
41
+ tag: "rooms.geometry.rollback",
42
+ kind: "action",
43
+ import: {
44
+ module: "@voltro/plugin-rooms/rpc",
45
+ name: "geometryRollbackDescriptor"
46
+ }
47
+ },
48
+ {
49
+ tag: "rooms.geometry.chunks",
50
+ kind: "query",
51
+ import: {
52
+ module: "@voltro/plugin-rooms/rpc",
53
+ name: "geometryChunksDescriptor"
54
+ }
55
+ }
56
+ ]);
57
+ export { f as geometryAdminRpcImports, d as geometryChunksDescriptor, l as geometryReloadDescriptor, u as geometryRollbackDescriptor };
@@ -0,0 +1,48 @@
1
+ import { ProtocolError as e } from "./errors.js";
2
+ import { geometryChunksDescriptor as t, geometryReloadDescriptor as n, geometryRollbackDescriptor as r } from "./geometryAdminRpc.js";
3
+ import { geometryOwnData as i } from "./geometryTileCodec.js";
4
+ import { geometryPersistenceId as a } from "./geometryPersistenceData.js";
5
+ import { captureRoomGeometryReloadRequest as o, captureRoomGeometryRollbackRequest as s } from "./geometryAdminData.js";
6
+ import { Effect as c } from "effect";
7
+ // src/geometryAdminRpcRoutes.ts
8
+ var l = (l) => [
9
+ {
10
+ ...n,
11
+ execute: (t, n) => {
12
+ try {
13
+ let r = i(t, ["roomId", "request"]), s = a(r.roomId), u = o(r.request), d = l.reload(s, u, n.request.subject);
14
+ if (!c.isEffect(d)) throw new e({ detail: "Actual geometry administration Effect required" });
15
+ return d.pipe(c.flatMap((t) => t === void 0 ? c.succeed({ ok: !0 }) : c.fail(new e({ detail: "Geometry reload did not confirm completion" }))));
16
+ } catch {
17
+ return c.fail(new e({ detail: "Geometry reload intention refused" }));
18
+ }
19
+ }
20
+ },
21
+ {
22
+ ...r,
23
+ execute: (t, n) => {
24
+ try {
25
+ let r = i(t, ["roomId", "request"]), o = a(r.roomId), u = s(r.request), d = l.rollback(o, u, n.request.subject);
26
+ if (!c.isEffect(d)) throw new e({ detail: "Actual geometry administration Effect required" });
27
+ return d.pipe(c.flatMap((t) => t === void 0 ? c.succeed({ ok: !0 }) : c.fail(new e({ detail: "Geometry rollback did not confirm completion" }))));
28
+ } catch {
29
+ return c.fail(new e({ detail: "Geometry rollback intention refused" }));
30
+ }
31
+ }
32
+ },
33
+ {
34
+ ...t,
35
+ execute: (t, n) => {
36
+ try {
37
+ let r = a(i(t, ["roomId"]).roomId);
38
+ if (!l.chunks) return c.fail(new e({ detail: "The geometry chunk view is not installed" }));
39
+ let o = l.chunks(r, n.request.subject);
40
+ if (!c.isEffect(o)) throw new e({ detail: "Actual geometry administration Effect required" });
41
+ return o;
42
+ } catch {
43
+ return c.fail(new e({ detail: "Geometry chunk view request refused" }));
44
+ }
45
+ }
46
+ }
47
+ ];
48
+ export { l as geometryAdminRpcRoutes };
@@ -0,0 +1,38 @@
1
+ import { Schema as e } from "effect";
2
+ // src/geometryAdminSchemas.ts
3
+ var t = e.String.pipe(e.check(e.isPattern(/^[A-Za-z0-9][A-Za-z0-9._:-]*$/)), e.check(e.isMaxLength(191))), n = e.Int.pipe(e.check(e.isBetween({
4
+ minimum: -2147483648,
5
+ maximum: 2147483647
6
+ }))), r = e.Int.pipe(e.check(e.isBetween({
7
+ minimum: -2147483648,
8
+ maximum: 2147483647
9
+ }))), i = e.Struct({
10
+ roomId: t,
11
+ worldId: t,
12
+ zoneId: t,
13
+ cellId: t,
14
+ truncated: e.Boolean,
15
+ chunks: e.Array(e.Struct({
16
+ cx: r,
17
+ cy: r,
18
+ cz: e.optional(r),
19
+ layerSetId: t,
20
+ version: t,
21
+ revision: e.Int.pipe(e.check(e.isGreaterThanOrEqualTo(0))),
22
+ changed: e.Boolean,
23
+ updatedAt: e.Int.pipe(e.check(e.isGreaterThanOrEqualTo(0)))
24
+ }))
25
+ }), a = e.Struct({
26
+ version: t.pipe(e.check(e.isMaxLength(96))),
27
+ requestId: t.pipe(e.check(e.isMaxLength(126)))
28
+ }), o = e.Struct({
29
+ cx: n,
30
+ cy: n,
31
+ cz: e.optional(n),
32
+ target: e.NullOr(e.Struct({
33
+ id: t,
34
+ kind: e.Literals(["user", "guest"])
35
+ })),
36
+ requestId: t
37
+ });
38
+ export { i as RoomGeometryChunksSchema, a as RoomGeometryReloadRequestSchema, o as RoomGeometryRollbackRequestSchema };