Skip to content

Per-section sync 4/5: bake the piecewise warp into note timestamps (offline, with round-trip) #25

Closed

Description

@cchacs

Effort: L

Part of #8. Depends on sub-issue 2 (data-model decisions) and sub-issue 3 (alignment results).

Apply the per-section results once, offline, consistent with the rhythm-game model: fixed committed timestamps, no live warping at play time.

Scope

  • Bake the per-section (factor, offset) / anchors into note timestamps, per the boundary handling and beat-grid decisions from sub-issue 2.
  • Reconcile the ebeats grid as decided (re-derived or separately authored).
  • Allow applying or skipping individual sections, so a low-confidence section can be left untouched while others are applied.
  • Make the change survive the full save / build / XML round-trip, including any schema addition (and, if a pack-format key is involved, only after it has landed in feedpak-spec).

Acceptance criteria

  • Applying a subset of sections leaves the others' timestamps bit-for-bit unchanged.
  • Round-trip (save, reload, build, reload) preserves the warped timestamps and the chosen beat grid.
  • Undo/restore path exists (the editor already has history concerns; state what it uses), so a bad apply is recoverable.
  • The uniform model's do-no-harm guard from sub-issue 1 still passes.

Out of scope

The alignment engine (sub-issue 3) and the review UI (sub-issue 5).

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