2025-05-30

ordering

determines the sequence in which segments are played - linear, deterministic "random," palindromic, or looped - defining macro-temporal navigation over a pre-segmented timeline.

introduction

the ordering domain sits in the structure layer, immediately after segmentation and before hierarchy or interpolation.
given a fixed list of segments (from segmentation), it outputs a precomputed sequence of segment indices.
no runtime decision-making or external randomness: every order is fully determined by two normalized parameters a and b.

overview

each form yields an infinite or bounded sequence of segment references:

0. linear

  • behavior: walks through segments in numeric order, optionally reversed
  • analogy: reading pages front-to-back or back-to-front
  • parameters:

    • a: start-index offset (0 → first segment, 1 → last segment)
    • b: direction flag (0 → forward, 1 → backward)

1. random_shuffle

  • behavior: deterministically permutes the segment list using a seed derived from a; interpolation by b blends between identity and full shuffle
  • analogy: shuffling a deck with a tunable "riffle strength"
  • parameters:

    • a: shuffle seed (0 → seed 0, 1 → max seed)
    • b: shuffle intensity (0 → no change, 1 → full random permutation)

2. palindrome

  • behavior: plays segments forward then in reverse, back-and-forth without re-repeating endpoints (unless toggled)
  • analogy: a ping-pong ball bouncing between walls
  • parameters:

    • a: endpoint repetition (0 → do not repeat first/last, 1 → repeat)
    • b: phase offset within the palindromic cycle (0 → cycle start, 1 → just before repeating)

3. windowed_loop

  • behavior: isolates a contiguous sub-range of segments and repeats that window indefinitely
  • analogy: looping a favorite four-bar phrase on a sampler
  • parameters:

    • a: window start position (fractional 0 → first segment, 1 → last)
    • b: window size (fraction of total segments, mapping 0→1 to 1 segment→all segments)

parameter behavior summary

  • linear

    • a: selects which segment to begin playback
    • b: chooses play direction
  • random_shuffle

    • a: picks a deterministic seed for permutation
    • b: controls blend from original order (0) to fully shuffled (1)
  • palindrome

    • a: toggles whether cycle endpoints repeat
    • b: shifts starting point within the forward-reverse cycle
  • windowed_loop

    • a: sets the fractional start of the loop window
    • b: determines window length as a fraction of total segment count

why these were chosen

  • core navigational modes: linear, shuffled, mirrored, and loop-focused orders cover the main styles of macro-temporal arrangement
  • orthogonality: each form provides a distinct ordering mechanism irreducible to the others without extra parameters or data
  • two-parameter purity: both a and b drive meaningful, musically relevant variations in sequence structure
  • deterministic repeatability: all permutations and cycles are fully determined by a, b, and the known segment list

what is not included

  • real-time randomness or live reseeding: all "random" behavior is baked in at design time
  • nested or hierarchical reordering: segment nesting belongs to hierarchy
  • time-based transitions or crossfades between orders: out of scope for macro navigation
  • content-aware ordering (e.g. based on segment loudness): purely structural, not data-driven

conclusion

the ordering domain codifies four essential, deterministic strategies for sequencing pre-segmented material - linear, shuffled, palindromic, and looped - each navigable with just two parameters, preserving the system's ethos of parametric purity and full precomputation.