Skip to content

refactor: establish Media folder feature - #328

Open
jderochervlk wants to merge 1 commit into
codex/option5-html-folderfrom
codex/option5-media-folder
Open

refactor: establish Media folder feature#328
jderochervlk wants to merge 1 commit into
codex/option5-html-folderfrom
codex/option5-media-folder

Conversation

@jderochervlk

@jderochervlk jderochervlk commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator

Tracking issue: #342

Stack context

Part 18 of the Option 5 folder-feature stack.

Review this PR as the incremental diff against #327.

Summary

  • add the target src/media folder on the unqualified internal Media feature
  • add the supported WebAPI.Media -> WebAPI.HTML + Media feature
  • consolidate Encrypted Media Extensions, Media Capabilities, Media Capture and Streams, Media Session, Picture-in-Picture, Remote Playback, Web Speech, and WebVTT into the Media folder
  • move the remaining media-specific HTML interfaces from the legacy DOM folder
  • move BaseEncryptedMediaExtensions out of the foundational core
  • preserve existing flat module paths and expose MediaError, VideoPlaybackQuality, and the consolidated media interfaces through WebAPI.Media

Temporary state

  • Navigator remains in the legacy DOM folder and references Media-owned types; its broad cross-domain surface is resolved in the later Navigator integration PR
  • Document remains in the legacy DOM folder even though it contains Picture-in-Picture operations; it moves with the later Window/document integration layer
  • the legacy broad WebAPI.DOM source entry remains until its remaining interfaces have been assigned
  • final feature-graph guardrails and helper cleanup remain deferred until the stack is complete

Review focus

  • membership of the consolidated Media domain
  • the WebAPI.Media dependency closure
  • the boundary between general HTML interfaces and media-specific HTML interfaces
  • newly public flat media interface modules

Verification

  • node_modules/.bin/rescript clean
  • node_modules/.bin/rescript build --prod --features DOM,Event,DOMPlatform,Animation,CSSOM,Geometry,DOMNodes,File,HTML,Media
  • npm run build
  • npm test
  • npm run format:check
  • git diff --check

Copy link
Copy Markdown
Collaborator Author

@codex

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 30bae3badc

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread rescript.json
},
{
"dir": "src/MediaCapabilities",
"dir": "src/media",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Register the media source with documentation generators

When documentation generation processes a public file under the new src/media directory, docs/llm.js cannot find its directory in featureSpecs and throws Unsupported source directory for documentation; similarly, docs/utils.js only creates API routes for a recognized feature directory containing its expected *Types.res, so the APIs moved here disappear from the generated site. Update the documentation feature mapping/generation logic as part of this consolidation so it understands the new Media grouping.

Useful? React with 👍 / 👎.

@jderochervlk
jderochervlk force-pushed the codex/option5-media-folder branch from 30bae3b to a26ff7e Compare August 4, 2026 17:31
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