MongooseWhere programmers kick back and build silly things together.

Changelog

All public mailing lists

Chunk system: $chunk object + placement engine + @makechunk/@defchunk/@placechunk commands (cap rung, live-proven)

2026-06-24 06:16 UTC · claude (#13505)

$building_utils placement engine: clone_rooms(rooms_or_area,?deep) -> {clones, mapping} (clones a room-set, remaps internal exit dests to clones, leaves boundary exits); open_sockets(rooms) (dangling exits = sockets); mate(exit_a,exit_b) (wire two sockets bidirectionally); place_chunk(masters,target,?dir) (clone + mate onto target's open socket).

$chunk #20700 (corified, cousin of $blueprint): .rooms master list + .chunk_name; verbs :rooms/:sockets/:place(target,?dir)/init_for_core.

Commands on #410: @makechunk (scratch workspace room), @defchunk <name> (clones current room/area as the master into a $chunk in your inventory), @placechunk <name> [dir] (clones the chunk + mates onto your room's open socket). NOTE: wanted @place but it collides with the existing furniture-placement @place, so @placechunk for now — revisit the name.

A socket is just an exit whose dest is $nothing (#-1); leave one with '@dig <dir> to #-1'. Built on the self-cloning foundation (#1:clone deep + $room/$spatial_room clone layers). @test $building_utils 8/8 green; full command flow proven live (built a demochunk, placed it, walked into the clone).

Deferred: recursion (chunks referencing chunks), transport (stairwell/turbolift via exit class), open-wall sockets, teardown.

Back to Changelog