AGENTS.md | 6 +- Cargo.lock | 1 + apps/ios/Snowbound/CanvasView.swift | 202 ++++++++- apps/ios/Snowbound/Ink.swift | 303 +++++++++++++ apps/ios/Snowbound/PageViewController.swift | 27 +- apps/ios/Snowbound/Script.swift | 25 +- arc/sync.md | 6 +- corpus/recording/video/camera.mov | Bin 0 -> 25323 bytes crates/canvas/src/editor/ink.rs | 30 ++ crates/canvas/src/editor/recording.rs | 57 ++- crates/canvas/src/interaction/ink.rs | 46 +- crates/canvas/src/interaction/mod.rs | 16 +- crates/canvas/src/interaction/tests.rs | 3 + crates/draw/src/render.rs | 38 ++ crates/mobile/include/snowbound.h | 5 +- crates/mobile/src/lib.rs | 63 ++- crates/mobile/src/library.rs | 3 +- crates/mobile/src/tests.rs | 49 ++- crates/notebook/README.md | 9 +- crates/notebook/src/background.rs | 61 ++- crates/notebook/src/discover.rs | 54 ++- crates/notebook/src/session.rs | 7 +- crates/notebook/tests/discovery.rs | 135 ++++++ crates/notebook/tests/session.rs | 81 +++- crates/onestore/examples/scratch_dump.rs | 53 +++ crates/snowbound/Cargo.toml | 2 + crates/snowbound/src/commands.rs | 102 +++-- crates/snowbound/src/library.rs | 14 +- crates/snowbound/src/main.rs | 5 +- crates/snowbound/src/media_linux.rs | 263 ++++++++++- crates/snowbound/src/media_macos.rs | 506 ++++++++++++++++++++-- crates/snowbound/src/menubar.rs | 19 + crates/snowbound/src/recording.rs | 744 ++++++++++++++++++++++++-------- crates/snowbound/src/video.rs | 407 +++++++++++++++++ crates/ui/src/lib.rs | 6 + crates/ui/src/theme.rs | 39 +- 36 files changed, 2980 insertions(+), 407 deletions(-)