| 1 | # Rust ink authoring |
| 2 | |
| 3 | `drawing/candidate` is the page writer's output for |
| 4 | `an_ink_drawing_is_written_erased_stroke_by_stroke_and_removed` in |
| 5 | `crates/onestore/tests/page_ink.rs`: on a section created in Rust, a page-level |
| 6 | ink object with two strokes, a 60 pt square at (300, 120) and a red diagonal, |
| 7 | stored the way OneNote 2010 stores a mouse drawing |
| 8 | (`corpus/native-ink/cold-ui-ink`): an ink container listed as a page child, its |
| 9 | data node listing stroke objects, each stroke's coordinates as ISF multi-byte |
| 10 | first differences in HIMETRIC with its index, language, identity, time and |
| 11 | half-inch origin, and one drawing-attribute object per distinct pen carrying |
| 12 | the dimension table OneNote wrote. `drawing/cold` is a fresh OneNote 2010 |
| 13 | read: the `InkDrawing` reports the stroke extent as its position and size (one |
| 14 | HIMETRIC unit larger, as OneNote does) and `page-000.png` shows the square and |
| 15 | diagonal rendered. |
| 16 | |
| 17 | `handwriting/candidate` is the same drawing held by a new paragraph of the body |
| 18 | outline (`handwriting_is_written_as_paragraph_content`); `handwriting/cold` |
| 19 | shows OneNote accepting it as an `InkDrawing` inside the outline element, the |
| 20 | outline grown to contain the strokes' absolute page coordinates. |
| 21 | |
| 22 | `tools/test_ink_edit.py` checks both without a VM. Regenerate with |
| 23 | `ONESTORE_INK_EXPORT` and `ONESTORE_INK_PARAGRAPH_EXPORT` set to new absolute |
| 24 | directories while running the tests, then cold-open each with |
| 25 | `tools/native_runner.py OUTPUT COLD --expected-pages 1 --collect-notebook |
| 26 | --screenshots`. |
| 27 | |
| 28 | `native-mouse-over-text/` is OneNote 2010 receiving mouse strokes over an |
| 29 | outline's text and in empty space (`tools/native_handwriting.py`): both |
| 30 | became page-level `InkDrawing` objects. Mouse ink never produces |
| 31 | handwriting paragraphs or embedded ink in text runs, so those forms stay |
| 32 | read-only retained content until a pen-authored fixture exists. |