Commit graph

340 commits

Author SHA1 Message Date
Aqua
46da9975df Playground README: state plainly that it is unheard and unrun in a browser
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-05 11:46:43 +00:00
Aqua
6080f9b8f1 Playground: rename ui.mjs to ui.js so static hosts serve a JavaScript MIME type
The minds host sends .mjs as application/octet-stream, which browsers refuse for module imports.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-04 13:39:11 +00:00
Aqua
39843ae95c Add static in-browser playground for AquaSynth patches
tools/AquaLower lowers .aqua to Faust (FaustEmitter.EmitScript); tools/aqua-playground compiles
the lowered Faust to wasm with @grame/faustwasm in the page and plays it through an AudioWorklet,
with sliders from the DSP's UI and the Faust source shown. Thruster plus 41 .aqua patches.
Headless node test compiles and renders every patch (non-silent, finite).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-04 13:38:49 +00:00
Aqua
c6561da8d4 thruster: v5 gain term 0.9-0.5*load plus 0.425 output trim
Peak under 0.4 at rpm 600, rpm 4800 and the 600-4800 sweep.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 20:54:51 +00:00
Aqua
882b7203f5 thruster: lower hull-mode Q and soft-limit the rattle so high rpm is louder than low rpm
Hull modes Q 40/35/30/25 -> 20/18/16/14; tanh on the rattle alone; drive floor 0.1 -> 0.35.
Linux render, 48 kHz, 512-frame blocks: rpm 4800 steady RMS 0.1252 > rpm 600 0.0850; peaks 0.216/0.354/0.325.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 20:48:55 +00:00
Aqua
e567b44c24 thruster: drive falls with load so tanh no longer pins the peak at high rpm
Drive 2.2 -> max(0.1, 0.9 - load); rasp load weight 0.6 -> 1.5.
rpm=4800 peak 0.500 -> 0.358.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 20:45:51 +00:00
Aqua
36ff76f03a Add thruster Faust patch with an rpm control
Sustained heavy thruster: low rotor rumble, blade-chopped noise rasp,
high-Q hull rattle modes, tanh clip. Compiled as Faust source through
CompileSource; not a .aqua script and not indexed in library.yaml.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 20:42:06 +00:00
3b43b7bd72 Merge pull request 'Faust loader: platform-aware library lookup and AQUASYNTH_FAUST_LIBRARY override' (#1) from faust-loader-platform-aware into main 2026-10-31 09:40:59 +00:00
Aqua
53f1f1b03e Faust loader: platform-aware library lookup and explicit path override
Find libfaust.so on Linux, libfaust.dylib on macOS, libfaust.dll/faust.dll on
Windows; join PATH with Path.PathSeparator; accept FaustLibraryPath or
AQUASYNTH_FAUST_LIBRARY as an explicit library file. Platform default homes
replace the unconditional C:\Program Files\Faust.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 09:14:08 +00:00
Aqua
b77c9e5b66 Fix file:line cites for AquaDaemonClient and DingAudioPlayer
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 06:14:04 +00:00
Aqua
27a9043dff Research: Dings playback path and Ogg export sketch
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-31 06:13:47 +00:00
Meta Vens
8a65f5876a AquaSynth advertisement: drop Eve surface entries; Eve is deprecated, Thing 2 is the successor
Per thing2:ruling:eve-dashboards-quarantined. Removes cultMeshSurfaceKeys, the eve witness family and the eve surface schema from the exporter and fixture; the contract names the quarantine.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 20:19:44 +02:00
Meta Vens
c1399425eb Pin CultLib 2.0.0 for builds
Directory.Build.props names CultLibRoot (CULTLIB_ROOT, else the sibling checkout) and pins CultLibRevision to cultlib-unity-v2.0.0 (42dce361). Directory.Build.targets fails the build unless that checkout is at the pin and clean, as Aetheria's guard does. Project references use CultLibRoot.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 19:46:37 +02:00
Meta Vens
aed65255cc Follow CultLib Cut 3: opening hydrates, PullOnOpen is gone
CultLib's CultCacheMessagePack.Create and OpenAsync now always read the store,
and CultCacheOpenOptions.PullOnOpen no longer exists.

- CultCachePatchDocumentStore.WriteDefaultAsync and
  AquaSynthDaemonService.WriteReceiptAsync write single-document files. They
  open (which hydrates), remove every record other than the one they write,
  upsert, and flush; the flush replaces the file atomically. Before this,
  Create never pulled, so their PullOnOpen = false was already a no-op.
- IpaTrialResults and SpeechDistributedTraining passed File.Exists-style
  PullOnOpen values; hydrating a missing store is empty, so the option goes.
- AquaSynthDaemonServiceTests drops PullOnOpen = true.

Globals: nothing in CultLib invents a [CultGlobal] record any more. AquaSynth
never relied on that: its three global types are positional records with no
parameterless constructor, which the old invention skipped, and every one is
written explicitly and read back by explicit key or GetAll.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 17:59:48 +02:00
Meta Vens
6c21e22292 REC-098: delete unread DingsProtocol.MutexName constant
DingsProtocol.MutexName ("Local\GameCult.AquaSynthDings.Playback.v1")
had no in-repo reader. The runtime mutex the Dings host actually takes
is a separately hardcoded literal at tools/AquaSynthDingsHost/Program.cs:3
(same string value, duplicated rather than referencing the constant),
so the constant's own symbol and value were both confirmed dead before
deletion, not just the symbol.

Kill-attempt searches (all empty except the known duplicate):
- rg -n "MutexName" . (in AquaSynth)              -> only the declaration
- rg -n "GameCult.AquaSynthDings.Playback.v1" .   -> declaration + the
  hardcoded Program.cs duplicate + PipeName (a distinct, still-read
  constant using the same base string without the "Local\" prefix)
- rg in AquaSynth-rs, weksa                        -> no matches (exit 1)
- rg -n "GameCult\.AquaSynthDings\.Playback\.v1" --hidden across all of
  F:/Projects (exit 0)                             -> only the census
  doc's citation and the two AquaSynth source hits above; zero external
  consumers repo-wide

PipeName (the sibling constant, read by both DingsHostClient.cs and
DingsPlaybackHost.cs for the named pipe) is untouched.

Did NOT touch AquaSynth part of REC-019 (BirdSyrinxGolf): tools/BirdSyrinxGolf
is a real standalone research CLI (own .csproj, AquaSynth.sln entry),
documented as a live, human-run tool in state/map.yaml, state/evidence.jsonl,
and research/bird-syrinx-golf/README.md, and its runs drove two shipped
AquaSynth.Core patch-language features (tissue-valve acoustic source,
realtime control curves per evidence.jsonl 2026-05-28 entries). The census
recommendation's evidence class (no code-level caller) is the wrong test for
a tool whose only intended caller is a human running it directly; deleting
it would destroy a documented capability, not dead code. No sibling repo
(checked via `grep -rl AquaSynth --include=*.csproj` across all of
F:/Projects) references BirdSyrinxGolf either way, so this is not a
close call resolved by silence -- the in-repo evidence itself disqualifies
the recommendation.

Verification: dotnet build src/AquaSynth.Dings/AquaSynth.Dings.csproj
succeeds (0 errors). AquaSynth.Core has a pre-existing, unrelated
MessagePack-source-generator build failure (523 CS0246 errors) that
reproduces identically with this change stashed out, confirming it is
baseline and not caused by this edit; the wider tools/AquaSynthDingsHost
and tools/AquaSynthDingsMcp builds could not be exercised because they
transitively depend on AquaSynth.Core.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-13 14:03:44 +02:00
Meta Vens
e625283342 Stop each render from appending a dead tools path to the user PATH
Every Faust render, and every trial-loop lane, runs dotnet with a fresh
DOTNET_CLI_HOME under the temp directory. The SDK's first-run experience
appends "<home>\.dotnet\tools" to the persisted user PATH each time, and
DOTNET_SKIP_FIRST_TIME_EXPERIENCE does not stop that part. Seventy-nine
dead entries had accumulated (9,634 chars), past cmd's environment limit,
so anything spawned through cmd lost the tail of PATH — node included.

DOTNET_ADD_GLOBAL_TOOLS_TO_PATH=0 is the switch that governs the PATH
write. Set it everywhere a throwaway dotnet home is used; telemetry
opt-out rides along for the renderer since these homes never persist.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-10 20:49:46 +02:00
Meta Vens
accfb0a5ef Wire AGENTS.md into Claude Code memory
Claude Code reads CLAUDE.md, not AGENTS.md, so this repo's doctrine was
invisible to it. This one-line import makes the existing AGENTS.md load
without duplicating or renaming it. Codex is unaffected.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-03 22:21:20 +02:00
Meta Vens
9051f4b6db Share Dings MCP across agent sessions 2026-08-21 21:18:45 +02:00
Meta Vens
e02faf6c92 Document shared Dings MCP deployment boundary 2026-08-21 21:00:57 +02:00
Meta Vens
348d677248 Centralize Dings playback and volume 2026-07-15 01:18:09 +01:00
Meta Vens
9abb7e4164 Add curated AquaSynth dings MCP service 2026-07-14 01:06:12 +01:00
Meta Vens
91c7c61832 Advertise AquaSynth live session schemas 2026-06-15 03:38:32 +01:00
Meta Vens
a87e5aa4e0 Publish AquaSynth live session state 2026-06-15 03:33:03 +01:00
Meta Vens
0da43b9439 Add AquaSynth live session close command 2026-06-15 03:20:09 +01:00
Meta Vens
50ed85ae41 Add AquaSynth live instrument daemon sessions 2026-06-15 03:08:53 +01:00
Meta Vens
0edd3ee21a Document greater daemon composition rule 2026-06-15 02:42:48 +01:00
Meta Vens
78c84726ff Add cinematic pipeline to daemon swarm docs 2026-06-15 02:36:28 +01:00
Meta Vens
d2d0eaada1 Document GameCult daemonic swarm architecture 2026-06-15 02:15:59 +01:00
Meta Vens
6e93513e8e Add AquaSynth local CultNet daemon 2026-06-15 01:45:01 +01:00
Meta Vens
8c5f6d604a Add AquaSynth automation stream receipts 2026-06-15 01:22:25 +01:00
Meta Vens
ee6501558c Add AquaSynth sample daemon 2026-06-15 01:07:56 +01:00
Meta Vens
c67158116a Repair AquaSynth merge witnesses 2026-06-15 00:32:54 +01:00
Meta Vens
7a0bba15c2 Add AquaSynth daemon provider contract 2026-06-03 04:34:31 +01:00
Meta Vens
c2fa103fae Record retrigger lesson music knowledge store 2026-06-01 12:31:50 +01:00
Meta Vens
fd6aa863a7 Teach music agents retriggered 808 drums 2026-06-01 12:07:51 +01:00
Meta Vens
4ba37d3260 Place song swarm worktrees beside CultLib 2026-06-01 06:05:53 +01:00
Meta Vens
88bc314467 Restore agent worktrees before prebuild 2026-06-01 06:01:27 +01:00
Meta Vens
bb736b5bf0 Quiet song swarm worktree creation 2026-06-01 05:57:47 +01:00
Meta Vens
7645a2c7c3 Isolate song swarm musician worktrees 2026-06-01 05:54:21 +01:00
Meta Vens
8250afc39a Gate song swarm on self-iteration evidence 2026-06-01 05:48:03 +01:00
Meta Vens
e13fdbc21b Add production sugar for music agents 2026-06-01 04:44:11 +01:00
Meta Vens
89e6ee10bf Document music agent orchestration lessons 2026-06-01 04:40:48 +01:00
Meta Vens
c7d3d9c378 Record five-pass song swarm run 2026-06-01 04:21:21 +01:00
Meta Vens
783a629b2b Keep learned-only song swarms running 2026-06-01 02:29:33 +01:00
Meta Vens
16995891fd Harden song swarm rendering environment 2026-06-01 02:06:49 +01:00
Meta Vens
03cd6007f8 Expose song render failures 2026-06-01 01:55:37 +01:00
Meta Vens
36ef9109c2 Add target music intelligence reports 2026-06-01 01:17:49 +01:00
Meta Vens
554a74e2d4 Make music knowledge store cumulative 2026-06-01 00:30:48 +01:00
Meta Vens
16ed4084ff Seed music knowledge manuals 2026-06-01 00:22:29 +01:00
Meta Vens
94cf7174f7 Use Qdrant for music knowledge injection 2026-06-01 00:11:36 +01:00