fix(mleader): honour the baked context — anchors, rotation, dogleg, frames
The annotation context is AutoCAD's baked display state; the renderer now trusts it instead of re-deriving: - text_attachment_point (L/C/R) is the stored horizontal anchor — the leader-side guess shifted centre/right-attached texts by their width. - ctx.text_direction/text_rotation apply as stored; forcing the Horizontal angle type to 0 un-rotated angled leaders. The conn.y baseline snap now applies only to unrotated text. - The dogleg runs along the leader root's stored direction (angled leaders drew it world-horizontal), and vertically-attached leaders draw no dogleg at all. - Underline attachments (BottomLine / BottomOfTopLineUnderline…) draw the leader-coloured rule under the attached line(s), full text width. - Vertical text flow (ctx.text_flow_direction) feeds the shared vertical layout; frame/background boxes wrap the laid-out glyph bounds padded by ctx.landing_gap, and run-less decoration strokes + inline \C colours reach the output instead of being dropped. - The wrap-width grip rides the shared flow_grip_axis() (rotation, flow and attachment side), and its drag projects on the same axis. acadrust bump: every MULTILEADER decodes (has_ds peek), MTEXT top-to-bottom direction reads correctly. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
6e225e068c
commit
ac0a6ac150
2 changed files with 310 additions and 114 deletions
2
Cargo.lock
generated
2
Cargo.lock
generated
|
|
@ -74,7 +74,7 @@ checksum = "366ffbaa4442f4684d91e2cd7c5ea7c4ed8add41959a31447066e279e432b618"
|
|||
[[package]]
|
||||
name = "acadrust"
|
||||
version = "0.4.0"
|
||||
source = "git+https://github.com/OpenAEC-Foundation/acadifc?branch=main#4ef83a122446504a988ed8ed7904b1c1b5f1b51f"
|
||||
source = "git+https://github.com/OpenAEC-Foundation/acadifc?branch=main#1497d7ab8be725e0bed84ce31e85fa20646ddc51"
|
||||
dependencies = [
|
||||
"ahash 0.8.12",
|
||||
"anyhow",
|
||||
|
|
|
|||
Loading…
Reference in a new issue