cad-editor/src/scene
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Hakan Seven 0964e97cfa fix(text): keep inline \C colours through block colour inheritance (SDF)
Ports PR #301 (by Kevin Griffin) to the SDF text renderer. Block-nested MTEXT
with inline colour codes (\C1;, \c…) collapsed to a single colour: the block
cache applies ByBlock / layer-0 colour inheritance per entity, so at emit time
every segment's colour was replaced with the inherited colour — including
segments carrying an explicit inline override.

- block_cache tessellate_sub_local: gate ByBlock / layer-0 colour inheritance
  on `wire_on_base_color` (a wire whose colour differs from the entity base
  carries an explicit override and keeps it) — #301's fix, still correct for
  the remaining stroke wires.
- block_cache emit_wire: the per-vertex analogue for SDF text — a glyph whose
  colour equals the wire's base inherits the resolved colour; a glyph with an
  inline \C / \c override keeps it. (Previously every block glyph was recoloured
  with final_color, collapsing colour-split MTEXT.)
- tests/text_font_rendering.rs: restore the block colour-split regression test
  (it had stopped compiling on main when expand_insert gained the InheritStyle
  param) and adapt it — and drawable_point_count — to SDF text_verts, since
  block MTEXT now renders as glyph quads, not colour-split stroke wires.

\C (ACI) / \c (true-colour) are parsed by acadrust (mtext_format
SpanProperties.color) → OCS InlineColor → the glyph's per-vertex colour.

Co-Authored-By: Kevin Griffin <117586586+KevinGriffin-new@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-07 22:17:27 +03:00
..
cache fix(text): keep inline \C colours through block colour inheritance (SDF) 2026-07-07 22:17:27 +03:00
convert refactor(text): SDF for all text kinds; remove the legacy stroke text path 2026-07-07 21:07:00 +03:00
model refactor(text): per-entity SDF text — all text kinds, selection/hover highlight 2026-07-07 17:01:36 +03:00
pick fix(text): clip SDF text to xclip boundary; stop debug-assert crash on block fills 2026-07-07 21:32:17 +03:00
pipeline Merge PR #300: tessellate hatch fills so navigation no longer flickers (#258) 2026-07-07 21:45:02 +03:00
text refactor(text): SDF for all text kinds; remove the legacy stroke text path 2026-07-07 21:07:00 +03:00
view Merge PR #300: tessellate hatch fills so navigation no longer flickers (#258) 2026-07-07 21:45:02 +03:00
camera_ops.rs chore: post-merge cleanup for #287/#289 2026-07-06 01:22:10 +03:00
entity.rs fix(plot): correct hatch rendering in PDF / plot export 2026-07-06 12:24:10 +02:00
group_layer.rs feat(ui): bulk layer on/off, lock, freeze, transparency + Ctrl+A (#236) 2026-07-03 16:06:10 +03:00
layout.rs refactor(viewport): migrate model-space tiling to iced pane_grid 2026-06-27 11:50:11 +03:00
mod.rs Merge PR #300: tessellate hatch fills so navigation no longer flickers (#258) 2026-07-07 21:45:02 +03:00
modify.rs fix(clipboard): paste copies dimensions correctly (#290) 2026-07-07 15:53:21 +02:00
mspace.rs feat(nav): turntable orbit, selection/cursor pivot, Shift+MMB rotate (#229) 2026-07-01 21:58:04 +03:00
paper.rs fix(plot): correct hatch rendering in PDF / plot export 2026-07-06 12:24:10 +02:00
preview.rs fix(scene): correct MIRROR of TEXT under MIRRTEXT (commit + preview) 2026-07-03 12:42:55 +03:00
project.rs refactor: split four oversized files into submodule trees 2026-06-26 22:51:29 +03:00
selection.rs refactor(properties): entity property groups return Vec<PropSection> 2026-07-02 22:46:19 +03:00