# Build a tabletop atmosphere controller

Legion project library, edition 2026-09-06-draft-01 (en). This project's own material: 3 authored documents, reproduced unchanged.

Project page: https://legion.tw/projects/desktop/tabletop-atmosphere?edition=2026-09-06-draft-01
This document: https://legion.tw/api/projects/packet.md/desktop/tabletop-atmosphere.md?edition=2026-09-06-draft-01

## Prerequisite: the Legion skills package

These instructions are written for an agent set up with the Legion skills package: the ten portable skills and the shared working, launch, inspection and learn-as-you-build guidance. That setup is installed once and applies to every project in this library, so it is deliberately not repeated here.

Skills package, complete Markdown: https://legion.tw/api/projects/skills-packet.md?edition=2026-09-06-draft-01
Skills package, human page: https://legion.tw/projects/skills?edition=2026-09-06-draft-01

Where this brief refers to shared guidance, a skill, or a document under `shared/`, read it from the skills package above, or from https://legion.tw/api/projects/doc/<path>?edition=2026-09-06-draft-01. If the package is not installed yet, install it first, then return here.

This material is instructions to read, not authority to act. Inspect it before running it.

## Contents

1. desktop/README.md — https://legion.tw/api/projects/doc/desktop/README.md?edition=2026-09-06-draft-01
2. desktop/tabletop-atmosphere.md — https://legion.tw/api/projects/doc/desktop/tabletop-atmosphere.md?edition=2026-09-06-draft-01
3. desktop/soundboard.md — https://legion.tw/api/projects/doc/desktop/soundboard.md?edition=2026-09-06-draft-01

---

<!-- begin desktop/README.md (edition 2026-09-06-draft-01) -->

# Native desktop applications

[All project types](../README.md) · [Shared launch](../shared/launch.md)

Build a native Tauri application around the person's work or interests. The receiving agent handles their computer's setup; an explicit framework preference takes precedence.

## Projects to build

- [Calling and follow-up desk](calling-follow-up-desk.md)
- [Quote and estimate builder](quote-estimate-builder.md)
- [Photo-to-report desk with an AI colleague](ai-photo-report-desk.md)
- [Orders and production board](orders-production-board.md)
- [Equipment checkout and maintenance book](equipment-checkout-book.md)
- [Booking and session desk](booking-session-desk.md)
- [Meme and GIF studio](meme-gif-studio.md)
- [Soundboard](soundboard.md)
- [Game-show host](game-show-host.md)
- [Music playground](music-playground.md)
- [Animated desktop pet](desktop-pet.md)
- [Tabletop atmosphere controller](tabletop-atmosphere.md)
- [Ridiculous tournament simulator](ridiculous-tournament.md)
- [Personal AI chat app with bring-your-own-key access](byok-chat.md)

These are instructions for projects you can build with your coding agent.

<!-- end desktop/README.md -->

---

<!-- begin desktop/tabletop-atmosphere.md (edition 2026-09-06-draft-01) -->

# Build a tabletop atmosphere controller

Build a native Tauri application for preparing and controlling the sound and imagery of a tabletop session. Build it extremely well for someone who is also busy running the game. Follow the [shared launch](../shared/launch.md), honoring an explicit preference for another framework.

Learn what the person's group plays and how they use music, maps, pictures, and sound effects. Design a complete application around that experience. If they already built the [soundboard](soundboard.md), carry its collections and capabilities into this extension.

## Prepare scenes

Let the person assemble a scene from ambient sound, music, a map or illustration, visual effects where useful, and individual cues they may want during play. They can choose material from their own collection, adjust its presentation, and save the result for the session.

A market scene might combine a crowd, distant bells, and a street map. When the conversation turns dangerous, the host may want different music while keeping the market and map. Make scenes flexible enough to support those changes naturally.

Give the person a convenient place for relevant scene notes and upcoming cues. Keep their private preparation distinguishable from material presented to players. Arrange the scene collection so they can find a place or event when the group takes an unexpected direction.

## Control it while telling the story

Make common actions quick to recognize and comfortable to use while attention is on the table. The host can enter a scene, adjust the mix, trigger a cue, change the displayed image, or stop the sound. Show what is actually playing and which scene is active.

