{
  "edition": {
    "edition": "2026-09-06-draft-01",
    "language": "en",
    "publicationState": "published",
    "sourceRevision": "a7e788eb4b151fd92c1f58153e015773e3a829af",
    "projectCount": 67,
    "documentCount": 94,
    "skillCount": 10,
    "archivePath": "library.zip",
    "archiveBytes": 181812,
    "releasedAt": "2026-09-08T05:03:11.129+00:00"
  },
  "access": {
    "released": true,
    "rehearsal": false
  },
  "project": "desktop/tabletop-atmosphere.md",
  "markdown": "https://legion.tw/api/projects/packet.md/desktop/tabletop-atmosphere.md?edition=2026-09-06-draft-01",
  "documents": [
    {
      "path": "desktop/README.md",
      "text": "# Native desktop applications\n\n[All project types](../README.md) · [Shared launch](../shared/launch.md)\n\nBuild 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.\n\n## Projects to build\n\n- [Calling and follow-up desk](calling-follow-up-desk.md)\n- [Quote and estimate builder](quote-estimate-builder.md)\n- [Photo-to-report desk with an AI colleague](ai-photo-report-desk.md)\n- [Orders and production board](orders-production-board.md)\n- [Equipment checkout and maintenance book](equipment-checkout-book.md)\n- [Booking and session desk](booking-session-desk.md)\n- [Meme and GIF studio](meme-gif-studio.md)\n- [Soundboard](soundboard.md)\n- [Game-show host](game-show-host.md)\n- [Music playground](music-playground.md)\n- [Animated desktop pet](desktop-pet.md)\n- [Tabletop atmosphere controller](tabletop-atmosphere.md)\n- [Ridiculous tournament simulator](ridiculous-tournament.md)\n- [Personal AI chat app with bring-your-own-key access](byok-chat.md)\n\nThese are instructions for projects you can build with your coding agent.\n"
    },
    {
      "path": "desktop/tabletop-atmosphere.md",
      "text": "# Build a tabletop atmosphere controller\n\nBuild 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.\n\nLearn 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.\n\n## Prepare scenes\n\nLet 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.\n\nA 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.\n\nGive 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.\n\n## Control it while telling the story\n\nMake 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.\n\nGive 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.\n\nSupport 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.\n\nSet 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.\n\n## Keep the preparation together\n\nSave 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.\n\nSupply 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.\n\n## Run a short scene\n\nDeliver 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.\n\nExplain 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.\n\nLater 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.\n"
    },
    {
      "path": "desktop/soundboard.md",
      "text": "# Build a soundboard for your friends\n\nBuild 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).\n\nFind 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.\n\n## Turn a recording into a button\n\nLet 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.\n\nHelp 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.\n\nLet 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.\n\n## Make it good during the activity\n\nThe 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.\n\nSupport 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.\n\nKeep 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.\n\n## Make sure people hear it\n\nSet 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.\n\nSave 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.\n\n## Play with it\n\nCarry 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.\n\nExplain 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.\n\nA 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.\n"
    }
  ]
}