Skip to content

Datascripts: author spell and effect Package Deltas #315

Closed

Description

@Mathih13

This was generated by AI during triage.

Agent Brief

Category: enhancement
Summary: Add the first typed Datascript API for cloning and changing spells.

Current behavior:
The Package Delta spell tracer accepts artifacts, but authors have no typed API that produces them from base game data.

Desired behavior:
Expose a thin typed authoring API with data.spell(id), cloning to a new identifier, scalar field assignment, and nested SpellEffect access. A read-only base-data snapshot supplies source rows. Datascripts cannot read another Package's generated output. Assignments record exact field claims and emit the canonical Package Delta. Cloning a spell creates and claims its child effects with the packed identifier rule.

Key interfaces:

  • Typed spell and SpellEffect authoring objects
  • Read-only base-data snapshot
  • Package Delta emitter
  • lyracore packages build

Acceptance criteria:

  • The Fire Nova example clones spell 133, changes fields, loops over five ranks, and emits valid Package Deltas.
  • Editor and typecheck use generated schema field names and types.
  • Unassigned fields do not become claims on cloned existing rows.
  • New spell and child-effect inserts contain every required field.
  • Child-effect identifiers follow the packed-key rule.
  • Fixture-reserved and non-client-safe identifiers fail during the build.
  • A Datascript cannot observe another Package's generated Delta.

Out of scope:

  • Other game-data tables
  • Applying Package Deltas to a Shard
  • Runtime Script authoring

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2normalenhancementNew 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