You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Package Deltas: support spatial creature and game-object families #312
Category: enhancement Summary: Add Package claims for spatial dump families with World Import Scope routing.
Current behavior:
Package Deltas do not support creature templates and spawns, game objects, or creature AI. These rows have different Shard membership from global catalogues.
Desired behavior:
Define supported tables and operations for the creatures, gameobjects, and creature-ai Import Families. Route template and spatial rows through the same World Import Scope rules as their base import. Enforce table-specific identifiers, packed or surrogate keys, map ownership, and references before applying any target.
Acceptance criteria:
Every supported spatial table maps to one base Import Family.
Template and spawn claims reach only the Shards that own them.
Forced creature dependencies and whole-map ownership follow the base import rules.
Cross-Shard preflight catches invalid map ownership and references before writes.
Base-family replay removes a disabled Package's spatial claims and retains the others.
Scope note, maintainer-approved 2026-08-27: EventAI (creature-ai) claims split out of this issue into a follow-up (see the newly filed EventAI issue). This issue now covers creature/game-object templates, spawns and pools, plus the spatial Shard-routing mechanism (claims reach only Shards whose World Import Scope owns the claimed map). Settled batch conventions that apply here: the delta crate's Table enum grows as a closed list; Package id bands per family are picked by formula with compile-time non-overlap asserts; Base Snapshots are one file per family.
Filed #403. It stacks on #401, which adds Table variants and ClaimFamily arms in the same matches; merge that one first.
Family
Table
Policy
Routing
creatures
game_creature_template
insert (15,000,000-15,999,999) + partial update
global
creatures
game_creature_spawn
insert (15,000,000-15,999,999 on spawn_id) + partial update
by map
creatures
game_creature_waypoint
unsupported in v1: no map to route by
—
gameobjects
game_gameobject_template
insert (16,000,000-16,999,999) + partial update
global
gameobjects
game_gameobject_trap
insert (same range as its template) + partial update
global
gameobjects
game_gameobject
insert (16,000,000-16,999,999 on spawn_id) + partial update
by map
gameobjects
game_gameobject_pool
unsupported in v1: no base import writes it
—
gameobjects
game_gameobject_pool_member
unsupported in v1: no base import writes it
—
A spatial claim names its map in the primary key. It reaches only the Shards whose World Import Scope owns that map, filtered with the scope the importer already builds for the base import. A claim for another Shard's map is dropped from that Shard's plan and reported, never refused.
EventAI is out by the 2026-08-27 scope note; #354 takes it.
Merged 2026-09-03 through PR 405's merge (PR 403 stacked under it): creature and gameobject templates as global catalogues, spawns routed by World Import Scope map ownership, cross-Shard preflight, fixture guard, live-DB coverage. Waypoints and pool tables are unsupported in v1 for the reasons in the policy table.
Activity
Mathih13 commentedon Aug 27, 2026
Scope note, maintainer-approved 2026-08-27: EventAI (creature-ai) claims split out of this issue into a follow-up (see the newly filed EventAI issue). This issue now covers creature/game-object templates, spawns and pools, plus the spatial Shard-routing mechanism (claims reach only Shards whose World Import Scope owns the claimed map). Settled batch conventions that apply here: the delta crate's Table enum grows as a closed list; Package id bands per family are picked by formula with compile-time non-overlap asserts; Base Snapshots are one file per family.
Mathih13 commentedon Sep 3, 2026
Filed #403. It stacks on #401, which adds
Tablevariants andClaimFamilyarms in the same matches; merge that one first.game_creature_templategame_creature_spawnspawn_id) + partial updategame_creature_waypointgame_gameobject_templategame_gameobject_trapgame_gameobjectspawn_id) + partial updategame_gameobject_poolgame_gameobject_pool_memberA spatial claim names its map in the primary key. It reaches only the Shards whose World Import Scope owns that map, filtered with the scope the importer already builds for the base import. A claim for another Shard's map is dropped from that Shard's plan and reported, never refused.
EventAI is out by the 2026-08-27 scope note; #354 takes it.
feat(package-delta): add the spatial creatures and gameobjects Import…
Mathih13 commentedon Sep 3, 2026
Merged 2026-09-03 through PR 405's merge (PR 403 stacked under it): creature and gameobject templates as global catalogues, spawns routed by World Import Scope map ownership, cross-Shard preflight, fixture guard, live-DB coverage. Waypoints and pool tables are unsupported in v1 for the reasons in the policy table.