Shadow tokens render on Android as drop shadows only; .inner is carried as data and ignored. View.androidThemeShadow(_:) in Sources/ThemeKit/Android/ is the current application point.
There is no upstream equivalent to lean on. Compose 1.11.4 (the BOM Skip pins) does have Modifier.dropShadow and Modifier.innerShadow, but a shadow attached to a brush — which is what .surface.cardShadow means — is not a Compose concept, so this is design work upstream rather than a mechanical port. The composeModifier escape hatch is the only other route.
Nothing is blocked on it: the drop-only behaviour is documented in README.md's support matrix and in docs/android-rendering.md. Filed so the gap is not lost.
Next step if picked up: open a design issue upstream describing the case, rather than a PR — let the maintainers steer the shape first.
Shadow tokens render on Android as drop shadows only;
.inneris carried as data and ignored.View.androidThemeShadow(_:)inSources/ThemeKit/Android/is the current application point.There is no upstream equivalent to lean on. Compose 1.11.4 (the BOM Skip pins) does have
Modifier.dropShadowandModifier.innerShadow, but a shadow attached to a brush — which is what.surface.cardShadowmeans — is not a Compose concept, so this is design work upstream rather than a mechanical port. ThecomposeModifierescape hatch is the only other route.Nothing is blocked on it: the drop-only behaviour is documented in
README.md's support matrix and indocs/android-rendering.md. Filed so the gap is not lost.Next step if picked up: open a design issue upstream describing the case, rather than a PR — let the maintainers steer the shape first.