chunked tables: a key is unique across its map and the slot's own, not interned - a slot keeps row i's key in its own buffer i, rewritten when the slot is refilled (interning ~92k map-unique keys as a player walks would fill the bounded intern table and keep them all); ludicc --check refuses a key written in two of a map's chunk files, naming both; reseeded
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
0634116d59
commit
49e32f9b47
11 changed files with 75842 additions and 74646 deletions
7
changes/chunked-keys.md
Normal file
7
changes/chunked-keys.md
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
bump: patch
|
||||
type: fix
|
||||
**A chunked table's keys are unique across its map, and not interned.** A row's id is `(map, key)`, so a
|
||||
tree moved into another chunk keeps it, and `ludicc --check` refuses a key written in two of a map's
|
||||
chunk files, naming both. The keys are no longer interned: interning every key a player walked past would
|
||||
have filled the bounded intern table and kept them all for good. A chunk slot keeps its keys in its own
|
||||
buffers, rewritten in place when the slot is refilled; `intern(row.key)` keeps one past `_out`.
|
||||
Loading…
Add table
Add a link
Reference in a new issue