Skip to content

Add archived view factory support#914

Merged
Kyle-Ye merged 5 commits into
mainfrom
feature/empty_view_factory
Jun 21, 2026
Merged

Add archived view factory support#914
Kyle-Ye merged 5 commits into
mainfrom
feature/empty_view_factory

Conversation

@Kyle-Ye

@Kyle-Ye Kyle-Ye commented Jun 21, 2026

Copy link
Copy Markdown
Member

Summary

  • Add platform view factory rendering and decoder plumbing.
  • Add archived view host/core metadata support.
  • Add CoreText composition language compatibility support.
  • Fix Linux build compatibility for archived view host SPI and Swift 6.3 test compilation.

@github-actions github-actions Bot added area: rendering DisplayList, render backends, renderer hosts, drawing, and effects. area: view View APIs, modifiers, AnyView, ForEach, DynamicView, and related behavior. platform: Linux Linux-specific behavior or support. type: bug Something is not working correctly. type: feature New API, behavior, platform support, or user-facing capability. labels Jun 21, 2026
@Kyle-Ye Kyle-Ye marked this pull request as ready for review June 21, 2026 14:38
@Kyle-Ye Kyle-Ye force-pushed the feature/empty_view_factory branch from 1d0ba6e to 2130772 Compare June 21, 2026 14:38
@github-actions github-actions Bot added the area: compatibility Compatibility, availability, legacy support, and cross-version behavior. label Jun 21, 2026
@augmentcode

augmentcode Bot commented Jun 21, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Summary: Enables archived view factory support by wiring platform view factories into rendering and adding archive host/metadata plumbing.

Changes:

  • Adds `archiveHost` lookup on `ProtobufEncoder` and uses it to report factory-encoding failures
  • Implements `CodableViewFactory` protobuf encode/decode using registered `ViewDecoders`
  • Adds `ArchivedViewCore.Metadata` for versioning, attachment indices, archive ID, deployment version, and language/composition defaults
  • Introduces archived-view host SPI types (`_ArchivedViewHostDelegate`, host/state protocols, proxies) for future writer integration
  • Replaces platform layer/view factory render stubs with a warning + missing-platform-view placeholder when rendering is not ignored
  • Materializes stable-identity maps on demand by unioning active scope maps
  • Updates CoreText composition-language shim to provide a non-CoreText fallback and C linkage wrappers
  • Fixes a Swift 6.3 test closure capture typo (`ideal`)

🤖 Was this summary useful? React with 👍 or 👎

@augmentcode augmentcode Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. No suggestions at this time.

Comment augment review to trigger a new review at any time.

@codecov

codecov Bot commented Jun 21, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0.79365% with 125 lines in your changes missing coverage. Please review.
✅ Project coverage is 25.99%. Comparing base (e3c1c83) to head (2130772).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
...s/OpenSwiftUICore/Render/PlatformViewFactory.swift 0.00% 50 Missing ⚠️
...penSwiftUICore/View/Archive/ArchivedViewCore.swift 0.00% 35 Missing ⚠️
...penSwiftUICore/View/Archive/ArchivedViewHost.swift 0.00% 20 Missing ⚠️
...ender/DisplayList/DisplayList_StableIdentity.swift 6.25% 15 Missing ⚠️
...rces/OpenSwiftUICore/Render/PlatformDrawable.swift 0.00% 3 Missing ⚠️
...penSwiftUICore/Data/Protobuf/ProtobufEncoder.swift 0.00% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #914      +/-   ##
==========================================
- Coverage   26.04%   25.99%   -0.06%     
==========================================
  Files         717      719       +2     
  Lines       50569    50668      +99     
==========================================
- Hits        13173    13169       -4     
- Misses      37396    37499     +103     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@Kyle-Ye Kyle-Ye merged commit bfad60c into main Jun 21, 2026
6 of 9 checks passed
@Kyle-Ye Kyle-Ye deleted the feature/empty_view_factory branch June 21, 2026 15:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: compatibility Compatibility, availability, legacy support, and cross-version behavior. area: rendering DisplayList, render backends, renderer hosts, drawing, and effects. area: view View APIs, modifiers, AnyView, ForEach, DynamicView, and related behavior. platform: Linux Linux-specific behavior or support. type: bug Something is not working correctly. type: feature New API, behavior, platform support, or user-facing capability.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant