Skip to content

[Agent] feat: AspectRatioOverride enum — Phase 2 of Screen Scaling standardization#3619

Open
github-actions[bot] wants to merge 1 commit intodevelopfrom
agent/issue-2673-phase2
Open

[Agent] feat: AspectRatioOverride enum — Phase 2 of Screen Scaling standardization#3619
github-actions[bot] wants to merge 1 commit intodevelopfrom
agent/issue-2673-phase2

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions github-actions bot commented Apr 3, 2026

Summary

Phase 2 of the Screen Scaling standardization epic (#2673), following the merged Phase 1 (#3616).

  • AspectRatioOverride enum — new type in PVPrimitives with 6 cases (auto, ratio_4_3, ratio_16_9, ratio_1_1, ratio_8_7, stretch). Each case carries displayName, subtitle, symbolName, aspectRatioValue, and isWidescreen metadata for UI use.
  • CoreOptional protocol extensionssupportedAspectRatioOverrides (which overrides the core supports) and preferredAspectRatioOverride (the currently selected one). Default implementations return [.auto] / .auto so all existing cores are completely unaffected.
  • Enable scalingModeRenderer by default — the feature flag introduced in Phase 1 is now enabled: true. The new ScalingMode-driven renderer paths (Stretch, Aspect Fill, Integer Scale, Native Resolution) are active for all users. Legacy nativeScaleEnabled/integerScaleEnabled shims remain for backwards compatibility.
  • TestsAspectRatioOverrideTests covers raw values, CaseIterable, Codable round-trip, aspectRatioValue, isWidescreen, and display metadata.
  • Reviewer context — updated .github/prompts/reviewer-context.md with Phase 1/2 review rules.

What's Next (Phase 3)

Per-core wiring: cores that already have aspect ratio / widescreen support (Dolphin, PPSSPP, Flycast, DuckStation, Gearcoleco) will override supportedAspectRatioOverrides and preferredAspectRatioOverride to read from their existing CoreOption keys.

Test plan

  • cd PVPrimitives && swift testAspectRatioOverrideTests all pass
  • Build Provenance-Lite scheme — scalingModeRenderer flag now active by default; verify all ScalingMode picker values work in Settings > Video
  • Open a game, switch ScalingMode to Stretch / Aspect Fill in Settings — renderer applies the mode without toggling any feature flag

Part of #2673

@github-actions github-actions bot requested a review from JoeMatt as a code owner April 3, 2026 04:02
@github-actions github-actions bot added agent-work PR or issue being worked on by the AI agent ai-reviewing AI code review in progress labels Apr 3, 2026
@github-actions github-actions bot enabled auto-merge (squash) April 3, 2026 04:03
@github-actions
Copy link
Copy Markdown
Contributor Author

github-actions bot commented Apr 3, 2026

🤖 PR created. AI review starting automatically.

@github-actions github-actions bot force-pushed the agent/issue-2673-phase2 branch 2 times, most recently from 47aee48 to e448000 Compare April 3, 2026 04:32
@github-actions github-actions bot removed the ai-reviewing AI code review in progress label Apr 3, 2026
@github-actions github-actions bot force-pushed the agent/issue-2673-phase2 branch 7 times, most recently from 875545e to bcdd414 Compare April 3, 2026 06:46
…ation

- Add AspectRatioOverride enum to PVPrimitives (auto/4:3/16:9/1:1/8:7/stretch)
  with displayName, subtitle, symbolName, aspectRatioValue, and isWidescreen metadata
- Extend CoreOptional protocol with supportedAspectRatioOverrides and
  preferredAspectRatioOverride; default impls return .auto (no-op for all existing cores)
- Enable scalingModeRenderer feature flag by default (was: disabled, gated behind flag)
- Add AspectRatioOverrideTests covering raw values, CaseIterable, Codable, and display metadata
- Update reviewer-context.md with ScalingMode + AspectRatioOverride review rules

Part of #2673

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions github-actions bot force-pushed the agent/issue-2673-phase2 branch from bcdd414 to 6fe40f1 Compare April 4, 2026 02:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agent-work PR or issue being worked on by the AI agent

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants