diff --git a/Architecture.md b/Architecture.md index 5135a6b..07fbd7c 100644 --- a/Architecture.md +++ b/Architecture.md @@ -148,8 +148,10 @@ src/core/time.ts the global clock: one scaled step a frame, shared by the src/core/music/ time (ticks, 480 to the quarter, tempo and meter, a position as bar, beat and tick), sequence (the notes of a window of playing time, across the seam of a loop — a pure rule), Scheduler (#332: plans the notes ahead on the audio clock through a host, so it is measured with a clock - of the test's own), pattern (#333: a pattern's notes, grid, meter, tempo and loop, held to - their rules, and the sequence it plays) + of the test's own; a song's sound items as clips, taken up mid-way where the playhead + lands, #334), pattern (#333: a pattern's notes, grid, meter, tempo and loop, held to + their rules, and the sequence it plays), song (#334: tracks and items held to their rules, + the sequence a song plays, the level of a track's bus, an item cut at a tick) src/runtime/ GameRun (one run: start, tick, `Load scene` — shared by Play and a released game, #266), World, Entity, System interface, Input tracker, CollisionSystem (the editor run's detection), solids (what `Move` collides with and how it slides — one-way solids let it through unless @@ -206,8 +208,10 @@ src/viewport/ WorldViewport (the drawing of a world or a holder, the ba SoundLibrary + pitchWorklet (the AudioWorklet that plays a way with a Pitch through core/soundfx/pitchPlayer, a phase vocoder, #317; a note of an instrument is one voice of what reaches its Output, each way with its own file, #331; a voice can start and be released - at a second of the audio clock, #332), music (the scheduler on the library's clock, its - notes played by the project's instruments: the Pattern tab's player, #333, and `__gm.music`) + musicTimer + at a second of the audio clock, #332; a clip of a song from a second into its sound until + its end, a bus per track of a song with its level and pan, #334), music (the scheduler on + the library's clock, its notes played by the project's instruments and its clips by + the library: the player of the Pattern and Song tabs, #333/#334, and `__gm.music`) + musicTimer (the Web Worker whose interval is the scheduler's beat, #332), ShaderLibrary, ParticleLibrary, particles (one ParticleContainer per source), tilemap (one container per layer), shaderPicture (the picture a shader is laid over when it shades a camera's frame, #299, or @@ -342,7 +346,13 @@ src/editor/pattern/ PatternEditor (header: Play, Grid; plays through the sche PianoRoll (keys, ruler, notes and velocity lane in one widget, the gestures and keys) + rollView (its geometry: rows, hits, bands) + rollEdit (what a gesture does to the notes) src/editor/music/ timeView (the time axis: ticks to pixels, zoom, the lines of bars, beats and grid) + TimeRuler - (bars, loop, start and playhead) — for the piano roll and the song tab (#334) + (bars, loop, start and playhead) — for the piano roll and the song tab — + transport (one + piece plays at a time: a song or a pattern, #334) +src/editor/song/ SongEditor (header: Play, Grid; plays through the scheduler, sets the tracks' buses and + follows edits, #334), SongTimeline (heads, ruler and lanes in one widget, dropping assets + in, the gestures and keys) + songView (its geometry: tracks, items and their ends, the + parts of a head) + songEdit (what a gesture does to the items) + songActions (deleting + tracks and items, shared with the inspector and Delete) src/editor/tile/ TileEditor (header + kind), TileCanvas (every tile of the block and a sample map, animated), PictureStrip (the pictures as animation steps; its reorder maths is `dropIndex` in ui/sortable), TilePalette (the tiles as a grid of pictures in the tilemap panel, #139) diff --git a/Development.md b/Development.md index 492e796..14c8d1c 100644 --- a/Development.md +++ b/Development.md @@ -18,7 +18,7 @@ php tests/php/accounts.test.php # the API's accoun # has and the web server's container has not (SKIP there) php tests/php/snapshots.test.php # the snapshot store (#231), the same way php tests/php/releases.test.php # the release store (#266), the same way -node tools/seed-e2e.mjs && node tools/e2e.mjs # 1799 editor checks, screenshots in /tmp/gm-e2e-*.png +node tools/seed-e2e.mjs && node tools/e2e.mjs # 1817 editor checks, screenshots in /tmp/gm-e2e-*.png GM_STEPS=20 node tools/e2e.mjs # or 1-12, or 6,20 — a subset while working on one step ./e2e.sh start [GM_STEPS] # the same run detached, see below ./e2e.sh status # live progress, or the last run's result diff --git a/Home.md b/Home.md index 2f10046..4b4f4db 100644 --- a/Home.md +++ b/Home.md @@ -24,6 +24,7 @@ Live: · Widget playground: