From 7c70f15e4940e04b018d4abe2daf98b0bce971c9 Mon Sep 17 00:00:00 2001 From: Andras Schmelczer Date: Tue, 19 May 2026 21:03:53 +0100 Subject: [PATCH] Clean up --- README.md | 2 +- e2e/app.spec.ts | 4 + index.html | 6 +- src/analytics.ts | 2 +- src/audio/audio-pan-node.ts | 38 -- src/audio/audio-platform.ts | 3 - src/audio/garden-audio-config.ts | 3 - src/audio/garden-audio-energy.ts | 22 +- src/audio/garden-audio-gesture-state.ts | 27 +- src/audio/garden-audio-graph.ts | 160 +++----- src/audio/garden-audio-input.ts | 38 +- src/audio/garden-audio-music.ts | 32 +- src/audio/garden-audio-scheduling.ts | 3 - src/audio/garden-audio-types.ts | 10 +- src/audio/garden-audio.ts | 105 ++--- src/audio/generative-piano-tuning.ts | 36 +- src/audio/generative-piano.ts | 213 ++++++---- src/audio/noise-burst-player.ts | 16 +- src/audio/piano-sampler.ts | 368 +++++++----------- src/audio/piano-samples.ts | 51 +-- src/config.ts | 21 +- src/config/default-settings.ts | 8 +- src/config/runtime-controls.ts | 52 +-- src/config/types.ts | 27 +- src/config/vibe-presets.ts | 48 ++- src/game-loop/agent-population.ts | 95 +++-- src/game-loop/export-4k-renderer.ts | 193 --------- src/game-loop/export-4k.ts | 203 ---------- src/game-loop/frame-performance.ts | 36 +- src/game-loop/game-loop-resources.ts | 5 +- src/game-loop/game-loop-types.ts | 6 +- src/game-loop/game-loop.ts | 81 ++-- src/game-loop/pointer-input.ts | 322 +++++---------- src/game-loop/render-input-cache.ts | 41 -- src/game-loop/simulation-frame.ts | 15 +- src/game-loop/simulation-textures.ts | 14 +- src/index.ts | 11 +- src/page/config-pane.ts | 15 +- src/page/full-screen-handler.ts | 6 +- .../agent-generation/agent-compaction.wgsl | 23 +- .../agent-generation-pipeline.ts | 19 +- .../agents/agent-generation/agent-resize.wgsl | 11 +- src/pipelines/agents/agent-pipeline.ts | 76 ++-- src/pipelines/agents/agent-settings.ts | 3 - src/pipelines/agents/agent.wgsl | 112 ++---- src/pipelines/brush/brush-pipeline.ts | 22 +- src/pipelines/brush/brush-settings.ts | 2 - src/pipelines/brush/brush.wgsl | 68 ++-- src/pipelines/common-state/common-state.ts | 2 + src/pipelines/diffusion/diffuse.wgsl | 47 ++- src/pipelines/diffusion/diffusion-pipeline.ts | 12 +- src/pipelines/eraser/eraser-agent-pipeline.ts | 3 +- src/pipelines/eraser/eraser-agent.wgsl | 6 +- .../eraser/eraser-texture-pipeline.ts | 15 +- src/pipelines/eraser/eraser-texture.wgsl | 54 ++- src/pipelines/render/render-pipeline.ts | 50 +-- src/pipelines/render/render.wgsl | 35 +- src/settings.ts | 2 + src/style/_app-shell.scss | 3 +- src/style/_loading.scss | 1 - src/style/_toolbar.scss | 62 ++- src/style/vars.scss | 2 +- src/utils/graphics/resizable-texture.ts | 37 +- src/utils/graphics/smart-compile.ts | 21 +- src/utils/hex-to-rgb.ts | 12 - 65 files changed, 1127 insertions(+), 1911 deletions(-) delete mode 100644 src/audio/audio-pan-node.ts delete mode 100644 src/audio/audio-platform.ts delete mode 100644 src/audio/garden-audio-scheduling.ts delete mode 100644 src/game-loop/export-4k-renderer.ts delete mode 100644 src/game-loop/export-4k.ts delete mode 100644 src/game-loop/render-input-cache.ts delete mode 100644 src/utils/hex-to-rgb.ts diff --git a/README.md b/README.md index 1a7466c..77909bc 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Fleeting Garden is a single-player WebGPU drawing garden. Pick a vibe palette, draw persistent coloured paths, spawn agents from those strokes, erase locally, -and export the scene as a 4K wallpaper. +and export the scene as an internal render buffer snapshot. Check out the [agent logic](./src/pipelines/agents/agent.wgsl). diff --git a/e2e/app.spec.ts b/e2e/app.spec.ts index ef4cfc3..f74b88d 100644 --- a/e2e/app.spec.ts +++ b/e2e/app.spec.ts @@ -68,6 +68,10 @@ test('starts the WebGPU garden and accepts drawing input', async ({ page }) => { }, canvasName); await page.goto('/'); + const startButton = page.getByRole('button', { name: 'Start' }); + await expect(startButton).toBeVisible(); + await expect(startButton).toBeEnabled({ timeout: 30_000 }); + await startButton.click(); await expect(page.locator('body')).not.toHaveClass(/is-loading/, { timeout: 30_000, }); diff --git a/index.html b/index.html index 16f5c13..9c3e01a 100644 --- a/index.html +++ b/index.html @@ -95,7 +95,7 @@

Switch vibes to recolour the whole garden without clearing your drawing. Add or mute the generated piano, restart for a blank canvas, or export the current - frame as a 4K image. + frame as an internal buffer snapshot.

Built with WebGPU and running locally in your browser. Source on @@ -185,8 +185,8 @@