cad-editor/src/entities
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Hakan Seven ece440bcab refactor(curve): draw a fit spline and an offset preview from the curve
Two places were left describing geometry for themselves.

A fit-point SPLINE was drawn from a C² cubic solved in spline.rs while
TRIM and snap cut a separate interpolation from the kernel. Near enough
to look right, far enough apart that a trim landed beside the line it
was aimed at. It now draws the curve those commands work on, and falls
back to the local solve only where the kernel declines — a fit spline
through points in space is not a planar curve, so there is nothing for
it to say.

Closed fit splines were worse than that: the kernel's interpolation is a
clamped solve with no wrap in it, so the curve TRIM used never returned
to its start and the seam cut nothing. Repeating the first fit point
closes it. The seam is C¹ where the rest of the curve is C², which is
the honest limit of a clamped solve — the alternative was a curve with a
gap in it.

OFFSET's preview sampling had drifted the same way TRIM's had: an arc
and a circle read `center.x/.y` as world coordinates when the entity
stores them in its OCS, so an extruded one previewed on the wrong side;
every curved kind was cut at a fixed twenty segments per radian whatever
its size; and an ellipse rebuilt its axis frame from the major axis' X
and Y alone, dropping the Z the entity stores. A hundred lines of that
become one tessellation. A RAY now previews as far as an XLINE does
rather than as a stub the length of its direction vector.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-09 01:08:45 +03:00
..
arc.rs refactor(render): tessellate curved entities from their own curve 2026-08-09 00:55:29 +03:00
attribute.rs feat(properties): stop offering a height the style has fixed 2026-08-08 02:45:46 +03:00
circle.rs refactor(render): tessellate curved entities from their own curve 2026-08-09 00:55:29 +03:00
common.rs refactor(offset): take polyline offsetting from cadkernel 2026-08-08 16:01:43 +03:00
curve.rs refactor(curve): draw a fit spline and an offset preview from the curve 2026-08-09 01:08:45 +03:00
dim_override.rs feat(styles): overhaul style managers 2026-08-03 02:01:47 +03:00
dimension.rs fix(dim): measure a two-line angle between the lines that define it 2026-08-08 02:59:34 +03:00
ellipse.rs refactor(render): tessellate curved entities from their own curve 2026-08-09 00:55:29 +03:00
extended.rs feat(ucs): integrate coordinate systems 2026-08-04 23:17:54 +03:00
field.rs feat(scene): integrate standard DWG data 2026-07-26 22:30:14 +03:00
hatch.rs feat(locale): localize full interface 2026-08-02 22:09:25 +03:00
helix.rs feat(locale): localize full interface 2026-08-02 22:09:25 +03:00
insert.rs feat(annotation): integrate object contexts 2026-08-02 12:00:15 +03:00
leader.rs feat(view): add visual style previews 2026-08-04 21:23:25 +03:00
light.rs feat(locale): localize full interface 2026-08-02 22:09:25 +03:00
line.rs feat(ucs): integrate coordinate systems 2026-08-04 23:17:54 +03:00
lwpolyline.rs feat(locale): localize full interface 2026-08-02 22:09:25 +03:00
mesh.rs feat(locale): localize full interface 2026-08-02 22:09:25 +03:00
mline.rs feat(locale): localize full interface 2026-08-02 22:09:25 +03:00
mod.rs feat(entities): give an entity its geometry as a curve 2026-08-09 00:43:35 +03:00
mtext.rs feat(properties): stop offering a height the style has fixed 2026-08-08 02:45:46 +03:00
multileader.rs refactor(render): unify scene rendering paths 2026-08-05 21:44:59 +03:00
names.rs feat(cad): integrate standard codec coverage 2026-07-26 19:30:43 +03:00
object_data.rs fix(ui): refine empty drawing state 2026-07-27 17:37:17 +03:00
ole2frame.rs fix(blocks): preserve UCS transformations 2026-07-30 19:50:33 +03:00
point.rs feat(locale): localize full interface 2026-08-02 22:09:25 +03:00
polyline.rs feat(locale): localize full interface 2026-08-02 22:09:25 +03:00
raster_image.rs feat(locale): localize full interface 2026-08-02 22:09:25 +03:00
ray.rs feat(locale): localize full interface 2026-08-02 22:09:25 +03:00
shape.rs feat(locale): localize full interface 2026-08-02 22:09:25 +03:00
solid.rs feat(locale): localize full interface 2026-08-02 22:09:25 +03:00
solid3d.rs feat(locale): localize full interface 2026-08-02 22:09:25 +03:00
spline.rs refactor(curve): draw a fit spline and an offset preview from the curve 2026-08-09 01:08:45 +03:00
table.rs feat(view): add visual style previews 2026-08-04 21:23:25 +03:00
text.rs feat(properties): stop offering a height the style has fixed 2026-08-08 02:45:46 +03:00
text_support.rs style: clear two build warnings 2026-07-23 11:39:23 +03:00
tolerance.rs feat(locale): localize full interface 2026-08-02 22:09:25 +03:00
traits.rs feat(grips): improve direct editing 2026-08-04 16:27:03 +03:00
underlay.rs feat(ucs): integrate coordinate systems 2026-08-04 23:17:54 +03:00
view_symbol.rs feat(locale): localize full interface 2026-08-02 22:09:25 +03:00
viewport.rs feat(mview): add viewport creation options 2026-07-27 19:28:51 +03:00