RIVET

Documentation / index

Know what runs.
See what comes next.

A guide to the implemented foundation and the architecture still to come. Reference snapshots below match application commit e5a47e3, version 0.1.0.

README

Implemented

RIVET currently provides a native application, real JACK stereo output, JACK MIDI monitoring and an opt-in diagnostic sine. It is not yet a usable DAW.

Read the application README (Markdown) · Explore the product vision

BUILDING

Fedora toolchain and dependency instructions, Debug/Release builds, launch commands, CTest, live JACK checks and isolated PipeWire validation.

Open the Fedora build guide · Read BUILDING (Markdown)

ARCHITECTURE

Current module ownership, GUI/audio communication, real-time rules, shutdown behavior and the boundaries for future graph processing.

Read the architecture guide · Read ARCHITECTURE (Markdown)

DEVELOPMENT

Implemented

Phase 1 is the tested baseline. Phase 2 has not started in this reference. Its proposed sequence is: typed device contracts, cycle-safe graph validation, prepared execution plans, real routing capture tests, then front/rear rack controls.

Read DEVELOPMENT and recorded evidence (Markdown) · Full roadmap

CHANGELOG

The 0.1.0 development baseline is dated 16 September 2026. A local annotated tag exists, but no public repository or binary distribution is configured.

Read release and website notes · Read application CHANGELOG (Markdown)

Project format

Planned

The .rivet format is a proposed contract, not an implemented parser or stable file specification. Planned contents:

  • Versioned schema, project metadata and tempo.
  • Rack devices, parameters, routing and mixer state.
  • Tracks, MIDI clips, notes, automation and patterns.
  • Sample references, including explicit missing-file handling.

Loaders must validate types, ranges, routing and resource limits. Arbitrary executable code must never be deserialized. Autosave, recovery and migration behavior need tests before format stability can be claimed.

Preset format

Planned

Presets will describe device type, format version, bounded parameter values and required sample references. Device instance identity belongs to a project; a preset should describe reusable sound state.

No preset extension, encoding, import/export implementation or compatibility guarantee has been established. Preset design must precede shipping example preset files.

Testing

Implemented

The application records passing Debug and Release CTest runs (2/2 each), a real desktop PipeWire capture and an isolated-server suite with 18 checks. The website reports this existing evidence; it does not claim to have rerun it.

  • Current DSP: silence, sine frequency, continuity, ramps, parameter bounds and finite output.
  • Current MIDI: decoding, malformed messages, queue overflow, wraparound and concurrent ordering.
  • Current integration: stereo links, captured output, MIDI offsets, disconnection, restart and server loss.

Tests for future phases

Oscillators and envelopes; filter response; device parameter bounds; graph routing and cycle handling; MIDI scheduling; tempo conversion; project serialization/deserialization; automation interpolation.

Known gaps

Physical MIDI hardware, hardware listening, native jackd, long-duration load, suspend/resume and sanitizer runs remain unverified. Short functional runs are not performance benchmarks.

Run the application checks · Inspect exact recorded results (Markdown)

Packaging

Planned

There is no distributable RPM or portable application package in the reference repository. Future packaging needs desktop integration, icons, dependency declarations and install/uninstall validation. No portable format has been committed.

The website is separate: its HTML, CSS, JavaScript and SVG files can be uploaded directly to cPanel. It requires no server runtime or build step.

Development availability · Website deployment instructions (Markdown)