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
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
aiongg
16f6145cd3
Merge branch 'w1' into w2
2026-10-26 03:38:38 +00:00
aiongg
7d512a6905
Merge remote-tracking branch 'upstream/main' into w1
...
# Conflicts:
# Cargo.lock
# Cargo.toml
# NOTICE
# apps/wordcraft/Cargo.toml
# crates/engine/src/lib.rs
# crates/ui-egui/Cargo.toml
# docs/control-protocol.md
# docs/shared-pdf.md
2026-10-26 03:38:36 +00:00
aiongg
b9c074a543
W6: a window's input method joins and equation session stay with that window
2026-10-26 03:26:01 +00:00
aiongg
e900513104
Merge branch 'w3' into w6
...
# Conflicts:
# ROADMAP.md
# crates/engine/src/lib.rs
# crates/engine/src/session.rs
# crates/ui-egui/Cargo.toml
# crates/ui-egui/src/lib.rs
# docs/gaps.md
# docs/parity-checklist.md
# docs/ui-parity.md
2026-10-26 03:22:33 +00:00
aiongg
15090b9d81
Merge pull request #3109 from aiongg/panes-trial
...
Task panes: draw them with craft_ui::panes; Styles docks left or right or floats
2026-10-25 23:13:49 -04:00
aiongg
5632755be4
Merge branch 'w2' into w3
...
# Conflicts:
# Cargo.lock
# ROADMAP.md
# apps/wordcraft/src/main.rs
# crates/ui-egui/Cargo.toml
# crates/ui-egui/src/backstage.rs
# crates/ui-egui/src/control.rs
# crates/ui-egui/src/dialogs.rs
# crates/ui-egui/src/keys.rs
# crates/ui-egui/src/lib.rs
# crates/ui-egui/src/panes.rs
# crates/ui-egui/src/previews.rs
# docs/ui-parity.md
2026-10-26 03:09:46 +00:00
aiongg
645cbe52d4
Merge branch 'w1' into w2
...
# Conflicts:
# ROADMAP.md
2026-10-26 03:04:40 +00:00
aiongg
4576b8e624
W1: a command that ends in another document counts as a state change for the input method
2026-10-26 03:04:24 +00:00
aiongg
5e7790ea85
W1: requests a command makes in another document keep their document id when the queue is full
2026-10-26 03:03:36 +00:00
aiongg
4029a4e6fc
Merge remote-tracking branch 'upstream/main' into w1
...
# Conflicts:
# ROADMAP.md
# crates/engine/src/lib.rs
# crates/engine/src/session.rs
# crates/mcp/src/tools.rs
# crates/ui-egui/src/control.rs
# crates/ui-egui/src/i18n/bg.tsv
# crates/ui-egui/src/i18n/cs.tsv
# crates/ui-egui/src/i18n/da.tsv
# crates/ui-egui/src/i18n/de.tsv
# crates/ui-egui/src/i18n/es.tsv
# crates/ui-egui/src/i18n/et.tsv
# crates/ui-egui/src/i18n/fr.tsv
# crates/ui-egui/src/i18n/hr.tsv
# crates/ui-egui/src/i18n/hu.tsv
# crates/ui-egui/src/i18n/it.tsv
# crates/ui-egui/src/i18n/ja.tsv
# crates/ui-egui/src/i18n/ko.tsv
# crates/ui-egui/src/i18n/nl.tsv
# crates/ui-egui/src/i18n/pl.tsv
# crates/ui-egui/src/i18n/pt-br.tsv
# crates/ui-egui/src/i18n/ro.tsv
# crates/ui-egui/src/i18n/ru.tsv
# crates/ui-egui/src/i18n/sl.tsv
# crates/ui-egui/src/i18n/sr-latn.tsv
# crates/ui-egui/src/i18n/sr.tsv
# crates/ui-egui/src/i18n/sv.tsv
# crates/ui-egui/src/i18n/tr.tsv
# crates/ui-egui/src/i18n/uk.tsv
# crates/ui-egui/src/i18n/vi.tsv
# crates/ui-egui/src/i18n/zh-hans.tsv
# crates/ui-egui/src/i18n/zh-hant.tsv
# crates/ui-egui/src/lib.rs
# docs/gaps.md
# docs/mcp.md
# docs/parity-checklist.md
# docs/ui-parity.md
2026-10-26 03:01:45 +00:00
Dylan M. Taylor
282ebedc85
Merge branch 'main' into sonar/newcode-s3776-a
2026-10-25 22:47:08 -04:00
aiongg
3c25061bab
Merge remote-tracking branch 'upstream/main' into panes-trial
2026-10-26 02:44:26 +00:00
Dylan M. Taylor
adf33b6ba7
Merge branch 'main' into sec/j
2026-10-25 22:01:43 -04:00
Dylan M. Taylor
4fd9075e99
Sonar: split flood fill, CSV separator, noise collapse and numbered backspace
...
Extract helpers with unchanged behaviour to bring these functions under the
cognitive-complexity limit (S3776):
- engine cmd/objects.rs clear_background: border_pixels, run_span, push_open_runs.
- engine cmd/tools.rs collapse_noise_matches: flatten_region (Kind is now module-level).
- engine cmd/mailings.rs parse_csv: csv_separator, push_csv_row.
- engine cmd/text.rs backspace_inner: remove_number.
2026-10-25 21:30:49 -04:00
Martin Ball and Claude Opus 5.5
bcce02ab36
#3692 : confined automation adds or removes fonts only when the font store is inside its write root
...
Finding 44: font.add stored the file in the user font folder and
font.remove deleted stored files directly, bypassing the automation
write root (#769 ). Both now check the user font folder against the
write policy in force before touching the database or the disk; with no
folder (headless) a font still lasts for the session only.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-10-25 21:02:01 -04:00