vangel76 and Claude Sonnet 5.5
d95cb46da5
Merge upstream/main into feat/322-view-windows
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-29 22:22:47 +01:00
OPUZZLES
01a1bf3921
M9: assert unused recipient labels are empty ( #4880 )
2026-10-29 18:14:46 +01:00
OPUZZLES
5a9e414d1e
M9: generate all recipient label sheets ( #4880 )
2026-10-29 17:49:08 +01:00
Dylan M. Taylor
ab91e9f96c
Deflake the IME epoch test
2026-10-28 01:06:49 +00:00
Dylan M. Taylor
a2435388e5
Refactor engine for strict Clippy checks
2026-10-28 01:06:48 +00:00
vangel76 and Claude Sonnet 5.5
a449c59232
Merge upstream/main into feat/322-view-windows
...
Main split the session, the control handler, the app and the ribbon into modules; the
View Window hooks are reapplied to the new locations.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-27 20:12:37 +01:00
NetterSilver and Claude Opus 5.5
8cdc172171
Lay out the paragraph after a kept heading once
...
A paragraph with keep with next measures the paragraph after it before it is
placed (next_first_line). That measurement called layout_para directly, so
every paragraph following a heading was laid out twice in each layout pass:
once to measure it and once, through the cache, when it was placed.
The measurement now goes through the layout cache under the key
para_labelled uses (Ctx::para_ahead) when its inputs are the same: no
proofing, no typed word, not inside a text box, no inline text boxes that
resize, the body's tracked-deletion view. Otherwise it is laid out on its
own as before. It counts nothing (list labels, equation numbers and the
page-total flag are restored), so pagination is unchanged.
Adds crates/engine/examples/export_bench.rs, which saves a long generated
document (the sample document 200 times, 259 pages) through io::save_bytes
and prints wall times:
cargo run --release -p wordcraft-engine --example export_bench -- pdf 200 9
PDF export on that document, interleaved with main (Ryzen, 16 threads):
median 286 ms -> 256 ms (-10.6 %). The PDF bytes are identical.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-27 13:39:09 +01:00
aiongg
0404b4199a
test: file_access scan stops only at inline test modules
2026-10-26 22:10:26 +00:00
aiongg
835704f870
refactor(engine): move session::ime_state to the crate root as ime
2026-10-26 21:16:49 +00:00
aiongg
39336fe844
refactor(engine): move session::snapshot_types to the crate root as snapshot
2026-10-26 21:16:49 +00:00
aiongg
5a311f4615
refactor(engine): move session::prefs to the crate root as prefs
2026-10-26 21:16:49 +00:00
aiongg
8f1f3c6132
refactor(engine): move session::view to the crate root as view
2026-10-26 21:16:49 +00:00
aiongg
e027a4244b
refactor(engine): move session::doc_state to the crate root as doc_state
2026-10-26 21:16:49 +00:00
aiongg
3c4d7adc87
refactor(engine): move session::locale to the crate root as locale
2026-10-26 21:16:49 +00:00
aiongg
cfa90220d9
refactor(engine): split session.rs into session/
2026-10-26 21:16:49 +00:00
aiongg
8f10bd1b9f
refactor(engine): split cmd/table.rs into table/
2026-10-26 21:16:49 +00:00
aiongg
a82063e50a
refactor(engine): split cmd/insert.rs into insert/
2026-10-26 21:16:49 +00:00
aiongg
342de16153
refactor(engine): split cmd/text.rs into text/
2026-10-26 21:16:49 +00:00
aiongg
d66f34b774
refactor(engine): split cmd/references.rs into references/
2026-10-26 21:16:49 +00:00
aiongg
0a6c7605f6
refactor(engine): split cmd/para.rs into para/
2026-10-26 21:16:49 +00:00
aiongg
fbc95e1e10
refactor(engine): split cmd/citations.rs into citations/
2026-10-26 21:16:49 +00:00
aiongg
fac4b550c1
refactor(engine): split cmd/mailings.rs into mailings/
2026-10-26 21:16:49 +00:00
aiongg
cc728757f5
refactor(engine): split cmd/review.rs into review/
2026-10-26 21:16:49 +00:00
aiongg
3d458a08b6
refactor(engine): split cmd/tools.rs into tools/
2026-10-26 21:16:49 +00:00
aiongg
dabc31eb83
refactor(engine): move cmd/tools tests to tools/tests.rs
2026-10-26 21:16:49 +00:00
aiongg
03f5df4bba
refactor(engine): split cmd/objects.rs into objects/
2026-10-26 21:16:49 +00:00
aiongg
fb09da5dc4
refactor(engine): move tests_*.rs files to tests/
2026-10-26 20:54:02 +00:00
aiongg
13f42b0a9d
refactor(engine): move cmd/insert tests to cmd/insert/tests.rs
2026-10-26 20:54:02 +00:00
aiongg
f7c3f3d564
refactor(engine): move speech tests to speech/tests.rs
2026-10-26 20:54:02 +00:00
aiongg
1d06547f06
refactor(engine): move cmd/page tests to cmd/page/tests.rs
2026-10-26 20:54:02 +00:00
aiongg
e911006f2d
refactor(engine): move cmd/draw tests to cmd/draw/tests.rs
2026-10-26 20:54:02 +00:00
aiongg
fbf8340132
refactor(engine): move cmd/table_resize tests to cmd/table_resize/tests.rs
2026-10-26 20:54:02 +00:00
aiongg
f2f25f9363
refactor(engine): move cmd/ink_shape tests to cmd/ink_shape/tests.rs
2026-10-26 20:54:02 +00:00
aiongg
6e63f6cb28
refactor(engine): move cmd/references tests to cmd/references/tests.rs
2026-10-26 20:54:02 +00:00
aiongg
a2d1ec38b7
refactor(engine): move cmd/equation tests to cmd/equation/tests.rs
2026-10-26 20:54:02 +00:00
aiongg
7bf497b392
refactor(engine): move recovery/desktop tests to recovery/desktop/tests.rs
2026-10-26 20:54:02 +00:00
aiongg
ebce2b4d49
refactor(engine): move cmd/mailings tests to cmd/mailings/tests.rs
2026-10-26 20:54:02 +00:00
aiongg
a1d7b85a27
refactor(engine): move cmd/table_mouse tests to cmd/table_mouse/tests.rs
2026-10-26 20:54:02 +00:00
aiongg
c94f586da2
refactor(engine): move cmd/citations tests to cmd/citations/tests.rs
2026-10-26 20:54:02 +00:00
aiongg
49c1b35fec
refactor(engine): move cmd/protect tests to cmd/protect/tests.rs
2026-10-26 20:54:02 +00:00
aiongg
e8692c4aff
refactor(engine): move cmd/review tests to cmd/review/tests.rs
2026-10-26 20:54:02 +00:00
aiongg
3a3d4f60e2
refactor(engine): move cmd/objects tests to cmd/objects/tests.rs
2026-10-26 20:54:02 +00:00
aiongg
5dd48bc7a0
refactor(engine): move crates/engine/src/cmd/mod.rs to crates/engine/src/cmd.rs
2026-10-26 20:54:01 +00:00
aiongg
33350b3833
test: scan source directories recursively
2026-10-26 20:54:01 +00:00
Dylan M. Taylor
02120c84f7
Sonar: reduce cognitive complexity in replace parser and reroute tests
2026-10-26 16:52:04 -04:00
Dylan M. Taylor
d859c673c1
Sonar: reduce cognitive complexity in highlight, review and outline commands
2026-10-26 16:01:36 -04:00
vangel76 and Claude Sonnet 5.5
841dd538dc
Merge upstream/main into feat/322-view-windows
...
Main now gives every document its own native window in one process, with Switch Windows and
New Window. Drop the one-process-per-window registry and peer channel and build Arrange All,
View Side by Side and Synchronous Scrolling on those windows: the drawn window sees the others
by window id, tiles and halves are placed through the windows' viewports, and the scrolling is
handed to the partner window in document points.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-26 19:46:57 +01:00
Dylan M. Taylor
ab0eccd254
Merge pull request #4377 from storytold/sonar/newcode-s3776-a
...
Sonar: reduce cognitive complexity in four engine commands
2026-10-26 01:14:55 -04:00
aiongg
503a533e65
Merge branch 'w3' into w6
...
# Conflicts:
# crates/engine/src/lib.rs
2026-10-26 03:40:48 +00:00
aiongg
27068500dd
Merge branch 'w2' into w3
...
# Conflicts:
# crates/ui-egui/Cargo.toml
# crates/ui-egui/src/panes.rs
2026-10-26 03:40:18 +00:00