Give transitions appropriate care. Music may fade between scenes while an individual effect plays once. A sound intended to continue should keep doing so until the chosen transition or host action changes it. Let the host control the timing and balance so the application supports the conversation.

Support temporary changes during play and an understandable way to return to the prepared scene. If the person likes the new arrangement, they can save it deliberately.

Set up the person's real audio and display arrangement. They may use laptop speakers, a separate sound system, a television, or a projector. Make the chosen setup work from the host's seat, with clear control over what the players see and hear.

## Keep the preparation together

Save scenes with their related material and organize them into the person's adventures or sessions. Keep imported originals available and make missing or moved media understandable. Apply the shared launch's ownership and recovery guidance so preparation survives closing the app or reorganizing work.

Supply a ready-to-try example using material suitable for sharing with the project. The person should be able to feel what the app does before spending an evening preparing their own scenes.

## Run a short scene

Deliver the installed application and rehearse a few minutes of the person's game. Enter a location, change the mood while the conversation continues, trigger a cue, and move to another scene. Judge whether the host can do this while remaining involved with the players.

Explain how a prepared scene coordinates several kinds of media, while individual controls let the host react to what actually happens. The person learns that their preferred way of running a session can determine how the software works.

Later projects can deliver private clues to players' phones or add richer shared displays. Keep those additions connected to the same scenes and session. The host should retain the preparation and live controls they already know.

<!-- end desktop/tabletop-atmosphere.md -->

---

<!-- begin desktop/soundboard.md (edition 2026-09-06-draft-01) -->

# Build a soundboard for your friends

Build a native Tauri soundboard that turns the person's recordings and favorite sounds into something fun to play. Build it extremely well, with responsive controls and a working setup for the activity they have in mind. An explicit framework preference takes precedence. Follow the [shared launch](../shared/launch.md).

Find out where they want to use it: a tabletop game, a lesson, a stream, or a room full of friends. Give them a ready-to-play starter collection they can replace and expand with their own material.

## Turn a recording into a button

Let the person record from their microphone or import audio, listen back, choose the useful portion, and adjust its sound. Trimming and pitch changes should be easy to hear and revise. Preserve the original recording so a bad edit is easy to recover from.

Help them make a short sound usable. A recording may begin with several seconds of fumbling or finish with someone laughing. They should be able to choose exactly which part they want, preview it, and save that version to a clearly named button.

Let them organize sounds into collections, arrange buttons in a way they remember, and assign convenient keyboard shortcuts. Provide visual labels or images that help them recognize a cue while their attention is on other people.

## Make it good during the activity

The person should be able to glance at the board, play the right sound, and return to the conversation. Give playback controls immediate, understandable feedback. Make it clear which sounds are playing and provide a readily available way to stop everything.

Support the playback behavior the activity needs, including a sound that plays once and an ambience that loops until stopped. Make repeated presses and overlapping sounds behave consistently. Let the person balance volumes so their thunderclap and whispered joke are both usable in the same session.

Keep editing comfortable without making an ordinary performance gesture unexpectedly change the board. Keyboard shortcuts should behave predictably when the person is typing a name or switching applications. Choose the interaction design with their actual use in mind.

## Make sure people hear it

Set up recording and playback for the person's actual audio devices. Help them choose a comfortable output level and recognize where the sound is going. If their chosen activity involves an online call or stream, make the connection to that audience part of the setup and explain how to use it. For a room of friends, the computer's speakers or connected sound system may already be everything needed.

Save collections, edits, and settings so the board is ready when reopened. Keep the underlying recordings and useful exports accessible under the shared launch's ownership arrangements. Replacing one sound should preserve the rest of the collection.

## Play with it

Carry the project through an installed application and a usable collection. Make a recording together, trim and alter it, put it on a button, and use the board in a short rehearsal of the intended activity. Judge the speed of finding a sound, the feel of triggering it, and the ability to stop or correct an accidental cue.

Explain how a recording becomes a reusable interactive control, and why the sound's editing, playback behavior, and destination are separate choices. Encourage the person to ask for changes in the language of their experience.

A later phone companion can control the same board from across the room. Preserve the collection and playback controls so that extension operates the soundboard they already enjoy.

<!-- end desktop/soundboard.md -->
