create mode 100644 corpus/ink-tools/README.md create mode 100644 corpus/ink-tools/drawn/candidate/Open Notebook.onetoc2 create mode 100644 corpus/ink-tools/drawn/candidate/ink.one create mode 100644 corpus/ink-tools/drawn/cold/commands.jsonl create mode 100644 corpus/ink-tools/drawn/cold/machine.json create mode 100644 corpus/ink-tools/drawn/cold/notebook/Open Notebook.onetoc2 create mode 100644 corpus/ink-tools/drawn/cold/notebook/ink.one create mode 100644 corpus/ink-tools/drawn/cold/read/environment.json create mode 100644 corpus/ink-tools/drawn/cold/read/hierarchy.xml create mode 100644 corpus/ink-tools/drawn/cold/read/page-000.navigation.json create mode 100644 corpus/ink-tools/drawn/cold/read/page-000.png create mode 100644 corpus/ink-tools/drawn/cold/read/page-000.xml create mode 100644 corpus/ink-tools/drawn/cold/read/payloads.json create mode 100644 corpus/ink-tools/drawn/cold/run.json create mode 100644 corpus/ink-tools/drawn/cold/scripts/cold.ps1 create mode 100644 corpus/ink-tools/drawn/cold/scripts/read.ps1 create mode 100644 corpus/ink-tools/drawn/cold/source.json create mode 100644 corpus/ink-tools/drawn/cold/teardown.json create mode 100644 corpus/ink-tools/edited/candidate/Open Notebook.onetoc2 create mode 100644 corpus/ink-tools/edited/candidate/ink.one create mode 100644 corpus/ink-tools/edited/cold/commands.jsonl create mode 100644 corpus/ink-tools/edited/cold/machine.json create mode 100644 corpus/ink-tools/edited/cold/notebook/Open Notebook.onetoc2 create mode 100644 corpus/ink-tools/edited/cold/notebook/ink.one create mode 100644 corpus/ink-tools/edited/cold/read/environment.json create mode 100644 corpus/ink-tools/edited/cold/read/hierarchy.xml create mode 100644 corpus/ink-tools/edited/cold/read/page-000.navigation.json create mode 100644 corpus/ink-tools/edited/cold/read/page-000.png create mode 100644 corpus/ink-tools/edited/cold/read/page-000.xml create mode 100644 corpus/ink-tools/edited/cold/read/page-001.navigation.json create mode 100644 corpus/ink-tools/edited/cold/read/page-001.png create mode 100644 corpus/ink-tools/edited/cold/read/page-001.xml create mode 100644 corpus/ink-tools/edited/cold/read/page-002.navigation.json create mode 100644 corpus/ink-tools/edited/cold/read/page-002.png create mode 100644 corpus/ink-tools/edited/cold/read/page-002.xml create mode 100644 corpus/ink-tools/edited/cold/read/page-003.navigation.json create mode 100644 corpus/ink-tools/edited/cold/read/page-003.png create mode 100644 corpus/ink-tools/edited/cold/read/page-003.xml create mode 100644 corpus/ink-tools/edited/cold/read/page-004.navigation.json create mode 100644 corpus/ink-tools/edited/cold/read/page-004.png create mode 100644 corpus/ink-tools/edited/cold/read/page-004.xml create mode 100644 corpus/ink-tools/edited/cold/read/payloads.json create mode 100644 corpus/ink-tools/edited/cold/run.json create mode 100644 corpus/ink-tools/edited/cold/scripts/cold.ps1 create mode 100644 corpus/ink-tools/edited/cold/scripts/read.ps1 create mode 100644 corpus/ink-tools/edited/cold/source.json create mode 100644 corpus/ink-tools/edited/cold/teardown.json create mode 100644 corpus/ink-tools/native-ui/commands.jsonl create mode 100644 corpus/ink-tools/native-ui/machine.json create mode 100644 corpus/ink-tools/native-ui/read/environment.json create mode 100644 corpus/ink-tools/native-ui/read/hierarchy.xml create mode 100644 corpus/ink-tools/native-ui/read/page-000.navigation.json create mode 100644 corpus/ink-tools/native-ui/read/page-000.png create mode 100644 corpus/ink-tools/native-ui/read/page-000.xml create mode 100644 corpus/ink-tools/native-ui/read/page-001.navigation.json create mode 100644 corpus/ink-tools/native-ui/read/page-001.png create mode 100644 corpus/ink-tools/native-ui/read/page-001.xml create mode 100644 corpus/ink-tools/native-ui/read/page-002.navigation.json create mode 100644 corpus/ink-tools/native-ui/read/page-002.png create mode 100644 corpus/ink-tools/native-ui/read/page-002.xml create mode 100644 corpus/ink-tools/native-ui/read/page-003.navigation.json create mode 100644 corpus/ink-tools/native-ui/read/page-003.png create mode 100644 corpus/ink-tools/native-ui/read/page-003.xml create mode 100644 corpus/ink-tools/native-ui/read/page-004.navigation.json create mode 100644 corpus/ink-tools/native-ui/read/page-004.png create mode 100644 corpus/ink-tools/native-ui/read/page-004.xml create mode 100644 corpus/ink-tools/native-ui/read/payloads.json create mode 100644 corpus/ink-tools/native-ui/run.json create mode 100644 corpus/ink-tools/native-ui/scripts/cold.ps1 create mode 100644 corpus/ink-tools/native-ui/scripts/read.ps1 create mode 100644 corpus/ink-tools/native-ui/source.json create mode 100644 corpus/ink-tools/native-ui/teardown.json create mode 100644 corpus/recording/README.md create mode 100644 corpus/recording/candidate/Open Notebook.onetoc2 create mode 100644 corpus/recording/candidate/Recorded.one create mode 100644 corpus/recording/cold/commands.jsonl create mode 100644 corpus/recording/cold/machine.json create mode 100644 corpus/recording/cold/notebook/Open Notebook.onetoc2 create mode 100644 corpus/recording/cold/notebook/Recorded.one create mode 100644 corpus/recording/cold/read/36b0ffb210410ba1e1afffb66c6817f76261c422c4a083ab7f721cb94b186087.attachment create mode 100644 corpus/recording/cold/read/environment.json create mode 100644 corpus/recording/cold/read/hierarchy.xml create mode 100644 corpus/recording/cold/read/page-000.navigation.json create mode 100644 corpus/recording/cold/read/page-000.png create mode 100644 corpus/recording/cold/read/page-000.xml create mode 100644 corpus/recording/cold/read/payloads.json create mode 100644 corpus/recording/cold/run.json create mode 100644 corpus/recording/cold/scripts/cold.ps1 create mode 100644 corpus/recording/cold/scripts/read.ps1 create mode 100644 corpus/recording/cold/source.json create mode 100644 corpus/recording/cold/teardown.json create mode 100644 corpus/recording/edit/candidate/Open Notebook.onetoc2 create mode 100644 corpus/recording/edit/candidate/files.one create mode 100644 corpus/recording/edit/cold/commands.jsonl create mode 100644 corpus/recording/edit/cold/machine.json create mode 100644 corpus/recording/edit/cold/notebook/Open Notebook.onetoc2 create mode 100644 corpus/recording/edit/cold/notebook/files.one create mode 100644 corpus/recording/edit/cold/read/b20a14e044e33eac39b4665e7d79813b8a3672dbbd27ed9d2e4ac866c13ec4b6.attachment create mode 100644 corpus/recording/edit/cold/read/c41bd6bd61277bdc4bf3557b5572be5c08451ba5b4665aba662ac1280d907ca3.attachment create mode 100644 corpus/recording/edit/cold/read/environment.json create mode 100644 corpus/recording/edit/cold/read/hierarchy.xml create mode 100644 corpus/recording/edit/cold/read/page-000.navigation.json create mode 100644 corpus/recording/edit/cold/read/page-000.png create mode 100644 corpus/recording/edit/cold/read/page-000.xml create mode 100644 corpus/recording/edit/cold/read/page-001.navigation.json create mode 100644 corpus/recording/edit/cold/read/page-001.png create mode 100644 corpus/recording/edit/cold/read/page-001.xml create mode 100644 corpus/recording/edit/cold/read/payloads.json create mode 100644 corpus/recording/edit/cold/run.json create mode 100644 corpus/recording/edit/cold/scripts/cold.ps1 create mode 100644 corpus/recording/edit/cold/scripts/read.ps1 create mode 100644 corpus/recording/edit/cold/source.json create mode 100644 corpus/recording/edit/cold/teardown.json create mode 100644 corpus/recording/native/attached/files.one create mode 100644 corpus/recording/native/deleted/files.one create mode 100644 corpus/recording/native/notebook/Open Notebook.onetoc2 create mode 100644 corpus/recording/native/notebook/files.one create mode 100644 corpus/recording/native/read/onenote-linked-notes.png create mode 100644 corpus/recording/native/read/onenote-plays-ima-adpcm.png create mode 100644 corpus/recording/native/read/onenote-recording-tab.png create mode 100644 corpus/recording/native/read/page-recorded.xml create mode 100644 corpus/recording/played-from-note.png create mode 100644 crates/canvas/src/editor/ink.rs create mode 100644 crates/canvas/src/editor/recording.rs create mode 100644 crates/canvas/src/interaction/ink.rs create mode 100644 crates/canvas/tests/ink_tools.rs create mode 100644 crates/canvas/tests/recording.rs delete mode 100644 crates/notebook/examples/launch_probe.rs delete mode 100644 crates/onestore/examples/ink_lab.rs delete mode 100644 crates/onestore/examples/scratch_dump.rs create mode 100644 crates/snowbound/assets/icons/eraser.svg create mode 100644 crates/snowbound/assets/icons/lasso.svg create mode 100644 crates/snowbound/assets/icons/pen.svg create mode 100644 crates/snowbound/assets/icons/select.svg create mode 100644 crates/snowbound/assets/icons/shape-arrow.svg create mode 100644 crates/snowbound/assets/icons/shape-line.svg create mode 100644 crates/snowbound/assets/icons/shape-oval.svg create mode 100644 crates/snowbound/assets/icons/shape-rectangle.svg create mode 100644 crates/snowbound/assets/icons/shapes.svg create mode 100644 crates/snowbound/src/media_linux.rs create mode 100644 crates/snowbound/src/media_macos.rs create mode 100644 crates/snowbound/src/recording.rs create mode 100644 tools/test_ink_tools.py create mode 100644 tools/test_recording.py