Commit graph AquaSynth/src
Author SHA1 Message Date
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
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
348d677248 Centralize Dings playback and volume 2026-07-15 01:18:09 +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
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
fd6aa863a7 Teach music agents retriggered 808 drums 2026-06-01 12:07:51 +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
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
378d8e1fb3 Redirect song curriculum toward composition 2026-05-31 22:16:28 +01:00
Meta Vens
58cc1338c8 Distill music production knowledge stores 2026-05-31 18:05:34 +01:00
Meta Vens
604e8312db Use paged CultCache trial stores 2026-05-31 17:33:02 +01:00
Meta Vens
5d3a81a1f1 Score song instruments by owned roles 2026-05-31 10:52:59 +01:00
Meta Vens
3c07852968 Add paired song curriculum distillation 2026-05-31 08:49:07 +01:00
Meta Vens
a3c01523c3 Add shaped scene texture sugar 2026-05-31 08:09:43 +01:00
Meta Vens
37c580c800 Add song target evidence records 2026-05-31 03:37:07 +01:00
Meta Vens
f16ea641af Embed primitive timeline facts in IPA trials 2026-05-31 00:41:28 +01:00
Meta Vens
d1789d6677 Automate IPA trial exploration loop 2026-05-29 23:13:34 +01:00
Meta Vens
05cf7d36d6 Add IPA trial render orchestration 2026-05-29 22:45:51 +01:00
Meta Vens
62178531f9 Add IPA gesture experiment harness 2026-05-29 22:20:46 +01:00
Meta Vens
82bb867e21 Add IPA phoneme gesture spline sugar 2026-05-29 21:53:13 +01:00
Meta Vens
1bf220027d Expose public gesture timeline API 2026-05-29 20:21:16 +01:00
Meta Vens
5e1463fcb9 Add primitive vocal control surfaces and splines 2026-05-29 20:03:32 +01:00
Meta Vens
073c4873e0 Correct primitive source and radiation timeline laws 2026-05-29 16:58:13 +01:00
Meta Vens
0d05a3a12e Expose PT timeline comparison for primitive vocals 2026-05-29 16:49:37 +01:00
Meta Vens
bd391bfb84 Add primitive vocal telemetry comparison reports 2026-05-29 16:45:14 +01:00
Meta Vens
4d7d26030b Rebuild vocal tract lowering around primitives 2026-05-29 16:30:59 +01:00
Meta Vens
f148fb575c Bind generated lip radiation opening 2026-05-29 15:22:47 +01:00
Meta Vens
d7491bf40d Smooth compact tract source placement 2026-05-29 15:04:46 +01:00
Meta Vens
72ae6cafdb Compact generated tract graphs 2026-05-29 14:21:34 +01:00
Meta Vens
04f08e1fe7 Limit generated tract contact owners 2026-05-29 13:31:53 +01:00
Meta Vens
25e8850f27 Feed radiation load back into acoustic graph 2026-05-29 12:37:32 +01:00
Meta Vens
2f541f233d Move closure release into graph scattering 2026-05-29 03:33:38 +01:00
Meta Vens
7e3a499593 Add thrombosis graph timeline probes 2026-05-29 02:21:16 +01:00
Meta Vens
d8a33f7e6b Bound PT utterance render diagnostics 2026-05-29 01:57:38 +01:00
Meta Vens
e21edd2fa9 Demote vocal drive to flow calibration 2026-05-29 01:27:40 +01:00
Meta Vens
7936912a1a Add smooth vocal gesture curves 2026-05-28 23:19:57 +01:00
Meta Vens
c37af981a6 Fix graph tissue valve pitch ownership 2026-05-28 22:28:50 +01:00
Meta Vens
fc44464b2b Make tissue valve sources audibly self-oscillate 2026-05-28 21:14:00 +01:00
Meta Vens
7111e1819c Add tissue modal resonance to valve flow 2026-05-28 20:55:41 +01:00
Meta Vens
12e5669ebc Expand graph vocal modeling DSL 2026-05-28 20:26:58 +01:00