fix(hatch): pattern-scale edits take effect + background on/off

Property edits on a hatch were invisible: fills render from the
prebuilt model cache, which move/copy refreshed but the properties
path never did — so a pattern-scale change (which must also rescale
the stored final pattern lines by the ratio) changed nothing on
screen (#415). invalidate_property_targets now rebuilds the edited
fill's cached model via Scene::refresh_fill_model.

The background row gains an on/off box: off removes the
HATCHBACKGROUNDCOLOR record entirely (the colour could never be
reverted before), on seeds ByLayer. The codec covers the full
colour-method range (ByLayer / ByBlock / RGB / ACI) and the backdrop
resolves ByLayer / ByBlock through the style chain. "More Colors…" on
the background picker now opens the palette window targeting the
background colour — it used to just close the picker.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Hakan Seven 2026-07-21 12:22:15 +03:00
commit 9bfcad18b9
6 changed files with 154 additions and 16 deletions

View file

@ -831,6 +831,8 @@ pub enum ColorPickTarget {
Table(u8, &'static str),
/// Selected entities' colour (left properties panel).
Properties,
/// Selected entities' background colour (hatch / MTEXT background row).
PropertiesBg,
/// Current creation colour (ribbon).
Ribbon,
/// A layer's colour, by panel row index.