Skip to content

Per-phrase tiers 3/4: difficulty-tier authoring mode (N variants per phrase) #35

Closed

Description

@cchacs

Part of #3 (the full "difficulty tier mode" upgrade). Depends on Per-phrase tiers 1/4; can follow 2/4.

Scope

  • A "difficulty tier" mode where a phrase (created with Shift+P) can hold N variants, from the full chart down to a simplified version.
  • Switch the editing view between a phrase's tiers; edits apply to the selected tier only.
  • Show which tiers a phrase has and make clear which tier is being edited.
  • All edits go through the editor's undoable command stack and register any new shortcuts via window.registerShortcut.

Acceptance criteria

  • An author can create, switch between, edit and delete tiers of a phrase.
  • Edits to one tier do not change another.
  • Saving then reloading preserves the authored tiers (via 1/4).

Out of scope

Automatic derivation (2/4).

Activity

  1. pullfrog commented on Oct 2, 2026

    @pullfrog
  2. pullfrog commented on Oct 2, 2026

    @pullfrog

    Design note carried over from #33 (1/4): a chart edit reaches the top tier only. #47 persists authored per-tier content, but the top tier is still rebuilt from the editor's flat chart, so deleting or editing a note updates the top tier and leaves the same note in every authored lower tier until that tier is itself edited. With no tier-authoring UI in place yet, a lower tier is effectively frozen content.

    That is the right model for authored simplifications — a lower tier is supposed to be its own thing — but it has to be designed around rather than discovered later:

    Source: _authored_phrase_levels in routes.py — the docstring, the [Unreleased] CHANGELOG entry, and the architecture note in README.md now all state the boundary explicitly.

    Pullfrog  | View workflow run | via Pullfrog | Using big-pickle (free) | 𝕏

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

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions