The Wire · Showcase
FLUTTER STRIPS C++ FROM VSYNC, SWIFT RUNTIME GETS NONCOPYABLE FIELD VISIBILITY
By RepoJournal · Filed · About Mobile platforms
Flutter's iOS renderer just ditched hybrid C++/Objective-C code for pure Obj-C implementation, while Swift's runtime learned to expose noncopyable field metadata that debuggers have been starving for.
The VSyncClient migration [1] removes C++ types from Flutter's frame timing pipeline entirely, cutting redundant allocations and simplifying iOS rendering at the platform boundary. This lands the same day Linux embedder opts into signed distance field rendering [2], fixing rendering quality issues that were blocking visual correctness across platforms. Meanwhile, Swift's IRGen now emits noncopyable field metadata for newer runtimes [5], finally giving lldb's frame variable dumping access to data it couldn't see before without crashing Mirror. On the build side, Kotlin's native and libs teams are migrating destructuring patterns [6] [7] in preparation for complete mode, a refactoring that signals deeper changes coming to how the compiler handles pattern matching. One warning: Fuchsia's embedder tests got temporarily disabled [3] due to flakiness, and Flutter's native asset build hooks required fixes [4] to properly track and rebuild output files.
Action items
- → Pull VSyncClient changes into your iOS builds - this removes technical debt at the platform layer flutter/flutter [plan]
- → Monitor Fuchsia embedder test re-enablement - this is blocking full platform coverage flutter/flutter [monitor]
- → Review Kotlin destructuring migrations if you maintain custom build tooling JetBrains/kotlin [monitor]
- → Watch Swift runtime changes around noncopyable types for debugger compatibility apple/swift [monitor]
References
- [1] iOS] Migrate VSyncClient to a pure Obj-C implementation (#186166) (#186935) flutter/flutter
- [2] opts the linux embedder into sdf rendering (#186909) flutter/flutter
- [3] Disables embedder_tests.cm for fuchsia (#186969) flutter/flutter
- [4] Fix hooks inputs outputs rebuilt (#186701) flutter/flutter
- [5] IRGen/Runtime: emit noncopyable field metadata ↗ apple/swift
- [6] [libs] Migrate destructuring in preparation for complete mode ↗ JetBrains/kotlin
- [7] [native] Migrate destructuring in preparation for complete mode ↗ JetBrains/kotlin
FAQ
- What changed in Mobile platforms on May 23, 2026?
- Flutter's iOS renderer just ditched hybrid C++/Objective-C code for pure Obj-C implementation, while Swift's runtime learned to expose noncopyable field metadata that debuggers have been starving for.
- What should Mobile platforms teams do about it?
- Pull VSyncClient changes into your iOS builds - this removes technical debt at the platform layer • Monitor Fuchsia embedder test re-enablement - this is blocking full platform coverage • Review Kotlin destructuring migrations if you maintain custom build tooling
- Which Mobile platforms repositories shipped on May 23, 2026?
- flutter/flutter, apple/swift, JetBrains/kotlin