Skip to content

Package Deltas: support spatial creature and game-object families #312

Closed

Description

@Mathih13

This was generated by AI during triage.

Agent Brief

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.

Out of scope:

  • Terrain, navigation, vmap, or model files
  • New routing concepts outside World Import Scope

Activity

  1. added
    enhancementNew feature or request
    P3someday / nice-to-have
    ready-for-agentComplete enough to build from the issue alone, by a person or their agent
    on Aug 24, 2026
  2. Mathih13 commented on Aug 27, 2026

    @Mathih13
    ContributorAuthor

    This was generated by AI during triage.

    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.

  3. Mathih13 commented on Sep 3, 2026

    @Mathih13
    ContributorAuthor

    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.

  4. Mathih13 commented on Sep 3, 2026

    @Mathih13
    ContributorAuthor

    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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3someday / nice-to-haveenhancementNew feature or requestready-for-agentComplete enough to build from the issue alone, by a person or their agent

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions