Repository navigation
Conversation
This was referenced Oct 30, 2026
kyleve
force-pushed
the
feat/view-document
branch
from
October 30, 2026 00:25
3c48b5e to
1eb7433
Compare
kyleve
commented
Oct 30, 2026
Owner
Author
There was a problem hiding this comment.
Posted by an AI agent on Kyle's behalf.
Standalone ViewDocument content
Read-only text, shapes, and finite layout render without Broadway or Where. The iPhone 17 light fixture was revalidated at 59dc0d2dd94f; light/dark and accessibility captures passed. Static captures establish rendering, not live motion or spoken VoiceOver behavior.
Reject cumulative scale and authored lengths that can produce blank native rendering even when each modifier is valid. Include ancestor transforms, animation poses, padding, frames, group spacing, and effect extents. Strengthen the dependency mutation tests with exact diagnostics and valid neighboring imports. Document the conservative input-budget contract. Validation: full ./test --all --review passed, including 21 Core tests, four renderer tests, and all 29 architecture tests plus lint.
Keep artwork paint geometry separate from host layout. Add fit, clipped fill, and native tiling with resource and density validation. Split the existing image gate into light/dark and extended entry points without changing reference identities.
Keep portable colors symbolic, including opacity and native palette roles. Supply background elevation through the host appearance contract and bound host-relative artwork geometry before rendering. Validation: ViewDocumentCore 31 tests and ViewDocumentUI 9 tests passed in the full integration run. Standalone light/dark and accessibility captures, formatting, and architecture checks passed.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
Add independent ViewDocument libraries for versioned, finite, read-only presentation: JSON in, SwiftUI out. They have no Broadway or Where dependency.
ViewDocumentCoreowns Codable values, resource requirements, placement geometry, and validation.ViewDocumentUIprepares approved assets and renders text, shapes, images, finite groups, ordered modifiers, and transform animations.Primary API
Pass the prepared value, host-resolved appearance, and explicit rendering policy to
ViewDocumentView. Generic content preserves native text accessibility; decoration policy hides the complete tree from accessibility. Every document is noninteractive.There are no expressions, data iteration, action dispatch, bindings, or networking. Tiling repeats image pixels, not document nodes. Surface composition and reserved layout space belong to consumers.
Compatibility
ViewDocument's wire schema remains version 1. The new image, placement, and paint vocabulary is additive; unknown enum operations fail decoding. Where's separate theme schema is versioned by its consumer.
Review focus
Schema → Placement validation → Renderer → Paint regressions.
Independent reviews covered finite placement, RTL geometry, resource contracts, and paint recursion. Validation bounds nested modifiers, cumulative transform amplification, and color depth before rendering.
Follow decoding through validation and preparation into rendering. Check complexity budgets across nested modifiers and transforms, asset identity, image sizing, host-relative placement, accessibility, and animation endpoints.
Testing
./test --all --review --no-generate: ViewDocumentCore’s 31 tests and ViewDocumentUI’s 9 tests passed in the full multi-bundle run../test --skip-host-tests --no-generate --only WhereUISnapshotTests --only ViewDocumentUISnapshotTests --record never --review: both independent ViewDocument image entry points passed (light/dark and accessibility captures). Consumer failures and their focused corrections are documented in feat(WhereUI): unify JSON themes and add illustrated Halloween #462../swiftformat --lint, architecture configuration/rule tests (29), and architecture lint passed.The foundation has independent tests; it does not rely on Where to validate documents or resolve assets.
Stack
1/3. Broadway #461 adapts traits and composes surfaces; Where #462 supplies theme catalogs, native component roles, and illustrated Halloween content. This foundation alone does not change Where's selected theme.