Commit Graph
132 Commits
Author SHA1 Message Date
Dylan M. Taylor 382b047c30 Merge pull request #10223 from FredApps/ci/test-runtime-2026-10-29
test: partition long parity matrices without dropping cases
2026-10-30 07:12:16 -04:00
Dylan M. Taylor 0379569d00 CI: workflows only call craft-common-actions at @main (#10228)
AGENTS.md (and CLAUDE.md where present) gets a CI workflows section: workflows only call
craft-common-actions at @main, with no other jobs; feature and fix PRs don't touch CI and
link or open a craft-common-actions issue (a PR only for a small fix that is safe for
every app and does not increase CI time); legacy jobs
aren't added to and move only as their own task, staying until a shared workflow runs them.

windows-arm64.yml moves from its SHA pin to @main. The pinned revision is on
craft-common-actions main and the workflow (and the actions it calls) is identical
there, so nothing changes in behaviour.
2026-10-29 22:22:28 -04:00
FredApps a4ab4873e8 Merge current main, retain full-sweep and new benchmark inputs 2026-10-30 03:05:00 +01:00
FredApps 4f6ebb1b6e test: partition long parity matrices without dropping cases 2026-10-29 23:23:32 +01:00
FredApps 53dbfe280c Integrate 16 reviewed performance and usability PRs
Includes #8472 #8488 #9461 #9793 #9809 #9813 #9814 #9822 #9826 #9847 #9850 #9852 #9921 #9924 #9961 #10080 at reviewed heads.

Preserves each PR head as a parent. Reconciles CI workflow inputs and benchmark jobs without dropping checks. Excludes #8536 #9825 #9969 #10129. Combined CI pending; no manual validation claimed.
2026-10-29 14:31:15 +01:00
Khawar Zamman Wani fe6b95f172 fix(ci): compare padded mixer benchmark rows 2026-10-28 08:21:22 +05:30
Khawar Zamman Wani 5f03f1424b perf(paint): skip dry mixer canvas sampling 2026-10-28 08:09:49 +05:30
aiongg a9e6f73ac5 Merge remote-tracking branch 'upstream/main' into HEAD 2026-10-28 02:31:52 +00:00
aiongg b8b3586904 ci: use storytold/craft-common-actions at the merged installer-policy commit 2026-10-27 20:51:50 +00:00
Khawar Zamman Wani 47df5dedea perf(paint): cache round-tip geometry per dab 2026-10-27 18:10:05 +05:30
Jeremy bf4e8214fc fix(installer): correct the wizard and shortcut description in the release docs; harden install-policy checks 2026-10-27 12:01:33 +00:00
Jeremy f35b356f87 fix(installer): address scope and ARM64 review feedback 2026-10-27 12:01:33 +00:00
Jeremy c19d201748 feat(installer): default to a per-user ArtCraft folder 2026-10-27 12:01:33 +00:00
Khawar Zamman Wani 8324e278a1 perf(selection): combine GRAY8 masks directly in tiles 2026-10-27 12:42:18 +05:30
Khawar Zamman Wani 32e166b720 perf(selection): scope Color Range sampling to active bounds 2026-10-27 12:37:05 +05:30
aiongg a27436adcb Merge main into perf/selection-morphology
Resolves the move of crates/engine/src/selection_cmds.rs to cmd/selection_cmds.rs: the two hunks apply at the new path, and modify_window.rs with its tests moves under cmd/selection_cmds/.
2026-10-27 04:27:45 +00:00
skylar ddf9ca1e2d ci: require nextest 0.9.150
Use the fixed release for GHSA-vc25-qg58-w57c.
2026-10-26 14:13:00 -06:00
Khawar Zamman Wani 9282b12257 ci: run the GPU performance suite on its macOS runner class 2026-10-26 19:05:27 +05:30
Khawar Zamman Wani be43268ffa perf: crop Modify command mask conversion and selection replacement 2026-10-26 19:02:43 +05:30
Khawar Zamman Wani d781e3ae09 ci: install native dependencies for the quick performance suite 2026-10-26 18:34:50 +05:30
Khawar Zamman Wani 4244ec2b9e perf: crop selection morphology and bound small-radius distances 2026-10-26 18:33:35 +05:30
skylar taylor-barrick 819d863c4e ci: restore craft-common-actions tracking main 2026-10-26 04:27:36 +01:00
skylar taylor-barrick 1a67881144 Use reviewed optional-font coverage setup 2026-10-26 00:56:36 +01:00
skylar taylor-barrick bae0b9d290 Pin coverage workflow with immutable nested actions 2026-10-26 00:32:24 +01:00
skylar taylor-barrick 03993b949f Supply pinned fonts throughout instrumented coverage 2026-10-26 00:21:34 +01:00
Brennan Stehling 9010154943 docs: record a perf baseline from several nightly runs (#7494) 2026-10-25 16:04:30 -07:00
skylartaylor f632ef06cb Validate selected font faces before registration 2026-10-25 22:35:20 +01:00
skylartaylor 6f6e0d1793 Reconcile migration review fixes with published PhotoCraft changes 2026-10-25 20:07:13 +01:00
5c9192bbe2 Migrate PhotoCraft to egui 0.37 (#9363)
* egui037: name each control for what it sets, and order the eager fonts for the UI

CodeRabbit review follow-ups on the migration: the Artboard X/Y fields, the CAF
dropdowns, the channel Solidity field, the GPU backend/adapter dropdowns, the
corner radius fields and the canvas extension colour all had an accessible name
that named another control (or was shared by four). The eager craft-fonts
registration now puts the UI Japanese face first, as the lazy loader does, so
Japanese UI is not drawn in the manifest's Mincho face and shared Han characters
do not take Japanese forms.

Generated with Codebuff
Co-Authored-By: Codebuff <noreply@codebuff.com>

* egui037: rustfmt the eager craft-font order

---------

Co-authored-by: Dylan M. Taylor <dylan@dylanmtaylor.com>
Co-authored-by: Codebuff <noreply@codebuff.com>
2026-10-25 15:04:35 -04:00
Dylan M. Taylor b1f73ab821 Merge origin/main into the egui 0.37 migration
Reconcile 39 upstream commits: keep main's off-menu gallery zoom, folder-field
picker and Transform edit tolerance while keeping the migration's accessible
names, and use Id::unique for the ids main added.

The Windows legs build with the suite's craft-fonts input: the runner has no
Japanese or Simplified Chinese system font, and egui 0.37 panics on a missing
glyph, which failed the localized UI tests. The background-redraw test now
holds the worker after its first batch, so an edit during a redraw cannot lose
the race on a fast machine.

Generated with Codebuff
Co-Authored-By: Codebuff <noreply@codebuff.com>
2026-10-25 14:33:46 -04:00
Dylan M. Taylor 122e368c7b Merge pull request #8979 from storytold/dependabot/github_actions/actions-7bbd92ab7f
ci(deps): bump the actions group across 1 directory with 3 updates
2026-10-25 12:30:21 -04:00
skylar taylor-barrick c4498b7f0a M-egui037: fix font fallback, accessible controls and redraw scheduling 2026-10-25 15:59:40 +01:00
skylartaylor 14c059c971 M0.37: migrate PhotoCraft to egui 0.37
Reconcile main 486afd82cc while preserving reviewed lifecycle, capture, IME and settings migrations. Include canonical dependency pins and the generated lockfile.

All nine CI stages passed: 11,580 passing test executions, zero failures and 91 ignored across 93 summaries. Native/browser acceptance and paired app performance remain open.
2026-10-25 02:14:31 +01:00
David Mann 27caf2823b Merge remote-tracking branch 'origin/main' into integration-batch-7
# Conflicts:
#	crates/engine/Cargo.toml
2026-10-23 23:13:46 +02:00
Dylan M. Taylor 5521968828 ci(sonar): don't cancel superseded runs on main, so coverage is published 2026-10-23 16:47:12 -04:00
aiongg 7aaa59712a Merge main into integration-batch-7 2026-10-23 20:37:05 +00:00
dependabot[bot] cfb061c46a ci(deps): bump the actions group across 1 directory with 3 updates
Updates the requirements on [actions/checkout](https://github.com/actions/checkout), [dtolnay/rust-toolchain](https://github.com/dtolnay/rust-toolchain) and [actions/upload-artifact](https://github.com/actions/upload-artifact) to permit the latest version.

Updates `actions/checkout` from 4 to 7
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v4...v7)

Updates `dtolnay/rust-toolchain` to b725eda525362e7cf34af9a7243cac1e3f01a7ec
- [Release notes](https://github.com/dtolnay/rust-toolchain/releases)
- [Commits](https://github.com/dtolnay/rust-toolchain/commits/b725eda525362e7cf34af9a7243cac1e3f01a7ec)

Updates `actions/upload-artifact` from 4 to 7
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: dtolnay/rust-toolchain
  dependency-version: b725eda525362e7cf34af9a7243cac1e3f01a7ec
  dependency-type: direct:production
  dependency-group: actions
- dependency-name: actions/upload-artifact
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-23 20:10:08 +00:00
aiongg 4b51647955 Merge remote-tracking branch 'upstream/main' into xtask-ci-gate
# Conflicts:
#	xtask/src/main.rs
2026-10-23 19:44:29 +00:00
aiongg a75a414310 CI: cargo xtask ci is the gate, and the workflow runs it 2026-10-23 19:29:31 +00:00
aiongg 437b012794 Merge pull request #8951 from aiongg/shared-gate
CI: the Linux gate runs through the suite's shared gate workflow
2026-10-23 15:08:49 -04:00
Dylan M. Taylor 6da36b61f3 release: the git-sources gate moves into craft-common-actions (storytold/craft-common-actions#78) (#8952)
The check is shared at release.yml@main now; keep only the reusable call.
2026-10-23 14:41:09 -04:00
aiongg 9acf9a0cf9 CI: the Linux gate runs through the suite's shared gate workflow 2026-10-23 18:32:21 +00:00
aiongg 9f0f7bc604 Merge pull request #8032 from aiongg/stored-path-resolve
Linked files: resolve stored paths with craft-docpath's resolve_absolute
2026-10-23 13:38:16 -04:00
aiongg 7d9abd95af CI: the git-sources check parses .cargo/config and .cargo/config.toml
A source replacement, a patch or a path override in either cargo config never shows up in
Cargo.lock, so the check refuses them. Both files are parsed as TOML, as Cargo reads them.
2026-10-23 16:18:57 +00:00
Brandon ThomasandClaude Opus 5.5 ed1b6f4314 ci: run FreeBSD and Windows ARM64 checks on pushes to release
The release playbook runs the slow platform checks nightly and on every
push to release, so a regression shows up before a release is published.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 09:59:59 -04:00
aiongg a87b56b32a Merge upstream/main into stored-path-resolve 2026-10-23 05:08:54 +00:00
aiongg 82a7cfa3c5 CI: check the lockfile as Cargo reads it, and pin the release checkout
The git-sources step fails when Cargo.lock is missing or out of date with the manifests, when
.cargo/config.toml replaces or patches a source, or when the parsed lockfile has a git source outside
github.com/storytold. The release job's checkout is pinned to a commit.
2026-10-23 05:08:53 +00:00
David MannandClaude Opus 5.5 f5533e5d82 Integration: merge main into batch 6
Main merged #5940, #6472, #7838 and #7922 directly. Kept from the batch:
the snapshot/History-follow identity at the history limit (#5940,
c7ef3676a; main still had the 3-tuple HistorySpot) and the strokeless
shape at a 0 px width step (#6472, 962539607; main still added the
stroke). Main already carries the other two fix-ups (34c9d0ea4, dff8bfd0e).

Overlaps with main resolved:
- #5842 vs main's #5568: one path, apply_color, tool-gated as #5842
  has it, with #5568's float fill, kept fill opacity and lock skip;
  shape_fill_ui's duplicate foreground_changed/gesture dropped; #5568's
  tests run with a shape tool.
- #6230 vs main's #5180: one Type tool path click (path_target), no
  second type.attachToPath; vertical type does not start type on a path,
  as main has it; main's path_at/path_cursor and canvas arm dropped.
- #5452 moved the shape swatch to shape_paint_ui.rs: main's hex field
  (#6201) ported there.
- type_extra_cmds::with_text takes main's dpi form, pub(crate) for
  type_area_cmds.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 19:20:26 +02:00
aiongg 934eb71d84 Integration: merge main
crates/engine/src/file_cmds.rs: batch keeps the save-point closure (takes the output path) and also copies the session's authorize hook into each scratch session, as main now does.
crates/raw/src/sensor.rs: both sides cap the memory of retained tiles; kept the existing retained_segment_bytes check (checked multiplication, same limit) and dropped main's duplicate inline loop.
2026-10-22 15:39:51 +00:00
zuujiscom 1104b6f211 ci(freebsd): run the photocraft-gpu tests one at a time
The nightly FreeBSD run fails because the timing test binary crashes with
SIGSEGV in the VM's software Vulkan driver when its tests set up devices in
parallel. Run with --test-threads=1 it passed 3 of 3 times on GitHub's x86_64
and aarch64 VMs and on a native FreeBSD 15.1 aarch64 VM, where all 121
photocraft-gpu tests pass. Exclude photocraft-gpu from the workspace test run
and test it serially, as ui-egui's integration tests already are.
2026-10-22 07:21:29 -04:00