mirror of
https://github.com/aphrody-labs/cadcraft.git
synced 2026-10-13 19:26:54 +00:00
* DXF/DWG: keep hatch gradients through save and reopen (fixes #80) The HATCH writer never emitted a gradient and the reader always set `gradient: None`, so a GRADIENT fill reopened as a plain SOLID hatch after any DXF or DWG save. - Writer: native HATCH groups per the DXF Reference (450 gradient flag, 451, 452 two-colour, 453 colour count, 460 angle in radians, 461 shift (0 = centered), 462 tint, 463 per-colour records with 63 ACI and 421 true colour, 470 name), plus a `CADCRAFT` `GRADIENT` xdata copy (name cut to 255 bytes, angle, centered, colour names). - Reader: native groups win when present (another program may have edited them); otherwise the xdata copy is used. The xdata is what survives DWG saves: the file is R2000 (AC1015), whose DWG HATCH has no gradient fields, so the DWG bridge drops the native groups. - Hostile values (NaN angles, out-of-range colours, extra colour records, missing groups) fall back to the GRADIENT command's defaults. Tests: gradient_hatch_roundtrips_through_dxf, gradient_hatch_roundtrips_through_dwg, gradient_falls_back_to_xdata_and_native_groups_win, long_gradient_name_is_cut_only_in_xdata, hostile_gradient_groups_never_panic. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * contributors: add vangel76 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Gradient test: expect \U+ escapes now that non-ASCII text is escaped (#169) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Brandon Thomas <echelon@gmail.com>
31 lines
1.2 KiB
TOML
31 lines
1.2 KiB
TOML
# Contributor names for the About window (craftrules standards/contributors.md).
|
|
#
|
|
# Everyone who contributes is credited by GitHub username automatically. Anything more is up to
|
|
# you: add YOUR OWN entry below, in your own PR (commit it yourself). Never add someone else; a
|
|
# maintainer may add a person only when that person asked, recording where in consent_source.
|
|
#
|
|
# Easiest: python3 ../../craftrules/scripts/contributors.py --add-me . \
|
|
# [--real-name "Ada Lovelace"] [--display-name "Ada"] [--sync-github-name]
|
|
#
|
|
# Or copy this block, replacing your-github-username (every field is optional):
|
|
#
|
|
# [people.your-github-username]
|
|
# real_name = "Your Name" # shown when the viewer picks "Real name"
|
|
# display_name = "Nickname" # shown when the viewer picks "Display name"
|
|
# sync_github_name = true # or: use the name on your public GitHub profile as display name
|
|
#
|
|
# To remove your names, delete your entry (or set fields empty) in a PR. The next
|
|
# contributors.py run, and the next build, drop them.
|
|
|
|
[people.echelon]
|
|
real_name = "Brandon Thomas"
|
|
display_name = "Brandon Thomas"
|
|
sync_github_name = false
|
|
|
|
[people.Tru10]
|
|
display_name = "by Truitt"
|
|
sync_github_name = false
|
|
|
|
[people.vangel76]
|
|
sync_github_name = true
|