Skip to content

Complete editor behavior parity across the supported content pack #16

Description

@zoeyrose

Outcome

Burn down the M1 capability inventory in editor#15 until the released MIT editor/toolkit/renderer workflow provides equivalent supported authoring functionality across the complete baseline Atrinik content pack.

This is the editor-owned M5 parity gate. Packaging, operational hardening, documentation cutover, and Gridarta/archive retirement remain M6 work in editor#13 and atrinik#259.

Scope and invariants

  • Review every required inventory row against its final editor, content-toolkit, renderer, or wrapper owner and shipped versioned contract.
  • Add focused implementation issues for uncovered behavior rather than implementing unrelated domains in this epic.
  • Exercise project discovery, document lifecycle, lossless transactions, map and non-map authoring, catalog/search, inspectors, validation/diagnostics, shared-renderer preview/picking, automation, recovery, packaging inputs, and isolated playtest.
  • Run no-op round trips over the entire supported corpus and representative targeted edits for every syntax/content/workflow class.
  • Verify that unknown fields, comments, multiline text, nesting, object order, stable identities, links, attribution, and untouched bytes survive as required.
  • Test clean and incremental indexing/builds, external edits, stale preconditions, malformed/adversarial files, cancellation, disk/permission/device failure, crash recovery, and concurrent read/build behavior.
  • Use released content-toolkit and renderer APIs. Do not add a private parser, writer, validator, renderer, pixel-selection path, server manager, or client dependency to close a gap.
  • Record approved modernized UX differences separately from authored-data, safety, and workflow differences. No supported content/gameplay design choice may disappear silently.

Whole-pack verification

  • Pin exact content@main, toolkit, renderer, resources, and schema/package coordinates.
  • Prove every supported source file is discoverable, inspectable, validatable, compilable, and represented by an owning schema/workflow; zero paths may be silently skipped.
  • Open and no-op-save a representative file from every grammar/content class, plus randomized/adversarial samples and the largest projects.
  • Perform add/remove/move/copy/set/unset/header/link operations, multi-file transactions, undo/redo, dry-run/diff, save/reopen, recovery, preview, and isolated playtest with deterministic assertions.
  • Validate ordinary, multipart, tiled, linked-depth, lighting/fog/cutaway, animation, inventory/nesting, quest/interface/dialogue, NPC/service, treasure/artifact/faction, and attribution workflows.
  • Publish a machine-readable matrix result consumable by atrinik#279 and the final atrinik#280 aggregate gate.

Acceptance criteria

  • editor#15 contains zero unowned, unimplemented, unverified, or ambiguous required rows.
  • Every exclusion or approved difference has an explicit product decision and cannot change authored semantics, attribution, losslessness, or safe-write guarantees accidentally.
  • Whole-corpus no-op processing is byte-identical where required; targeted edits create bounded semantic/text diffs and never churn unrelated content.
  • Human UI and versioned automation/CLI paths exercise the same toolkit transactions and renderer scene semantics.
  • Linux and Windows runs cover representative input/display/backend combinations, accessibility, recovery, and deterministic headless/offscreen evidence where applicable.
  • The supported edit/validate/preview/playtest workflow requires no Java, Gridarta, old Python tools, classic binaries, the atrinik/classic source checkout, or writes into mutable runtime/generated source paths.
  • The parity report contains exact release coordinates, fixtures, provenance/licenses, reproduction commands, evidence, and owning issues for any remaining non-cutover work.
  • atrinik#280 can consume the report without a second editor-specific comparison schema.

Dependencies and parallelization

Depends on the completed inventory in editor#15, M2 toolkit/renderer contracts, the M4 map editor/automation workflow (editor#3#6, #10#12), and required M5 non-map panels in editor#7.

Map, structured-content, validation/automation, preview/rendering, playtest, platform/accessibility, and failure/recovery rows can be implemented and verified in parallel. Whole-corpus no-op checks should run continuously; final closure waits for every required domain report, not M6 classic archival.

Licensing

Editor code/tests are MIT. Verified original work from an approved MIT provenance grantor may be copied, migrated, or translated only after the complete-history audit and third-party review required by the merged grant policy. Authored content/assets and fixtures retain their exact per-file licenses and attribution.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Fields

    Priority

    None yet

    Start date

    None yet

    Target date

    None yet

    Effort

    None yet

    Projects

    Status
    Backlog

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions