diff --git a/.claude/skills/quest-review/SKILL.md b/.claude/skills/quest-review/SKILL.md index 84906a4c..39c62d32 100644 --- a/.claude/skills/quest-review/SKILL.md +++ b/.claude/skills/quest-review/SKILL.md @@ -1,6 +1,6 @@ --- name: quest-review -description: Review a PR's branch locally with a model that wrote none of it, then mark it ready for review. +description: Review a PR's branch locally with a model other than its latest writer, then mark it ready for review. --- Run `quest skill review` and follow its output. diff --git a/flake.lock b/flake.lock index 3a9e9d6e..9f6e9f9f 100644 --- a/flake.lock +++ b/flake.lock @@ -62,28 +62,27 @@ "quest-pinned": "quest-pinned" }, "locked": { - "lastModified": 1794089039, - "narHash": "sha256-HZVGUPSw4xRsHgI1xxuZhUbRTdnPlz6OHx/hdUew668=", + "lastModified": 1794340168, + "narHash": "sha256-ZhN/HCLzalBki/eYENHVp7lPFKRa88HF9aAzdl4Wlfw=", "owner": "moq-dev", "repo": "quest", - "rev": "6a18b8a815c2d15d37d7433a619f961ec5a07165", + "rev": "ecf40e27dd80012265afdae3f9f5866a579449b7", "type": "github" }, "original": { "owner": "moq-dev", "repo": "quest", - "rev": "6a18b8a815c2d15d37d7433a619f961ec5a07165", "type": "github" } }, "quest-pinned": { "flake": false, "locked": { - "lastModified": 1794013809, - "narHash": "sha256-0oc+GpBYSBVXsUBTdJ26HgsIGyak4uZ85/V3fJPCdeI=", + "lastModified": 1794155982, + "narHash": "sha256-KuQQ8ykYgTd0kJ76PA8Jao/UQcoxn7X9uZCj3lV8alE=", "owner": "moq-dev", "repo": "quest", - "rev": "4b07dd37466d6fe6af5c9de3d6f1efd7f693aba7", + "rev": "7fe979312b792108a8911a0b38dfc3fd2bb38774", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index f860f6e2..9fcc9d2e 100644 --- a/flake.nix +++ b/flake.nix @@ -21,7 +21,7 @@ # The quest CLI, which also serves the quest guide and skills the stubs in # .claude/skills call. Bump the rev to upgrade them. quest = { - url = "github:moq-dev/quest/6a18b8a815c2d15d37d7433a619f961ec5a07165"; + url = "github:moq-dev/quest"; inputs.nixpkgs.follows = "nixpkgs"; inputs.flake-utils.follows = "flake-utils"; }; diff --git a/quest/README.md b/quest/README.md index b2cfd2b9..a4d115f8 100644 --- a/quest/README.md +++ b/quest/README.md @@ -15,10 +15,3 @@ Work that changes a moq crate is planned in [moq's quest tree](https://github.com/moq-dev/moq/tree/main/quest) and lands there first. A quest here that needs it waits on a pin quest, which `just upgrade-moq` advances. - -## Required - -- [m0: the studio](/quest/m0/README.md) - the native studio for creators who rely on OBS today -- [m1: after the studio ships](/quest/m1/README.md) - what the redesigned studio gains, and the way in from OBS -- [m2: later](/quest/m2/README.md) - work with no consumer yet -- [m3: someday](/quest/m3/README.md) - work no customer asks for, kept so its plans are not lost diff --git a/quest/m0/README.md b/quest/m0/README.md index 553eee4e..9cb4d49f 100644 --- a/quest/m0/README.md +++ b/quest/m0/README.md @@ -98,32 +98,6 @@ restreams") and its upload savings. Direct push with shared encoders matches OBS multistream, and the hosted version is product work outside this repository. -## Required - -- [nixos2 boots Windows for agents](/quest/m0/windows-host.md) - a Windows machine agents reach over ssh, with a camera and microphone -- [The studio builds for Windows in CI](/quest/m0/windows-build.md) - a nightly `windows-latest` build, which needs no Windows host -- [Studio on Windows](/quest/m0/app-windows.md) - the studio runs on Windows, not only Linux -- [Wayland display and window sources](/quest/m0/wayland-sources.md) - portal-picked sources that reopen without the picker -- [Destinations](/quest/m0/destinations.md) - RTMP, RTMPS, and WHIP push with per-destination codecs and shared encoders, on a UI-free egress library a hosted service can reuse -- [AAC for destinations](/quest/m0/destinations-aac.md) - AAC for the ingests that require it, from the platform encoders -- [Clap-to-measure sync delay](/quest/m0/sync-clap.md) - a clap sets a microphone's delay against its camera -- [Audio filters](/quest/m0/audio-filters.md) - noise suppression, gate, compressor, limiter, and plugins on each microphone and system audio source, configured from the studio -- [Browser sources on macOS and Windows](/quest/m0/browser-source/README.md) - the out-of-process CEF pages Linux has, with shared GPU textures on the other desktops -- [Virtual camera](/quest/m0/vcam/README.md) - the program or a published scene exposed as a system camera on Linux, Windows, and macOS -- [The Apple signing identity is available](/quest/m0/signing.md) - the Apple credentials the macOS app and its camera need; Windows ships unsigned -- [Broadcaster UX](/quest/m0/ux/README.md) - one live picture with pages around it, in place of the dock of panels and the launch flags -- [moq-video's capture listing is pinned](/quest/m0/pin-capture-list.md) - icons and live pictures of windows and devices, for the Add page -- [Packaging](/quest/m0/packaging/README.md) - a signed macOS app, a Windows installer, and a Flatpak for Linux, each its own quest -- [The persistable portal restore token is pinned](/quest/m0/pin-portal-token.md) - moq-video's restore token, for Wayland sources -- [Platform AAC encoders are pinned](/quest/m0/pin-aac-encode.md) - moq-audio's AAC encoders, for AAC destinations -- [moq-audio's filter chain is pinned](/quest/m0/pin-audio-filters.md) - the chain audio filters configure -- [moq's egress dial changes are pinned](/quest/m0/pin-egress-dial.md) - RTMPS that keeps `tcUrl` and a caller-supplied dial policy, for destinations -- [moq-audio's source tap is pinned](/quest/m0/pin-audio-tap.md) - the samples clap-to-measure sync times a clap from -- [Playout writes land on positioned bus channels](/quest/m0/playout-positioned.md) - broadcast, media, and replay sound at the bus position its pictures are timed for -- [moq-audio's positioned bus channel is pinned](/quest/m0/pin-bus-positioned.md) - `Bus::positioned`, which playout writes through -- [moq-mux's decoupled playout clock is pinned](/quest/m0/pin-sync.md) - `moq_mux::sync` in place of `moq_mux::timeline`, which every later pin crosses -- [The studio is caught up to moq's main](/quest/m0/pin-main.md) - moq's breaking changes past #8272 in one PR, so each later pin stays small - ## Related - [OBS native codecs](https://github.com/moq-dev/moq/blob/main/quest/m3/obs-moq-video/README.md) - the OBS plugin stays the path for creators who stay on OBS diff --git a/quest/m0/vcam/README.md b/quest/m0/vcam/README.md index e708872b..753b67dd 100644 --- a/quest/m0/vcam/README.md +++ b/quest/m0/vcam/README.md @@ -23,8 +23,3 @@ one for the program and one for each published scene, not saved in the scene file. Each OS backend is a `vcam::backend` in `rs/moq-studio`, fed tightly packed RGBA frames of what its camera shows on a `vcam` thread only while an app reads the camera, and names its camera after the scene it shows. - -## Required - -- [Windows virtual camera](/quest/m0/vcam/windows.md) - a Media Foundation virtual camera on Windows 11 -- [macOS virtual camera](/quest/m0/vcam/macos.md) - a CoreMediaIO Camera Extension inside the app bundle diff --git a/quest/m1/README.md b/quest/m1/README.md index be6d776e..4a9aeb72 100644 --- a/quest/m1/README.md +++ b/quest/m1/README.md @@ -32,19 +32,3 @@ already does is m0, and the features below, which do not exist yet, are here command palette. Dropped, not planned: a rundown that fills overlays, one-click looks and a brand kit, active-speaker layouts, control surfaces, and a rehearsal mode. - -## Required - -- [A camera that keeps out of the way](/quest/m1/auto-place.md) - a layer moves off what matters in the picture, decided on the machine -- [Scenes that lay themselves out](/quest/m1/auto-layout.md) - slots and roles that reflow when a guest joins -- [A capture that went black says so](/quest/m1/capture-health.md) - a badge and the fix on the layer -- [A mini controller for one monitor](/quest/m1/mini-controller.md) - an always-on-top bar and a tray item, never on stream -- [The studio hides itself and private apps from capture](/quest/m1/privacy-shield.md) - its own windows and marked apps left out of display capture -- [A source that follows the game](/quest/m1/follow-game.md) - whichever app is in front, without picking again -- [Drop anything on the picture](/quest/m1/drop.md) - a dragged file or a paste becomes a layer -- [Opening an OBS scene collection](/quest/m1/obs-import.md) - a show made from an OBS collection, with a report -- [A multiview window](/quest/m1/multiview.md) - every scene and source on a second monitor, with tally -- [Private panels](/quest/m1/panels.md) - chat and dashboards as windows that are never on stream -- [Landscape and portrait at once](/quest/m1/dual-format.md) - both formats from one show -- [moq-video's foreground app is pinned](/quest/m1/pin-capture-foreground.md) - which app is in front, for following the game -- [moq-video's capture exclusion is pinned](/quest/m1/pin-capture-exclude.md) - leaving chosen apps out of a display capture diff --git a/quest/m2/README.md b/quest/m2/README.md index ac02c581..65d4c2d2 100644 --- a/quest/m2/README.md +++ b/quest/m2/README.md @@ -19,15 +19,3 @@ The web studio and its two pins moved here from m0 on 2026-11-09 (maintainer, /quest-audit; rejected: keeping them in m0): moq removed all WASM support on 2026-10-31, its browser-backend quests are deferred with no other consumer, and nothing plans a browser WebTransport session for moq-net. - -## Required - -- [A phone as a remote](/quest/m2/phone-remote.md) - scene pads, mutes, and tally on a phone from a QR code -- [Markers and clips](/quest/m2/markers.md) - markers on the show, clips around them, chapters in a recording -- [A command palette](/quest/m2/command-palette.md) - one search box that runs any action and finds any setting -- [Overlays drop their Blitz panic guard](/quest/m2/overlay-blitz-release.md) - the next Blitz release lets overlay checks parse without `catch_unwind` -- [Viewer-side composition](/quest/m2/compose/README.md) - players composite independently published sources over the program from a layer layout track -- [Browser sources paint on the GPU under Mesa AMD Wayland](/quest/m2/mesa-amd.md) - the Intel two-plane fix, checked on the `desktop` host's AMD GPU -- [Web studio](/quest/m2/web.md) - the full studio in wasm on WebGPU and WebCodecs, served from this repository -- [moq-video's browser backends are pinned](/quest/m2/pin-browser-video.md) - the web studio's video slice -- [moq-audio's browser backends are pinned](/quest/m2/pin-browser-audio.md) - the web studio's audio slice