Skip to main content

sim/
serial_music.rs

1//! Curated serial-music facade over the frozen `0.1.0` candidate crates.
2//!
3//! The SDK keeps this surface deliberately thin. The owner crates retain the
4//! implementation, cookbook content, and domain-specific policy details.
5
6/// Pitch-independent series calculus plus strict twelve-tone row analysis.
7pub mod theory {
8    pub use sim_lib_pitch_serial::{
9        ROW_MATRIX_SIZE, RowFamily, RowFamilySet, RowLabelConvention, RowMatrix, RowOperation,
10        ToneRow,
11    };
12    pub use sim_lib_serial_core::{
13        AggregateRule, AggregateRuleKind, AlphabetId, FiniteAlphabet, SerialAlphabet, Series,
14        SeriesTransform,
15    };
16}
17
18/// Immutable serial plans, deployers, and strict realization inputs.
19pub mod practice {
20    pub use sim_lib_music_serial::{
21        BuiltInPracticeRule, DeclaredWaivers, EventPlacement, OrdinalRef, PlannedSerialEvent,
22        PracticeId, PracticeRuleId, RowInstanceId, SerialEventId, SerialOrigin, SerialPlan,
23        SerialPractice, SerialRole, StrictEventSpec, StrictRealizationContext, StructuralLicense,
24        StructuralReadingId, build_canon, realize_strict,
25    };
26}
27
28/// Open adaptation and registry-backed realization selection.
29pub mod adaptation {
30    pub use sim_lib_music_serial::{
31        MarkedChromaticInflectionRealizer, ModalDegreeCycleRealizer, NearestScaleToneRealizer,
32        SerialRealizerRegistry, default_realizer_registry,
33    };
34}
35
36/// Reversible additive completion over immutable serial plans.
37pub mod completion {
38    pub use sim_lib_music_serial::{
39        AcceptedSerialAddition, AdditionKind, ChordAddition, CompletionCandidate,
40        CompletionRequest, DoublingAddition, NoteAddition, OrnamentAddition, PedalAddition,
41        PitchRangeConstraint, SerialCompletionAllowances, SerialCompletionError,
42        SerialCompletionRequest, SerialCompletionResult, VoiceAddition, complete_serial,
43    };
44}
45
46/// Focused rendering and export helpers for end-to-end serial workflows.
47pub mod runtime {
48    pub use sim_lib_music_serial::{
49        SerialRenderOptions, lower_serial_score, render_serial_audition_score, write_serial_smf,
50    };
51}