video_player + insets: native playback backend + animated viewPadding

- video_player: ExoPlayer (Android) / AVPlayer (iOS/macOS) backend with
  PixelBufferSink, method-channel adapter, Dart-side XVideoPlayer +
  testing fake.
- insets: XInsets singleton + XAnimatedInsets widget lerp the system
  viewPadding over 220ms so OS bar visibility toggles
  (immersiveSticky <-> edgeToEdge) slide bottom-/top-anchored UI into
  place instead of snapping by the nav-bar / status-bar height.
This commit is contained in:
agra
2026-05-23 15:57:15 +03:00
parent 96df891b9d
commit de4925adf9
28 changed files with 4243 additions and 14 deletions

View File

@@ -14,17 +14,22 @@ Pod::Spec.new do |s|
# always picked up. The two are belt-and-suspenders — pod install
# primes the file set so CocoaPods globs it; the build phase keeps
# contents fresh on every subsequent Swift change.
s.prepare_command = 'rm -rf Classes/Camera-shared && cp -R ../darwin/Camera Classes/Camera-shared'
s.prepare_command = <<-CMD
rm -rf Classes/Camera-shared && cp -R ../darwin/Camera Classes/Camera-shared
rm -rf Classes/Video-shared && cp -R ../darwin/Video Classes/Video-shared
CMD
s.script_phases = [{
:name => 'Mirror darwin/Camera',
:name => 'Mirror darwin/{Camera,Video}',
:execution_position => :before_compile,
:script => <<-CMD
set -e
SRC="${PODS_TARGET_SRCROOT}/../darwin/Camera"
DEST="${PODS_TARGET_SRCROOT}/Classes/Camera-shared"
[ -d "$SRC" ] || exit 0
mkdir -p "$DEST"
rsync -a --delete "$SRC/" "$DEST/"
for MOD in Camera Video; do
SRC="${PODS_TARGET_SRCROOT}/../darwin/${MOD}"
DEST="${PODS_TARGET_SRCROOT}/Classes/${MOD}-shared"
[ -d "$SRC" ] || continue
mkdir -p "$DEST"
rsync -a --delete "$SRC/" "$DEST/"
done
CMD
}]
s.source_files = 'Classes/**/*.{swift,m}'