Repository navigation
Conversation
kyleve
force-pushed
the
feat/broadway-view-document
branch
from
October 30, 2026 00:25
7e69d7d to
14994c7
Compare
kyleve
force-pushed
the
feat/broadway-view-document
branch
2 times, most recently
from
October 30, 2026 01:58
ece67a0 to
e6f11f6
Compare
Separate native content layout from artwork paint bounds. Keep the material and zoom source inside the exterior layer, protect native content with an inset contour, and preserve essential surfaces under accessibility simplification.
Keep exterior artwork outside the surface finish and native focus shape. Resolve portable background providers with pinned mode and contrast while retaining host elevation. Propagate effective SwiftUI Increased Contrast without weakening the system setting. Add transparent Codable support for copy-on-write appearance trees. Seven calendar and forecast contrast references accompany the root trait correction. The Where-specific Elsewhere outline remains on the next slice. Validation: BroadwayCore 120 tests and BroadwayUI 31 tests passed in the full integration run. Consumer interaction and affected snapshot checks, formatting, and architecture checks passed.
kyleve
force-pushed
the
feat/broadway-view-document
branch
from
October 30, 2026 05:36
e6f11f6 to
11e4473
Compare
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
Broadway consumes prepared ViewDocument content and composes themed surfaces without transferring layout, input, or accessibility ownership to decorative artwork.
BSurfaceorders base paint, interior artwork, native content, highlights, and exterior artwork. Its finish applies to the inner surface, allowing material treatment and native zoom-transition sources to exclude overflow.API and contracts
BViewDocumentLayerBViewDocumentStylesheetBSurfaceBArtworkPlacement/BArtworkLayerBSurfaceLayerRoleBThemeValueThe host prepares assets before rendering. Broadway performs no resource loading or networking. Artwork is hidden from accessibility and ignores hit testing. An explicit accessibility content shape prevents exterior paint from enlarging a combined focus rectangle.
Reduce Motion selects the static pose. Increased Contrast and Reduce Transparency hide optional ornaments while preserving essential surfaces. Effective SwiftUI contrast overrides reach the Broadway root without weakening the user's system setting. Native background providers pin mode and contrast while retaining host elevation for sheets and popovers.
CopyOnWritegains transparent Codable support for large value trees. It preserves the wrapped wire shape and encoder/decoder strategies.BTraits()supplies a deterministic, explicit baseline without reading ambient system traits.The host supplies native content and the prepared artwork for each plane:
Review focus
Surface contract → Artwork hosting → Trait adaptation → Trait regressions.
Independent review identified two boundaries that needed explicit protection: hidden exterior artwork could still enlarge a combined accessibility frame, and frozen background colors lost host elevation. The final code preserves the native focus shape and uses trait-pinned dynamic background providers. Hosted consumer tests and background-level regressions cover both.
Check composition order, the protected foreground center, finite paint bounds, RTL placement, trait updates, scoped overrides, and unchanged content layout. The consumer must reserve gaps and retain viewport clipping.
Testing
./test --all --review --no-generate: BroadwayCore’s 120 tests and BroadwayUI’s 31 tests passed in the full multi-bundle run../test --skip-host-tests --only-file <scope-file> --record never --reviewpassed all four existing consumer entry points:CalendarContentViewSnapshotTests/calendarContent(),LocationForecastPanelSnapshotTests/componentThemes(),LocationForecastSummarySnapshotTests/componentThemes(), andMainTabsSnapshotTests/mainTabs()inWhereUISnapshotTests. This verifies the seven contrast references before the Where migration../swiftformat --lint, architecture configuration/rule tests (29), and architecture lint passed.Programmatic interaction and snapshot captures do not establish physical-device drag/deceleration or audible VoiceOver behavior.
Stack
2/3, based on ViewDocument #460. This slice adds reusable styling infrastructure; Where #462 activates it and contains full-screen visual examples.