API reference / @jsprismarine/prismarine / SharedTerrainTileStore
Class: SharedTerrainTileStore
Defined in: prismarine/src/world/generators/datadriven/SharedTerrainTileStore.ts:58
Shares a fixed number of immutable terrain tiles across workers, then falls back to local work.
Create one instance in the parent and pass it to DataDrivenGenerator. Worker pipelines build their own view from SharedTerrainTileStore.buffer. The allocation never grows, and a full store does not evict live entries: callers build uncached tiles instead.
Constructors
Constructor
new SharedTerrainTileStore(
optionsOrBuffer):SharedTerrainTileStore
Defined in: prismarine/src/world/generators/datadriven/SharedTerrainTileStore.ts:74
Creates a bounded store or attaches to the buffer supplied by its parent thread.
Parameters
optionsOrBuffer
SharedArrayBuffer | SharedTerrainTileStoreOptions
Allocation limits in the parent, or the existing shared buffer in a worker.
Returns
SharedTerrainTileStore
Throws
RangeError when the limits cannot hold one slot or the supplied buffer is invalid.
Accessors
buffer
Get Signature
get buffer():
SharedArrayBuffer
Defined in: prismarine/src/world/generators/datadriven/SharedTerrainTileStore.ts:126
The fixed shared-memory allocation that workers attach to.
Returns
SharedArrayBuffer
byteLength
Get Signature
get byteLength():
number
Defined in: prismarine/src/world/generators/datadriven/SharedTerrainTileStore.ts:136
Total allocation size, including metadata.
Returns
number
capacity
Get Signature
get capacity():
number
Defined in: prismarine/src/world/generators/datadriven/SharedTerrainTileStore.ts:131
Number of terrain tiles the allocation can hold.
Returns
number
maxTileBytes
Get Signature
get maxTileBytes():
number
Defined in: prismarine/src/world/generators/datadriven/SharedTerrainTileStore.ts:141
Maximum serialized size of one terrain tile.
Returns
number
Methods
getOrCreate()
getOrCreate(
key,ownerThreadId,build):Promise<GenerationRegionPayload>
Defined in: prismarine/src/world/generators/datadriven/SharedTerrainTileStore.ts:146
Reads or builds a tile, publishing completed payload bytes atomically.
Parameters
key
string
ownerThreadId
number
build
() => Promise<GenerationRegionPayload>
Returns
Promise<GenerationRegionPayload>
getStats()
getStats():
SharedTerrainTileStoreStats
Defined in: prismarine/src/world/generators/datadriven/SharedTerrainTileStore.ts:199
Reads counters and the allocation's fixed capacity.
Returns
invalidate()
invalidate(
key):boolean
Defined in: prismarine/src/world/generators/datadriven/SharedTerrainTileStore.ts:186
Removes a malformed published value so the next caller can rebuild it.
Parameters
key
string
Returns
boolean
recoverOwner()
recoverOwner(
ownerThreadId):number
Defined in: prismarine/src/world/generators/datadriven/SharedTerrainTileStore.ts:167
Clears claims held by a worker after its exit event; published tiles remain available.
Parameters
ownerThreadId
number
Returns
number