From dc78c791df3ab00a4ee8f91478ff82e592b0e8bb Mon Sep 17 00:00:00 2001 From: claude Date: Tue, 14 Jul 2026 07:08:41 +0200 Subject: [PATCH] ci/tasks/readme: register sfx-maker (sfxc) Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01MmdG9GqfSWCzts7AkDwRDh --- .gitea/workflows/release.yml | 4 +++- .vscode/tasks.json | 18 +++++++++++++++++- README.md | 1 + 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index a3671cb..44df8dd 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -20,7 +20,7 @@ jobs: - name: Detektera ändrade tools id: changed run: | - TOOLS="pixel-sprite-maker mesh-tool bitmap-font-maker" + TOOLS="pixel-sprite-maker mesh-tool bitmap-font-maker sfx-maker" BEFORE="${{ github.event.before }}" CHANGED="" if [ "${{ github.event_name }}" = "workflow_dispatch" ] \ @@ -57,6 +57,7 @@ jobs: pixel-sprite-maker) BIN=spritec ;; mesh-tool) BIN=mesht ;; bitmap-font-maker) BIN=fontc ;; + sfx-maker) BIN=sfxc ;; *) echo "okänt tool $t"; exit 1 ;; esac echo "=== $t ($BIN) ===" @@ -84,6 +85,7 @@ jobs: pixel-sprite-maker) BIN=spritec ;; mesh-tool) BIN=mesht ;; bitmap-font-maker) BIN=fontc ;; + sfx-maker) BIN=sfxc ;; esac TAG="$t-latest" BODY="$t (binär: $BIN) - rullande bygge från senaste master. Commit: ${{ github.sha }}. Arkitekturer: linux x64 + arm64 (Pi5)." diff --git a/.vscode/tasks.json b/.vscode/tasks.json index c15ba0e..6536d15 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -33,6 +33,22 @@ "group": "test", "problemMatcher": ["$go"] }, + { + "label": "build sfx-maker", + "type": "shell", + "command": "go build -trimpath -ldflags '-s -w' -o build/sfxc .", + "options": { "cwd": "${workspaceFolder}/sfx-maker" }, + "group": "build", + "problemMatcher": ["$go"] + }, + { + "label": "test sfx-maker", + "type": "shell", + "command": "go test ./...", + "options": { "cwd": "${workspaceFolder}/sfx-maker" }, + "group": "test", + "problemMatcher": ["$go"] + }, { "label": "test pixel-sprite-maker", "type": "shell", @@ -51,7 +67,7 @@ }, { "label": "build", - "dependsOn": ["build pixel-sprite-maker", "build mesh-tool", "build bitmap-font-maker"], + "dependsOn": ["build pixel-sprite-maker", "build mesh-tool", "build bitmap-font-maker", "build sfx-maker"], "dependsOrder": "parallel", "group": { "kind": "build", "isDefault": true }, "problemMatcher": [] diff --git a/README.md b/README.md index b545507..0510819 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ agent understands the result without opening an image viewer. | [`pixel-sprite-maker/`](pixel-sprite-maker/) | `spritec` | Turns `.sprite` text files (palette + character grid) into PNG/JPG/SVG pixel art, up to 256x256 px per sprite. Combines several sprites into sprite sheets / animation strips whose **file names document the layout** (`walk_8x8_4x1.png` = 8x8 px frames, 4 columns, 1 row). | | [`mesh-tool/`](mesh-tool/) | `mesht` | Creates, inspects and edits 3D models (OBJ + STL). ASCII multi-view rendering + measurements (bbox, volume, watertightness) let an agent *see* a model, edit it (scale/rotate/mirror/merge/primitives) and verify the result. | | [`bitmap-font-maker/`](bitmap-font-maker/) | `fontc` | Turns `.font` text files (pixel glyph grids, proportional widths) into font atlases (PNG + JSON metrics) and renders text strings to PNG or the terminal. | +| [`sfx-maker/`](sfx-maker/) | `sfxc` | Synthesizes retro game sound effects (sfxr-style) from `.sfx` text presets to 16-bit WAV: waves, envelope, pitch slides, vibrato, arpeggio, filters. Deterministic, with built-in presets (jump, coin, laser…). | Each tool has its own folder, its own README with the full format/CLI reference, its own tests and its own dev branch (`dev/`).