Skip to content

Restore direct Preview rendering on Xcode 27.2 - #467

Merged
zunda-pixel merged 2 commits into
mainfrom
fix/preview-input-storage
Oct 30, 2026
Merged

zunda-pixel merged 2 commits into
mainfrom
fix/preview-input-storage

Conversation

@zunda-pixel

@zunda-pixel zunda-pixel commented Oct 30, 2026 •

Copy link
Copy Markdown
Collaborator

Fixes #461. On Xcode 27.2, the direct renderer cannot bind inlined Preview input getters and falls back to a failing XPC request. Read the already-decoded native storage, including its defaults, so supported previews reach rendering.

Update the contracts encountered after decoding: project-container invalidation, source lookup, translation-unit parsing, destination resolution, and the source-plan subscript getter. The current destination adapter uses the scene host's callable catalog API and Xcode's resolver, preserving its feature gate, destination choices, selection, and warning messages.

Return the selected Xcode's advertised output shape. Xcode 27.2 receives snapshot.path and supportedOverrides; earlier schemas retain their existing fields. The Preview verifier can save either snapshot shape and compare the grouped metadata.

Validation on Xcode 27.2 (27B48), macOS 27.0.1, Apple Silicon:

  • swift test --disable-sandbox --filter 'NativePreviewCorrectionTests|NativePreviewBuildTests|PreviewVerifierTests': 54 tests passed, covering decoded values/defaults, both invalidation signatures, and both response schemas.
  • A packaged MCP host produced images for seven calls using the repository's platform fixture: omitted index, explicit destination, invalid destination with native warning and automatic fallback, AppKit View, AppKit Controller, default SwiftUI layout, and fitting SwiftUI layout. The SwiftUI body, bundle identity, and both AppKit labels were visually checked. The workspace closed and the host exited with code 0 without forced termination.
  • The repository verifier's previews capture --case mac-fixed --backend headless also saved the current-schema snapshot, closed its workspace and client, and reported no cleanup errors.

The macOS SwiftUI fixed-layout size mismatch is tracked separately in #466, a sub-issue of #305, with an independent fix in #468. This validation does not establish GUI pixel parity or repeat the original 81-case matrix.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-30T16:33:13.467547Z 8616635 PR opened
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@zunda-pixel
zunda-pixel merged commit bbe859d into main Oct 30, 2026
7 checks passed
@zunda-pixel
zunda-pixel deleted the fix/preview-input-storage branch October 30, 2026 16:40
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.

Xcode 27.2: Preview input getter binding fails before direct rendering

1 participant