apps/ios/Snowbound.xcodeproj/project.pbxproj | 2 + apps/ios/Snowbound/Assets.xcassets/AppIcon.appiconset/AppIcon-dark.png | Bin 0 -> 104369 bytes apps/ios/Snowbound/Assets.xcassets/AppIcon.appiconset/AppIcon-light.png | Bin 0 -> 109739 bytes apps/ios/Snowbound/Assets.xcassets/AppIcon.appiconset/AppIcon-tinted.png | Bin 0 -> 122946 bytes apps/ios/Snowbound/Assets.xcassets/AppIcon.appiconset/Contents.json | 38 ++++++++++ apps/ios/Snowbound/Assets.xcassets/Contents.json | 6 ++ apps/ios/Snowbound/Ink.swift | 18 ++++- arc/canvas.md | 5 +- corpus/ink-pressure/README.md | 5 +- crates/onestore/src/commit.rs | 129 +++++++++++++++++++++++++++----- crates/snowbound/assets/icons/sync-busy.svg | 13 +++- crates/snowbound/assets/icons/sync-done.svg | 12 ++- crates/snowbound/assets/icons/sync-error.svg | 12 ++- crates/snowbound/assets/icons/sync-offline.svg | 10 ++- crates/snowbound/assets/icons/sync-warning.svg | 12 +++ crates/snowbound/src/art.rs | 1 + crates/snowbound/src/library.rs | 35 ++++++++- crates/snowbound/src/macos.rs | 92 +++++++++++++++++++++++ crates/snowbound/src/main.rs | 5 +- crates/snowbound/src/options.rs | 20 ++++- crates/snowbound/src/server.rs | 40 +++++++--- crates/snowbound/src/settings.rs | 5 ++ crates/snowbound/src/sidebar.rs | 12 +++ crates/snowbound/src/sync.rs | 47 ++++++++---- platform/windows/cargo.sh | 44 +++++++++++ platform/windows/link.sh | 13 ++++ tools/RELEASE.md | 14 +++- tools/canvas/README.md | 2 +- tools/canvas/build_macos.py | 15 +++- tools/release.py | 35 ++++----- tools/test_release.py | 28 +++++++ tools/w7/payload/bootstrap.cmd | 6 ++ tools/w7/unattend/autounattend.xml | 97 ++++++++++++++++++++++++ tools/w7/unattend/lab-setup.cmd | 24 ++++++ tools/w7/windows_media.py | 108 ++++++++++++++++++++++++++ 35 files changed, 822 insertions(+), 83 deletions(-)