Add initial OpenSwiftUI render support#858
Conversation
🤖 Augment PR SummarySummary: This PR adds an initial, platform-backed rendering path for OpenSwiftUI based on DisplayList view updating, including early async-layer support. Changes:
Technical Notes: The renderer relies on QuartzCore/CoreView shims on Darwin and introduces several “WIP/Unimplemented” stubs intended to be completed in follow-up PRs. 🤖 Was this summary useful? React with 👍 or 👎 |
| guard let storage, storage.isDynamic else { | ||
| return nil | ||
| } | ||
| return storage.updateSchedule |
There was a problem hiding this comment.
Sources/OpenSwiftUICore/View/Text/Text/Text+View.swift:515: ResolvedStyledText.schedule now calls storage.updateSchedule, but NSAttributedString.updateSchedule is currently _openSwiftUIUnimplementedFailure() (also in Sources/OpenSwiftUICore/View/Text/Util/String+Extension.swift:51), so dynamic text can crash at runtime when storage.isDynamic is true.
Severity: high
Other Locations
Sources/OpenSwiftUICore/View/Text/Util/String+Extension.swift:51
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
| return AsyncResult( | ||
| view: info.view, | ||
| key: key, | ||
| changed: oldItem.version != newItem.version, |
There was a problem hiding this comment.
Sources/OpenSwiftUICore/Render/DisplayList/DisplayListViewCache.swift:395: AsyncResult.changed is based only on oldItem.version != newItem.version, which can cause async rendering to skip descending into children even when info.nextUpdate/layer.nextUpdate indicates time-based updates are due.
Severity: medium
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #858 +/- ##
==========================================
- Coverage 27.20% 26.16% -1.05%
==========================================
Files 673 677 +4
Lines 44165 46059 +1894
==========================================
+ Hits 12017 12053 +36
- Misses 32148 34006 +1858 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
No description provided.