AppDimens Dynamic for Apple

August 7, 2026 · View on GitHub

← Project README · API · Apple integration · Strategy catalog · Mathematics

This is the complete documentation set for the direct Swift port. The public baseline is 300 points and measurements describe the active window/scene—not an arbitrary child view.

Choose a path

I want to…Start here
Install with XcodeInstallation and first screen
Use SwiftUI without passing sizesApple integration
Use UIKit with automatic scene discoveryApple integration
Select a scaling curveStrategy catalog
Understand every formulaMathematics and calculus
Optimize a hot loop or Metal rendererPerformance
Migrate Android namesMigration
Diagnose incorrect outputTroubleshooting

Complete library map

flowchart TD
  Aggregate[AppDimensDynamic] --> Core[AppDimens]
  Aggregate --> Strategies[AppDimensStrategies]
  Aggregate --> Auto[AppDimensAuto]
  Aggregate --> Resize[AppDimensResize]
  Aggregate --> Units[AppDimensUnits]
  Aggregate --> Metal[AppDimensMetal]
  Strategies --> Curves[Density / Diagonal / Fill / Fit / Fluid / Interpolated / Logarithmic / Percent / Perimeter / Power]

Strategy pages

Scaled · Density · Diagonal · Fill · Fit · Fluid · Interpolated · Logarithmic · Percent · Perimeter · Power · Auto · Resize · Physical units

Platform support

PlatformMinimumAutomatic UI integrationCore and strategiesMetal bridge
iOS / iPadOS13SwiftUI + UIKitYesYes
tvOS13SwiftUI + UIKitYesYes
macOS10.15SwiftUIYesYes
visionOS1SwiftUI + UIKitYesYes
watchOS7Deterministic API (no window provider)YesNot included

The watchOS contract intentionally excludes AppDimensProvider, @ScaledDimension, automatic window discovery, and Metal APIs. Supply a DimensConfiguration and use the deterministic API; AppDimensMetal is an empty compatibility module on watchOS so the aggregate product remains importable without compiling SIMD or Metal declarations for the device SDK. The minimum is watchOS 7, the oldest deployment target supported by the Xcode 16 toolchain used by CI.