Soundscape audio socket over Aqua activity frame (flag off, muted) #6

Closed
void wants to merge 1 commit from void/soundscape-audio-socket into main
Member

Wires the audio socket to Aqua's soundscape frame, read at AquaSynth PR #4 branch head aeae510 (docs/soundscape-grammar.md; the PR page shows stale ab9bcdc). Cites heimdall-body:follow_up:ratatoskr-creature-projection-v2 (which this instance could not view; the grammar relays it). Follow-up void-body:follow_up:chat-s961-961. Not merged; nothing was heard.

What it is

src/app/features/soundscape/: frame.ts (frame type, readFrame, per-mind FrameTable, seq and 10 s staleness), scene.ts (drawn set, placeholder size scales), voices.ts (planVoices), device.ts (weak-phone check), socket.ts (ports: ActivitySource, VoiceSink; silentSource is the only source). Settings: soundscapeEnabled false, soundscapeMuted true, soundscapeVolume, soundscapeVoiceCap 4. No UI toggle yet.

Pinned by tests (14, soundscape.test.ts)

  • neutral overrides all: nothing drawn or sounded across estate x kind x energy x size
  • human energy Peak clamps to High, mind/persona keep Peak
  • activity is a stub: silent source yields nothing; only pushed frames produce voices
  • no vote weights: unknown fields (weight, votes, roomId, brief) dropped; gain is user volume only
  • size scales are renderer placeholders, no effect on voices
  • default off + muted; master mute/flag/zero volume silence; cap drops lowest energy; weak device off

Grammar items that do not map to a type

  • override (None|Muted) is in the grammar frame but not in the brief's field list; implemented (O2).
  • Reduced human kind subset: the grammar leaves it to projection-v2; not guessed, human kinds are not reduced.
  • "Never the lead" in V3: no rule says how a lead is chosen; not implemented.
  • at is "time bucket, 1 s"; taken as whole seconds number. seq monotonic per mind, taken as integer.
  • Niche table (V1, V2, V4), density ceilings (S3), pan, pulse slots: no type here; voice identity/asset selection is the sink's job and no assets exist.
  • Weak-phone thresholds (deviceMemory < 4 or cores < 4) are my placeholders.

Not verified

Nothing heard; no audio is produced. No phone measured (cap, weak-device thresholds). Grammar section 7 reconcile items open. No frame feed exists (ratatoskr:question:activity-feed-source). vitest 72/72, eslint and prettier clean on touched files; repo-wide tsc already fails on main (matrix-js-sdk typings), none in soundscape. Tests ran from a copy in $TMPDIR because the workspace's parent package.json bind is an empty file that breaks vite/eslint.

🤖 Generated with Claude Code

Wires the audio socket to Aqua's soundscape frame, read at AquaSynth PR #4 **branch head aeae510** (`docs/soundscape-grammar.md`; the PR page shows stale ab9bcdc). Cites `heimdall-body:follow_up:ratatoskr-creature-projection-v2` (which this instance could not `view`; the grammar relays it). Follow-up `void-body:follow_up:chat-s961-961`. **Not merged; nothing was heard.** ## What it is `src/app/features/soundscape/`: `frame.ts` (frame type, `readFrame`, per-mind `FrameTable`, seq and 10 s staleness), `scene.ts` (drawn set, placeholder size scales), `voices.ts` (`planVoices`), `device.ts` (weak-phone check), `socket.ts` (ports: `ActivitySource`, `VoiceSink`; `silentSource` is the only source). Settings: `soundscapeEnabled` false, `soundscapeMuted` true, `soundscapeVolume`, `soundscapeVoiceCap` 4. No UI toggle yet. ## Pinned by tests (14, `soundscape.test.ts`) - neutral overrides all: nothing drawn or sounded across estate x kind x energy x size - human energy Peak clamps to High, mind/persona keep Peak - activity is a stub: silent source yields nothing; only pushed frames produce voices - no vote weights: unknown fields (weight, votes, roomId, brief) dropped; gain is user volume only - size scales are renderer placeholders, no effect on voices - default off + muted; master mute/flag/zero volume silence; cap drops lowest energy; weak device off ## Grammar items that do not map to a type - `override` (None|Muted) is in the grammar frame but not in the brief's field list; implemented (O2). - Reduced human `kind` subset: the grammar leaves it to projection-v2; not guessed, human kinds are not reduced. - "Never the lead" in V3: no rule says how a lead is chosen; not implemented. - `at` is "time bucket, 1 s"; taken as whole seconds number. `seq` monotonic per mind, taken as integer. - Niche table (V1, V2, V4), density ceilings (S3), pan, pulse slots: no type here; voice identity/asset selection is the sink's job and no assets exist. - Weak-phone thresholds (deviceMemory < 4 or cores < 4) are my placeholders. ## Not verified Nothing heard; no audio is produced. No phone measured (cap, weak-device thresholds). Grammar section 7 reconcile items open. No frame feed exists (`ratatoskr:question:activity-feed-source`). vitest 72/72, eslint and prettier clean on touched files; repo-wide `tsc` already fails on main (matrix-js-sdk typings), none in soundscape. Tests ran from a copy in `$TMPDIR` because the workspace's parent `package.json` bind is an empty file that breaks vite/eslint. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
soundscape: audio socket over Aqua's activity frame (flag off, muted, untested by ear)
Some checks failed
CLA Assistant / CLAssistant (pull_request_target) Has been cancelled
Check PR title / lint (pull_request_target) Has been cancelled
Build pull request / Build pull request (pull_request) Has been cancelled
c4c00d7127
Reads the grammar frame (AquaSynth docs/soundscape-grammar.md @ aeae510) into a
per-mind table, plans voices (neutral overrides all, Muted, cap, master mute,
weak-device off) and the drawn set. No activity source exists yet
(ratatoskr❓activity-feed-source) and no audio assets, so nothing sounds.
Cites heimdall-body:follow_up:ratatoskr-creature-projection-v2.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Author
Member

Landed by direct merge into ratatoskr/estate-navigator (5e79a185), PR #6 then #7, plus neutral-drops-size. Flag off, muted, no deploy. Closing.

Landed by direct merge into ratatoskr/estate-navigator (5e79a185), PR #6 then #7, plus neutral-drops-size. Flag off, muted, no deploy. Closing.
void closed this pull request 2026-11-02 18:29:43 +00:00
Some checks failed
CLA Assistant / CLAssistant (pull_request_target) Has been cancelled
Check PR title / lint (pull_request_target) Has been cancelled
Build pull request / Build pull request (pull_request) Has been cancelled

Pull request closed

Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
GameCult/Ratatoskr!6
No description provided.