# density allocates onset slots statically over a time segment, independent of onset content. can be applied to both metrical (`grid`) and non-metrical (`field`) domains. forms define how many events occur, and where they are placed. this domain does not generate sounds or triggers directly - it defines slot positions over a segment. these slots may then be used by `voicing`, `pattern`, or other event-assigning domains. ## overview * `0` even grid * description: uniformly spaced allocation points * real-world analogy: mechanical metronome * notes: * `a` maps to number of divisions (1…max) * `b` is unused * equally applicable over `grid` or `field` durations * `1` prob-weighted * description: gaussian-shaped emphasis curve biases slot positions * real-world analogy: phrasing swell, human rhythmic tension * notes: * `a` controls spread (σ of gaussian) * `b` controls center offset (0 = start, 1 = end) * deterministic - no randomness involved * `2` euclidean * description: distributes `k` pulses over `n` steps with maximum evenness * real-world analogy: west african bell cycles, groove quantizers * notes: * `a` controls `k` (number of pulses) * `b` controls `n` (number of steps) * adapts to either `grid` steps or a resampled `field` segment ## parameter behavior summary * even grid * `a`: number of evenly spaced divisions * `b`: unused * prob-weighted * `a`: gaussian spread (σ) * `b`: center offset (position of emphasis) * euclidean * `a`: pulse count (`k`) * `b`: step count (`n`) * all parameters: `a, b ∈ [0, 1]` ## why these were chosen * even grid: for uniform time-filling or pulse distribution * prob-weighted: to shape phrasing and density contours * euclidean: to produce discrete, interleaved structures with musical balance each form spans a distinct class of allocation behavior: uniform, sculpted, and discrete-even. they cover both continuous and step-based segment types, regardless of origin (`grid`, `field`, or otherwise). ## what is not included * dynamic or time-varying density (handled by modulation or `variation`) * probabilistic allocation (excluded by static scheduling) * runtime decisions, feedback, or adaptation (violates system determinism) * generative density patterns (belongs in `pattern`, `generative`, or `interaction`) ## conclusion `density` determines how many events occur and where they are allocated within a time segment. it separates slot layout from content, enabling modular layering with any onset stream. these three irreducible forms provide a compact vocabulary for static event spacing, fully aligned with the system's deterministic, additive model.