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
13f42b0a9d
refactor(engine): move cmd/insert tests to cmd/insert/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
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
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
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
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
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
Dylan M. Taylor
e5cffe7641
Merge pull request #4233 from VoiceLessQ/fix/small-cleanups
...
Small fixes: MERGEFIELD in any case, 18 SonarCloud closures, one unused constructor
2026-10-25 16:45:39 -04:00
skylar taylor-barrick
fe9f6dbcc9
M0: reconcile current-main dialogs and canvas changes with egui 0.37
2026-10-25 17:03:15 +01:00
skylar taylor-barrick
42477bd806
M0: reconcile current main and classify double-space rewrites for egui 0.37
2026-10-25 16:47:30 +01:00
Max Murphy and Claude Opus 5.5
49731f3faa
#2982 : File ▸ Info Custom Document Properties dialog ( #2997 )
...
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-25 11:44:31 -04:00
Mex and Claude Opus 5.5
40a7fe6be2
Make three-column header/footer presets editable tables ( #2197 ) ( #2266 )
...
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-25 11:34:23 -04:00
NetterSilver and Claude Opus 5.5
d5f23907dc
Bound total LCS work per review.compare ( #4006 )
...
Fixes #3632
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-25 11:15:42 -04:00
skylar taylor-barrick
f7c49cb0f8
egui-037: reconcile main and protect IME undo and wrapped layout
2026-10-25 16:15:05 +01:00
0cb2af4f4b
AutoFormat As You Type: optional "Add a period with double-space", and an AutoCorrect Options button in Options › Proofing ( #2848 ) ( #3318 )
...
* AutoFormat As You Type: optional period with double-space, off by default (#2848 )
* Test the double-space option through the AutoCorrect dialog (#2848 )
* File > Options > Proofing: an AutoCorrect Options button opens the dialog (#476 )
* #2848 : report doubleSpacePeriod in tools.autocorrect's params doc and result
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
---------
Co-authored-by: Brandon Thomas <echelon@gmail.com >
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-25 11:11:20 -04:00
Dmitrii Khlapov and Dmitrii Khlapov
50a1c34647
#1475 : Scale all style font sizes at once ( #2620 )
...
Co-authored-by: Dmitrii Khlapov <19991457+dkhlapov@users.noreply.github.com >
2026-10-25 11:06:42 -04:00
NetterSilver and Claude Opus 5.5
b638caa2d2
Keep a document's own styles and defaults when applying a style set ( #4013 )
...
Fixes #3650
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-25 11:01:31 -04:00
Martin Ball and Claude Opus 5.5
85db9cfef5
#4177 : regex Replace expands capture groups ( #4201 )
...
* With Regular expressions on, Replace with reads $1…$n, ${n}, ${name}, $name,
$0/${0}, $$, \1…\9, \n (paragraph mark, splits the paragraph through the ^p
path), \t and \\, alongside the ^ codes. Named groups resolve through
meta::Regex::group_info(); missing, unknown and out-of-range groups expand to
nothing. Plain and wildcard Replace are unchanged.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
* #4177 : review — special:false keeps regex group references
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
* #4177 : review — \$ and \^ in regex Replace keep the character as typed
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
---------
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-10-25 10:53:13 -04:00
skylar taylor-barrick
5b46f9ba4d
M-egui037: fix fontless tests and document migration behavior
2026-10-25 15:24:23 +01:00
NetterSilver and Claude Haiku 5.5
77200f9c13
Indent a whole selected paragraph on Tab instead of replacing it ( #4291 )
...
Fixes #4285
Co-authored-by: Claude Haiku 5.5 <noreply@anthropic.com >
2026-10-25 10:04:21 -04:00
skylartaylor
5d428e408f
M-egui037: reconcile upstream and document migration review fixes
2026-10-25 06:42:20 +01:00