aiongg
ded9094f59
Integration: crates/model/src/chart.rs keeps main's CRLF line endings
2026-10-24 06:29:33 +00:00
aiongg
7c1ae73ead
Integration: #565 collapse the nested if in rtf_to_outline (clippy)
2026-10-24 06:29:33 +00:00
aiongg
36cd258bd2
Merge PR #883 : PPTX: paragraph builds edited in the reference app keep their clicks
...
ROADMAP.md: union of log rows. docs/animation-parity.md: main's header; the by-paragraph row from the PR, the triggers row from main; both revision rows.
2026-10-24 06:27:19 +00:00
aiongg
8957e193e9
Merge integration track r1-t02 (dialogs, view, text editing, panes, status bar, other)
...
ROADMAP.md, docs/gaps.md: union of both tracks' log rows.
2026-10-24 06:26:36 +00:00
aiongg
80e5506456
Integration: cargo fmt
2026-10-24 06:25:28 +00:00
aiongg
3a37fb6b7e
Integration: #565 rtf_to_outline never splits a multi-byte character after \u or \' escapes
2026-10-24 06:18:22 +00:00
aiongg
abd8768b65
Merge PR #565 : Files: save and open outlines as RTF
...
Conflicts:
crates/engine/src/cmd/file.rs: export spec keeps main's transparentBackground and adds rtf; probe_clips (main) and outline_text (PR) both kept
docs/file-format-parity.md: PR's outline row (RTF now read) with main's .md wording, main's PNG row
2026-10-24 06:18:03 +00:00
aiongg
882f1cbdbc
Merge PR #1075 : Indent table rows in outline export so they stay on their slide
2026-10-24 06:17:37 +00:00
aiongg
bb5da2036d
Merge PR #978 : Hide the slide show media controls when the pointer is idle ( #967 )
...
Conflicts: crates/ui-egui/src/show.rs (test module: kept both sides' tests)
2026-10-24 06:17:37 +00:00
aiongg
5b5fd5eabe
Merge PR #1109 : Reuse Slides: choose which slides of the other file to insert
...
Conflicts: ROADMAP.md (union of both sides' rows)
2026-10-24 06:17:26 +00:00
aiongg
2693336155
Merge PR #809 : Design: Browse for Themes brings a template's slide master and layouts ( #807 )
...
Conflicts: ROADMAP.md (union of both sides' rows)
2026-10-24 06:17:23 +00:00
aiongg
f52c911959
Integration: #927 Header & Footer dialog sends dateFormat only when picked; set_date doc comment back above set_date
...
Without it, Apply rewrote every slide's existing date field to datetime1.
2026-10-24 06:17:19 +00:00
aiongg
0313e0128a
Merge PR #850 : Review: reject revisions after Compare, one or all
...
ROADMAP.md, docs/gaps.md: kept main's lines and the PR's single added line in each table.
2026-10-24 06:16:50 +00:00
aiongg
5880086522
Merge PR #927 : Header & Footer: the automatic date takes a format
2026-10-24 06:16:45 +00:00
aiongg
b7c505a389
Merge PR #1254 : Reject invalid index in slide.hide and slide.layout
...
Conflicts: crates/engine/src/tests.rs (appended both sides' tests)
2026-10-24 06:16:45 +00:00
aiongg
987f49ac03
Merge PR #1252 : Reject '+'-signed numeric character references in HTML paste
2026-10-24 06:16:43 +00:00
aiongg
92724e02bb
Merge PR #1205 : Design Ideas: no ideas for slides with diagrams, connectors or other graphics ( #1200 )
...
Conflicts: crates/engine/src/cmd/ideas.rs (test module: kept both sides' tests)
2026-10-24 06:16:39 +00:00
aiongg
0b6ea6a287
Integration: #1244 test that a long language name leaves the Notes button clickable
2026-10-24 06:16:38 +00:00
aiongg
29cc5f83bd
Integration: #833 drop the leftover PNG debug hook from the Edit Points menu test
2026-10-24 06:16:27 +00:00
aiongg
c480b74a3f
Merge PR #833 : Shapes: Edit Points — Straight/Curved Segment and Open/Close Path from the right-click menu
...
Conflicts: ROADMAP.md docs/gaps.md docs/ui-parity.md (union of both sides' rows)
2026-10-24 06:16:21 +00:00
aiongg
2fd32751cc
Merge PR #1251 : Fix arrange.distribute span to use the selection's full extent
2026-10-24 06:16:21 +00:00
aiongg
78afd2fc45
Merge PR #1245 : Title: arrange.group: nest groups at most 32 deep
2026-10-24 06:16:18 +00:00
aiongg
b280f7755d
Merge PR #846 : Canvas: the Format and Animation Painter override the cursor ( #830 )
...
Conflicts: crates/ui-egui/src/canvas.rs (cursor match: kept #806 's resize_cursor arm inside #846 's painter-armed wrapper)
2026-10-24 06:16:18 +00:00
aiongg
84702f3810
Merge PR #806 : Canvas: the resize cursor follows the handle's rotated diagonal ( #745 )
...
Conflicts: ROADMAP.md (union of both sides' rows)
2026-10-24 06:16:06 +00:00
aiongg
be5413826c
Merge PR #848 : Render: quick styles render on empty placeholder text boxes ( #832 )
...
Conflicts: ROADMAP.md (union of rows)
2026-10-24 06:16:06 +00:00
aiongg
2109dfa03c
Merge PR #1244 : Status bar: keep a long language name from overlapping
2026-10-24 06:15:59 +00:00
aiongg
e6f7648219
Integration: #945 allow unwrap and expect in the thumbs tests module
2026-10-24 06:15:59 +00:00
aiongg
3aa8f4b8b1
Merge PR #1016 : Render: table body text on tinted cells picks the theme colour that contrasts with the fill, so default tables stay readable on dark themes
2026-10-24 06:15:56 +00:00
aiongg
4f56789f45
Merge PR #945 : Thumbnails: navigating slides scrolls the pane to keep the current slide visible ( #917 )
...
ROADMAP.md: kept all table lines.
2026-10-24 06:15:56 +00:00
aiongg
f2e2fcaba4
Merge PR #1015 : Chart text can be coloured (chart.options textColor, format.color) and follows the theme by default
...
Conflicts: crates/engine/src/cmd/insert.rs (kept main's apply_bin_options / apply_subtotals_and_bars helpers and added the textColor assignment)
2026-10-24 06:15:53 +00:00
aiongg
6971d55345
Merge PR #799 : Text boxes: a click on the frame selects the box whole ( #787 )
...
docs/ui-parity.md: kept main's status header lines; the PR's older header dropped, its new table row kept.
2026-10-24 06:15:50 +00:00
aiongg
aed303e504
Integration: #956 chart.options dataLabels resets the series' own settings
...
Without it, turning Data Labels on did nothing for an imported chart whose series read showVal 0.
2026-10-24 06:15:41 +00:00
aiongg
c7388bd1ed
Merge PR #320 : Text: Tab no longer ends text entry in lists ( #93 )
...
crates/ui-egui/src/lib.rs: keyboard() keeps main's image-paste event scan and adds the PR's focus surrender (one shared modal flag); both new tests kept (typing_goes_on_after_tab_in_a_text_box, tab_in_an_edited_list_keeps_the_keyboard).
2026-10-24 06:15:41 +00:00
aiongg
cac379b5ee
Merge PR #956 : Charts: a series' own data-label setting decides whether its labels show ( #868 )
...
Conflicts: crates/model/src/chart.rs (kept series_data_labels and main's waterfall_value_range split; value_range stays where main has it)
2026-10-24 06:15:05 +00:00
aiongg
7fd34fb359
Merge PR #813 : engine: a hostile text selection can't drive paragraph commands past the body
2026-10-24 06:15:03 +00:00
aiongg
5827d3b4c1
Merge PR #904 : Clamp text.selectParagraph paragraph index to avoid overflow
2026-10-24 06:15:03 +00:00
aiongg
f6597e0259
Merge PR #1043 : Replace Fonts test: a window wide enough to hold Home's ribbon
2026-10-24 06:15:03 +00:00
aiongg
f8a70063f7
Merge PR #965 : Tests: Ctrl+A in the slide sorter selects every slide ( #936 )
...
ROADMAP.md: kept both table lines.
2026-10-24 06:15:03 +00:00
aiongg
601a20ecf6
Merge PR #805 : Preferences: checkboxes and slider rails show in light mode
2026-10-24 06:14:58 +00:00
aiongg
ca0e1a300a
Merge PR #1208 : Theme: text fields show in the light theme ( #1204 )
...
crates/ui-egui/src/lib.rs: kept both test modules (field_frame_tests, find_dialog_tests).
2026-10-24 06:14:58 +00:00
aiongg
ee721e26dd
Merge PR #1198 : Make chart axis flatness thresholds relative to data magnitude
2026-10-24 06:14:53 +00:00
aiongg
a1c92dc6c5
Merge PR #1146 : Charts: bars draw their series' pattern fill and no fill
...
Conflicts: ROADMAP.md (union of progress-log rows)
2026-10-24 06:14:53 +00:00
aiongg
a774f01199
Merge PR #962 : Tests: the Options dialog's Cancel, Esc and the close button restore the settings ( #878 )
...
crates/ui-egui/src/dialogs.rs: kept both test modules (about_credits_tests, preferences_tests).
2026-10-24 06:14:48 +00:00
aiongg
e56c62c260
Merge PR #793 : UI: close About dialog on Cancel and test Options Cancel from File tab ( #782 )
2026-10-24 06:14:39 +00:00
dotCooCoo
e04ef2b4a8
Text: AutoFormat starts bulleted and numbered lists as you type
...
A paragraph that starts with *, -, --, >, <>, 1., 1), I., i., A., a.
or a) followed by a space or tab now becomes a bulleted or numbered
list in that style through format.bullets or format.numbering, and the
typed lead and space are removed. The keystroke is one undo step.
Backspace right after the change puts the typed text and the
paragraph's formatting back.
Tools ▸ AutoCorrect has "Automatic bulleted and numbered lists" to turn
it off, and text.autocorrect takes and reports it as lists.
2026-10-23 22:06:56 -07:00
5fadda5ecf
chore: resolve SonarCloud maintainability issues ( #1255 )
...
* chore: resolve SonarCloud maintainability issues
* fix: address shellcheck SC2059 and fix generic cast ambiguity
* style: apply rustfmt formatting
* fix: restore compile and behaviour in Sonar refactors
- fonts: char::is_alphanumeric takes &self, so filter needs a closure
- h264: keep the mvd accumulator as i32 (prefix is usize)
- model: annotate the non-stacked range accumulators as f64
- engine: chart.options still clears the raw chart XML for upDownBars
and quartiles; smartart goes back to the glob import (cmd! macro)
- web: keep the original viewport meta (behaviour change)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
* Assign positional parameters to locals in sha256 verification
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
Co-authored-by: Dylan Taylor <dylan@craftmaker.dev >
2026-10-23 23:28:09 -04:00
aiongg
b913c4f9d0
PDF: pin craft-pdf and krilla to craft-libs main ( #1253 )
...
* PDF: pin craft-pdf and krilla to craft-libs main (PNG decode bound)
* PDF: pin craft-pdf and krilla to craft-libs at 9f75d3dc (#254 )
2026-10-23 22:37:28 -04:00
NetterSilver and Claude Haiku 5.5
6d7b32351f
Reject invalid index in slide.hide and slide.layout
...
Found while testing crates/engine/src/cmd/slide.rs:376 (hide); same pattern at slide.rs:445
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-24 02:16:19 +00:00
NetterSilver and Claude Haiku 5.5
fc914a059c
Reject '+'-signed numeric character references in HTML paste
...
Found while testing crates/engine/src/cmd/richclip.rs:301-304 (numeric_char, used by decode_text)
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-24 01:23:11 +00:00
NetterSilver and Claude Haiku 5.5
18e8bb0ded
Fix arrange.distribute span to use the selection's full extent
...
Found while testing crates/engine/src/cmd/arrange.rs:325-327 (distribute)
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-24 01:07:34 +00:00