forked from 1b-agent/opencadstudio-upstream
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 <[email protected]>