Skip to content

Migrate one first-playable content slice with zero Python execution #55

Description

@zoeyrose

Outcome

Prove the replacement architecture end to end with a small coherent slice of existing Atrinik gameplay, without changing its design and without executing Python or Starlark.

Scope and invariants

  • Select and record one independently licensable map chain and required archetypes/assets with exact provenance.
  • Include account/character creation, login, map load, movement/collision, scene projection, inventory/equipment, one monster/combat/loot loop, chat, one merchant/dialogue, one quest, Sam's saw/activity, save/logout/reconnect, and error recovery.
  • Compile source through content-toolkit; load it into Go; exchange Game Protocol 1 messages; render/play through Rust/SDL3; edit/preview it through the new editor where M3 scope permits.
  • Use wrapper-owned isolated state, explicit profile/topology, deterministic credentials, logs, and cleanup.
  • Record every omitted classic behavior as later parity work rather than silently widening the slice.

Acceptance criteria

  • The complete scenario builds and runs from clean clones through the thin wrapper with pinned component revisions.
  • The server process loads no .py, CPython, legacy binary/library, or legacy source format.
  • Headless replay and connected-client execution agree on authoritative event/state checkpoints.
  • Automated smoke coverage plus copy-pasteable manual steps exercise success, reconnect, malformed input, and rollback-safe persistence failure.
  • All distributed data/assets carry their actual licenses/notices; MIT applies to replacement code, not the mixed content package.

Dependencies and parallelization

This is the M3 integration gate. It depends on #32-#54 plus minimal client/renderer/protocol/toolkit/editor work, but each subsystem is developed in parallel against shared fixtures.

Independent implementation

Implement from the preserved issue-level/product behavior and independently authored fixtures. Do not copy or mechanically translate GPL server/Python code or tests. Replacement code is MIT; consumed content and assets keep their own licenses.

No activity

Activity on this issue will appear here.

Activity

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

    No labels
    No labels

    Type

    Fields

    Priority

    None yet

    Effort

    None yet

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions