apps/ios/Info.plist | 8 +- apps/ios/Snowbound/CanvasView.swift | 73 ++++- apps/ios/Snowbound/PageViewController.swift | 116 +++++++ apps/ios/Snowbound/Recording.swift | 545 ++++++++++++++++++++++++++++++++ apps/ios/Snowbound/Script.swift | 16 +- arc/canvas.md | 3 +- arc/platforms.md | 7 + crates/canvas/src/editor/recording.rs | 5 + crates/canvas/src/gpu/page.rs | 3 + crates/canvas/src/interaction/mod.rs | 8 + crates/canvas/src/lib.rs | 2 + crates/canvas/src/recording.rs | 424 +++++++++++++++++++++++++ crates/canvas/src/recording/video.rs | 422 +++++++++++++++++++++++++ crates/mobile/include/snowbound.h | 14 + crates/mobile/src/lib.rs | 19 +- crates/mobile/src/recording.rs | 274 ++++++++++++++++ crates/mobile/src/tests.rs | 107 +++++++ crates/snowbound/Cargo.toml | 8 +- crates/snowbound/src/attachment.rs | 7 +- crates/snowbound/src/main.rs | 1 - crates/snowbound/src/media_linux.rs | 14 +- crates/snowbound/src/media_macos.rs | 23 +- crates/snowbound/src/recording.rs | 393 ++--------------------- crates/snowbound/src/video.rs | 407 ------------------------ 24 files changed, 2080 insertions(+), 819 deletions(-)