1# Pages copied between sections
2
3`candidate/copies.one` is the destination section
4`pages_copy_into_another_section_with_their_content_and_fresh_identities` in
5`crates/notebook/tests/copy.rs` builds: a section created in Rust into which
6`Section::import_page` copied one page from each of eight earlier rows (text
7with an attachment and its icon, a table, an inserted picture, a page-level
8ink drawing, note tags, bullets and numbering, equations, paragraph
9formatting) and the `table-edit/nested` pages whose indent levels the model
10can express (nested tables, cell subtrees, mixed languages; four outdent
11pages need outline groups and refuse), each as a page creation and a save
12queued through the replica
13and published to the file; the last copy (paragraph formatting) was then deleted permanently
14through `Section::delete_pages` (`expected-count.txt` is the page count
15left). Every object carries a fresh identity (`Page::copy`), paragraph
16styles become quick-style objects the writer creates from the copied
17definitions (OneNote exports their font, size and colour through
18`QuickStyleDef`, not on the runs), and payloads travelled inside the queued
19intents.
20
21`cold/` is a fresh OneNote 2010 read with a screenshot per page
22(`read/page-NNN.png`). `tools/test_page_copy.py` checks the content oracle
23and the page set without a VM. Regenerate with `NOTEBOOK_COPY_EXPORT` set to
24a new directory while running the test, then cold-open with
25`tools/native_runner.py OUTPUT COLD --expected-pages 9 --collect-notebook
26--screenshots`.