Shapemaker's submodules#
In approximate order of dependency:
geometry: Types and operations that don't have an inherent graphical representation but are used to define more complex objects:Point,Region, etcgraphics: Types and operations for objects that can get rendered: all theObjectvariants (lines, circles, etc), theCanvas,Layers, etcrandom: Methods namedrandom_...on various types, to help with semi-random procedural artworksrendering: Traits that pertain to rendering graphical elements to an SVG tree and their various implementations on most structs fromgraphicssynchronization: Data structures and methods to synchronize various musical sources (audio files, MIDI files, etc) with the videovideo: Data structure, user API (mainly adding hooks), rendering and encoding ofCanvas"frames" into a H.264 MP4 video filevst: A VST to interact with shapemaker within a DAW directly [wip]wasm: WASM-specific code to provide a JS API to shapemaker, to, for example, make it interact with the WebMIDI API
See the individual READMEs in each submodule for more information.
graph TD
geometry --> random
graphics --> random
geometry --> graphics
graphics --> rendering
rendering --> video
synchronization --> video
rendering --> wasm
synchronization --> vst