Skip to content

quest: replan viewer-side composition around players layering independent sources - #114

Merged
kixelated merged 3 commits into
mainfrom
quest-plan/compose-layers
Nov 8, 2026
Merged

kixelated merged 3 commits into
mainfrom
quest-plan/compose-layers

Conversation

@kixelated

@kixelated kixelated commented Nov 8, 2026 •

Copy link
Copy Markdown
Contributor

Replans the viewer-side composition epic around players that layer independently published sources over the program, and moves it, with publish-independently, from m3 back to m2. The official players are moq's: moq play and @moq/watch. Their side is planned in moq-dev/moq#8291.

Changes

  • quest/m3/compose/ → quest/m2/compose/, with publish-independently.md moved inside it.
  • layout.md → Layer layout track [M]: a provisional dev.moq.studio.layers track. For each independent source it carries placement, timing, gain and mute, and priority and toggleability.
  • New watch.md [M]: a throwaway moq-studio --watch prototype on moq-scene.
  • New hang-layers.md [S]: once moq specifies layers and moq play plays them, bump the gitlink, publish hang's format, and delete the prototype. It waits on moq.
  • controls.md now requires the watch prototype. server.md is replanned to flatten program + layers for RTMP, WHIP, and HLS.
  • browser.md is deleted, superseded by @moq/watch layering.
  • The epic README no longer lists its own children under Required, as the quest guide says.

Decisions

Settled with the maintainer in /quest-plan on 2026-11-08:

  • Player host: ✅ native first (rejected: browser player only; a light browser page layering without parity).
  • Reference picture: ✅ the program plus independent layers (rejected: the full scene from every source's track; per-scene choice).
  • Goal, superseding the 2026-11-07 deferral on moq-dev/studio#97: ✅ replan now (rejected: plan only the player and replan the layout after publish-independently lands).
  • Player form: ✅ the end goal is moq's moq play and @moq/watch, prototyped here first (maintainer's answer, over the offered options: its own small binary; a moq-studio watch mode).
  • Audio: ✅ players mix independent audio sources in (rejected: video only).
  • Controls: ✅ in the native player (rejected: browser only).
  • Compositor: ✅ extend the hang spec, and each player implements it (rejected: move moq-scene into moq).
  • Prototype: ✅ a moq-studio --watch mode (rejected: straight to moq play).
  • Old quests: ✅ delete browser, keep server replanned (rejected: delete both; keep both as is).
  • Milestones: ✅ studio m2 (rejected: m1; stay in m3). ✅ moq m3 (rejected: match the studio; moq m5).
  • moq's spec timing: ✅ after the prototype (rejected: in parallel).

Validation

  • quest check and quest check --base origin/main: 37 documents ok.

Models

Size: S
Implementer: Claude Code, claude-opus-5-5, high effort

🤖 Generated with Claude Code

(Written by Opus 5.5 with high)

Review

Rewritten by quest review after each round.

  • Reviewer: Codex, gpt-6.1-sol, medium effort
  • Session: 01a1bc30-0d0a-7df0-9492-c92a0dc113d7, round 1
  • Head: e2d6786
  • Base: origin/main at 4c4a219
  • Score: 9/10, The documentation-only replan consistently describes the revised layering approach and has no identified blocking defects, with CI verification still outstanding.
  • Findings: none

@pullfrog

pullfrog Bot commented Nov 8, 2026

Copy link
Copy Markdown

Pullfrog  | Review this ➔

@coderabbitai

coderabbitai Bot commented Nov 8, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 29 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: eceb083a-7013-453f-8ae7-1c77e4d58a63
Commits

Reviewing files that changed from the base of the PR and between ad8decb and cea536e.

Files selected for processing: 15

  • quest/m0/README.md
  • quest/m2/README.md
  • quest/m2/compose/README.md
  • quest/m2/compose/controls.md
  • quest/m2/compose/hang-layers.md
  • quest/m2/compose/layout.md
  • quest/m2/compose/publish-independently.md
  • quest/m2/compose/server.md
  • quest/m2/compose/watch.md
  • quest/m3/README.md
  • quest/m3/compose/README.md
  • quest/m3/compose/browser.md
  • quest/m3/compose/controls.md
  • quest/m3/compose/layout.md
  • quest/m3/compose/server.md
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@kixelated kixelated left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated review by review (OpenAI)

Reviewed head: e2d6786

No actionable findings in this quest-only replan. I read the changed plans and the deleted plans they replace, checked the milestone and prerequisite chain, and compared the handoff with moq-dev/moq#8291. The sequence from independently published sources to layout, watch prototype, upstream specification/native player, and studio format adoption is consistent. Controls gate prototype removal, the official browser reader remains in the end-to-end goal, and the server plan now flattens program plus layers rather than reconstructing every source. This also respects the recorded native-first decision and keeps moq independent of moq-scene.

Direction: no revisions requested from this review. The future implementation still needs the planned shared fixture to establish timing, placement, and audio parity across players.

Verification limits: GitHub-only static review of plans, not an implementation review. I did not run quest context, quest check, just ci, or playback/parity tests. The Check workflow for this head was in progress when inspected.

@kixelated
kixelated enabled auto-merge (squash) November 8, 2026 17:38
@kixelated
kixelated merged commit 4558d7a into main Nov 8, 2026
2 checks passed
@kixelated
kixelated deleted the quest-plan/compose-layers branch November 8, 2026 17:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant