cadcraft/crates/engine/tests
cyfung1031 890f7f1c6f
Performance: reuse nearby snap geometry for tracking acquisition (#698)
Squash of PR #698 by @cyfung1031.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 03:35:13 -04:00
..
aliases.rs Support files: DWT templates for NEW/QNEW, SAVEAS .dwt, user alias files (fixes #552) (#562) 2026-10-11 13:12:32 -04:00
angle_prompts.rs Angle prompts read AUNITS, ANGBASE and ANGDIR (fixes #353) (#354) 2026-10-10 17:32:13 -04:00
angle_settings.rs Typed angles follow ANGBASE, ANGDIR and AUNITS (fixes #326) (#328) 2026-10-10 16:55:07 -04:00
annotate_options.rs MLEADER: spline and no-leader types, block content (fixes #408) (#419) 2026-10-10 19:20:02 -04:00
annotative.rs Annotative scaling: scale list, CANNOSCALE, OBJECTSCALE, ANNOALLVISIBLE (part of #468) (#486) 2026-10-11 11:42:13 -04:00
array_commands.rs Associative arrays: ASsociative, Levels and polar ROWs (part of #448) (#455) 2026-10-11 11:28:48 -04:00
assoc_array.rs ARRAYEDIT and ARRAYCLOSE for associative arrays (fixes #448) (#460) 2026-10-11 11:36:02 -04:00
attdisp_attsync.rs ATTDISP and ATTSYNC; the display follows ATTMODE (fixes #275, #276) (#282) 2026-10-10 16:55:27 -04:00
attedit_prompts.rs Attributes keep their own layer, colour, linetype and lineweight (fixes #358) (#359) 2026-10-10 18:10:40 -04:00
attrib_props.rs Attributes keep their own layer, colour, linetype and lineweight (fixes #358) (#359) 2026-10-10 18:10:40 -04:00
attribute_tools.rs BATTMAN: edit, remove and reorder attribute definitions; references follow (part of #433) (#444) 2026-10-11 11:23:32 -04:00
audit.rs AUDIT and RECOVER: find and fix database errors, open damaged drawings repaired (part of #406) (#411) 2026-10-10 19:19:44 -04:00
autosave.rs GPU errors and device loss: keep running, autosave at once, tell the user (#652) 2026-10-11 20:42:45 -04:00
block_redefine.rs -BLOCK erases the selection and asks before redefining (fixes #307) (#310) 2026-10-10 16:11:19 -04:00
clipboard.rs Copy and paste between drawings; PASTEORIG, PASTEBLOCK; right-click menu (part of #325) (#355) 2026-10-10 17:32:34 -04:00
compare.rs feat(file): COMPARE drawings with overlay and change areas (fixes #563) (#572) 2026-10-11 13:25:17 -04:00
constraint_geometry.rs Constraints: DOF report, G2 Smooth, ellipse/spline/block geometry (part of #546) (#550) 2026-10-11 12:47:53 -04:00
constraint_infer.rs CONSTRAINTINFER test: make the array of copies explicitly non-associative (#621) 2026-10-11 12:49:35 -04:00
count.rs feat(inquiry): COUNT across layouts and nested blocks, COUNTLIST, COUNTTABLE (part of #563) (#565) 2026-10-11 13:13:18 -04:00
dash_block.rs -BLOCK erases the selection and asks before redefining (fixes #307) (#310) 2026-10-10 16:11:19 -04:00
data_extraction.rs DATAEXTRACTION and EATTEXT: block and attribute data to rows, CSV and a table (fixes #433) (#447) 2026-10-11 11:24:14 -04:00
dim_baseline_spacing.rs DIMBASELINE spacing follows DIM* overrides and DIMSCALE 0 (fixes #364) (#366) 2026-10-10 18:08:50 -04:00
dim_chain.rs DIMCONTINUE/DIMBASELINE: one snap index per chain, cap the points (#279) (#281) 2026-10-10 15:34:07 -04:00
dim_commands.rs Dimension edits: DIMEDIT Oblique/New/Rotate/Home, DIMJOGGED, DIMJOGLINE, DIMBREAK, DIMINSPECT (part of #507) (#522) 2026-10-11 12:10:38 -04:00
dim_explode_text.rs Exploded dimension text and DXF dimension blocks match the drawn text (fixes #367) (#369) 2026-10-10 18:09:15 -04:00
dim_radial_inside.rs DIMRADIUS/DIMDIAMETER: a location inside the circle puts the text inside (fixes #385) (#389) 2026-10-10 18:09:05 -04:00
dim_vars.rs Dimension styles: fit, text movement, suppressed halves, fixed extension lines, linetypes and lineweights and more DIM variables (part of #507) (#514) 2026-10-11 11:47:57 -04:00
dimtedit_prompts.rs Align Text > Angle asks for the angle instead of failing with a missing-parameter error (#478) (#582) 2026-10-11 14:01:51 -04:00
drafting_spacing.rs Persist SNAPUNIT and GRIDUNIT in DXF (fix #607) (#614) 2026-10-11 14:28:56 -04:00
draw_prompts.rs SPLINE: Knots, start/end Tangency, toLerance and Object (part of #408) (#413) 2026-10-10 19:19:57 -04:00
drawing_recovery_command.rs Autosave (SAVETIME, SAVEFILEPATH) and Drawing Recovery after a crash (fixes #406) (#416) 2026-10-11 11:18:49 -04:00
draworder.rs Draw order: DRAWORDER Above/Under objects, TEXTTOFRONT, HATCHTOBACK, SORTENTSTABLE read (part of #439) (#446) 2026-10-11 11:23:59 -04:00
dyn_input.rs Dynamic Input options menu (DYNPROMPT), second-value lock; INS on ATTDEF/MLEADER, GCEN on closed splines (part of #519) (#523) 2026-10-11 12:10:52 -04:00
fillet_chamfer.rs FILLET/CHAMFER: Trim, Multiple, Undo; CHAMFER Angle, mEthod, Polyline (fixes #248) (#251) 2026-10-10 16:56:01 -04:00
followups_626.rs Drafting/plot/UI follow-ups: PolarSnap over isometric snap, MVIEW Restore, plot margins, PNG/SVG pens, PE_URL links, OPTIONS settings (part of #626) (#633) 2026-10-11 20:11:06 -04:00
grip_dim_input.rs Grip dimensional input: length, angle and radius fields while stretching a grip, DYNDIVIS/DYNDIGRIP (part of #519, stacked on #440) (#527) 2026-10-11 12:11:22 -04:00
grip_options.rs Grips: multifunctional grip menus for polylines, lines and arcs (fixes #425) (#440) 2026-10-11 11:23:18 -04:00
grip_selection.rs Grip edits act on the whole selection (fixes #320) (#322) 2026-10-10 16:54:48 -04:00
group_selection.rs Groups: PICKSTYLE group selection, Ctrl+Shift+A and -GROUP options (fixes #417) (#424) 2026-10-11 11:19:04 -04:00
groups.rs Groups: GROUP, UNGROUP and GROUPEDIT commands; erased members leave their groups (part of #417) (#422) 2026-10-10 19:20:06 -04:00
hatch_assoc.rs Hatch: associative hatches follow their boundary objects; DXF 97/330 source objects (part of #451) (#454) 2026-10-11 11:28:33 -04:00
hatch_options.rs Hatch: HPGAPTOL, pattern origin, separate hatches, island style; HATCHEDIT options and -HATCHEDIT (fixes #451) (#457) 2026-10-11 11:29:05 -04:00
helix.rs HELIX: helix entity drawn as a spline (part of #510) (#521) 2026-10-11 12:10:24 -04:00
inquiry_keywords.rs AREA: refuse an open elliptical arc instead of measuring the whole ellipse (#487) (#601) 2026-10-11 14:04:40 -04:00
insert_file.rs INSERT with explode records one undo step (#475) (#585) 2026-10-11 14:02:21 -04:00
insert_prompts.rs -INSERT asks for X and Y scale; Basepoint/Scale/Rotate take effect (fixes #245) (#249) 2026-10-10 16:12:09 -04:00
isometric.rs feat(drafting): isometric snap/grid, ISODRAFT, ISOPLANE, ELLIPSE Isocircle (#561) 2026-10-11 13:13:02 -04:00
json_param_validation.rs JSON draw/annotation commands refuse invalid sizes and coincident points (fixes #343) (#344) 2026-10-10 17:32:01 -04:00
layer_cmdline.rs -LAYER: command-line option loop for layers (fixes #254) (#260) 2026-10-10 16:55:44 -04:00
layer_merge_delete.rs layer.delete: clear the deleted layer from viewport freeze and colour overrides (#474) (#586) 2026-10-11 14:02:36 -04:00
layout_prompts.rs LAYOUT / -LAYOUT: option prompts at the command line (fixes #378) (#380) 2026-10-10 18:10:30 -04:00
lin_pat_files.rs Support files: user .lin linetypes and .pat hatch patterns (part of #552) (#557) 2026-10-11 13:12:17 -04:00
malformed_handles.rs JSON handles: reject a malformed handle instead of using the selection (fixes #330) (#331) 2026-10-10 16:54:33 -04:00
matchprop.rs MATCHPROP: source/destination picker and Settings (part of #439) (#449) 2026-10-11 11:27:48 -04:00
measure_distance_snapping.rs Fix Measure Distance snapping through layout viewports (#616) 2026-10-11 13:39:39 -04:00
metric_linetypes.rs Metric drawings load library linetypes in millimetres (fixes #294) (#299) 2026-10-10 16:11:02 -04:00
mleader_content.rs MLEADER: spline and no-leader types, block content (fixes #408) (#419) 2026-10-10 19:20:02 -04:00
mleader_remember.rs MLEADER remembers the placement order and Options (fixes #362) (#365) 2026-10-10 18:09:20 -04:00
mline.rs MLINE: multiline entity, MLSTYLE and MLEDIT (part of #510) (#517) 2026-10-11 11:48:27 -04:00
modify_curves.rs FILLET and CHAMFER with polyline segments (fixes #466) (#502) 2026-10-11 11:42:41 -04:00
mtext_columns.rs feat(text): MTEXT paragraph formatting (indents, tabs, lists) and columns (#547) 2026-10-11 12:47:12 -04:00
mtext_options.rs feat(text): MTEXT paragraph formatting (indents, tabs, lists) and columns (#547) 2026-10-11 12:47:12 -04:00
named_views.rs Named views (VIEW), Zoom Realtime and Dynamic, ZOOMFACTOR (part of #463) (#503) 2026-10-11 11:42:56 -04:00
non_finite_edits.rs Refuse edits whose result has infinite or undefined coordinates (fixes #338) (#339) 2026-10-10 16:54:53 -04:00
offset_closed_spline.rs OFFSET keeps a closed spline closed (fixes #303) (#305) 2026-10-10 16:11:13 -04:00
offset_ellipse_side.rs OFFSET: full ellipse copy goes to the side of the picked point (#501) (#591) 2026-10-11 14:03:24 -04:00
offset_move.rs OFFSET Erase/Layer/Multiple/Undo and MOVE/COPY Displacement take effect (fixes #244) (#246) 2026-10-10 16:12:14 -04:00
open_svg.rs feat: SVG import — read SVG and SVGZ into native entities (#636) 2026-10-11 20:11:22 -04:00
options_profile.rs OPTIONS: preferences dialog, JSON form and a user profile that survives restarts (fixes #23) (#531) 2026-10-11 12:34:34 -04:00
overkill.rs OVERKILL: tolerance, ignored properties, overlapping and end-to-end lines and arcs, polyline segments (fixes #439) (#452) 2026-10-11 11:28:18 -04:00
parallel_display_list.rs Build the screen's model-space display list on all cores; read-write locks for glyph caches (#654) 2026-10-12 03:21:04 -04:00
pedit_splinedit.rs feat(modify): SPLINEDIT Join, Edit vertex Add and Elevate order (#559) 2026-10-11 14:28:41 -04:00
pline_arc_xline_options.rs PLINE arc options and Length, XLINE polyline segments (fixes #397) (#407) 2026-10-10 18:44:08 -04:00
plot_sheets.rs PDF export: layers as PDF layers (OCG), several sheets per file, hyperlinks (part of #560) (#567) 2026-10-11 13:23:59 -04:00
plot_styles.rs Plot styles: named styles (STB), PLOTSTYLE, STYLESMANAGER and table files (part of #410) (#418) 2026-10-10 19:21:24 -04:00
plotters.rs Plot dialog: device, plot style table, Window <, and a preview of its settings (#673) 2026-10-12 03:21:33 -04:00
point_modifiers.rs Point prompts: FROM, M2P/MTP, point filters, * prefix and <angle override (fixes #392) (#402) 2026-10-10 18:43:24 -04:00
prompt_keywords.rs ELLIPSE Rotation/Parameter and BREAK First point take effect (fixes #219) (#222) 2026-10-10 14:37:34 -04:00
props_bad_lineweight.rs Properties: reject a malformed lineweight instead of setting 0.25 mm (#480) (#580) 2026-10-11 13:41:25 -04:00
props_insert_scale_attribs.rs Properties: changing a block's scale moves and resizes its attributes (#481) (#579) 2026-10-11 13:41:10 -04:00
purge_mlinestyles.rs File-format follow-ups: version-gated MULTILEADER and DIMSTYLE groups, kept $DWGCODEPAGE, PURGE multiline styles (#632) 2026-10-11 19:54:03 -04:00
purge_prompts.rs PURGE test: add the zero-length line directly 2026-10-10 17:45:43 -04:00
qdim.rs QDIM: one snap index per call, cap the input (fixes #356) (#357) 2026-10-10 17:31:50 -04:00
qdim_modes.rs QDIM: Staggered, Baseline, Ordinate, Radius, Diameter, datumPoint and Edit (fixes #507) (#524) 2026-10-11 12:11:07 -04:00
query_entities.rs MCP: reject tool arguments that don't fit the schema; query_entities counts all matches and windows by geometry (fixes #335) (#336) 2026-10-10 16:54:58 -04:00
quickcalc.rs feat(ui): QuickCalc palette; CAL points, vector functions, unit conversion (part of #563) (#569) 2026-10-11 13:24:46 -04:00
recent_commands.rs Shortcut menus: command menu while a command runs, selection menu with object edits (part of #512) (#515) 2026-10-11 11:48:12 -04:00
region.rs REGION: region entity, UNION/SUBTRACT/INTERSECT, MASSPROP (fixes #510) (#526) 2026-10-11 12:12:09 -04:00
rename_cmdline.rs -RENAME prompts; RENAME renames blocks (fixes #264) (#266) 2026-10-10 16:12:03 -04:00
rotate_reference.rs ROTATE: Reference option (fixes #235) (#236) 2026-10-10 14:37:40 -04:00
save_as_export.rs Save As to an image or PDF exports without renaming the drawing (fixes #327) (#329) 2026-10-10 16:54:37 -04:00
save_reports_not_saved.rs Support files: DWT templates for NEW/QNEW, SAVEAS .dwt, user alias files (fixes #552) (#562) 2026-10-11 13:12:32 -04:00
save_version.rs SAVEAS version and binary DXF, default save version (fixes #421) (#431) 2026-10-11 11:19:47 -04:00
select_keywords.rs Select objects: BOX, AUto, SIngle, Multiple, Group and Undo keywords (fixes #428) (#438) 2026-10-11 11:23:03 -04:00
select_similar.rs SELECTSIMILAR and object isolation: ISOLATEOBJECTS, HIDEOBJECTS, UNISOLATEOBJECTS (part of #428) (#434) 2026-10-11 11:20:02 -04:00
selection_modes.rs Select objects: W, C, F, WP and CP selection modes (fixes #224) (#226) 2026-10-11 11:13:01 -04:00
setvar_coverage.rs SETVAR/GETVAR: header variables the commands keep, TRANSPARENCYDISPLAY, dimension variables in SETVAR ? (fixes #461) (#467) 2026-10-11 11:36:59 -04:00
snap_annotations.rs Dimensions snap; justified text snaps and grips at its alignment point; grid snap follows SNAPBASE/SNAPANG; OSNAPHATCH (fixes #334) (#337) 2026-10-10 16:55:12 -04:00
snap_blocks.rs Object snaps find the geometry inside block references (fixes #314) (#318) 2026-10-10 16:11:58 -04:00
snap_curves.rs Midpoint, Perpendicular and Tangent snaps on elliptical arcs and splines; Quadrant stays on the arc (fixes #332) (#333) 2026-10-10 16:55:16 -04:00
snap_nearest.rs Nearest snap picks the closest object in any drawing order (fixes #323) (#324) 2026-10-10 16:54:42 -04:00
snap_overrides.rs Object snap overrides at point prompts, Shift/Ctrl+right-click snap menu, Tab cycling (fixes #393) (#409) 2026-10-10 18:44:21 -04:00
snap_tracking.rs Performance: reuse nearby snap geometry for tracking acquisition (#698) 2026-10-12 03:35:13 -04:00
snaps_more.rs Dynamic Input options menu (DYNPROMPT), second-value lock; INS on ATTDEF/MLEADER, GCEN on closed splines (part of #519) (#523) 2026-10-11 12:10:52 -04:00
space_is_enter.rs Scripts and the command line read a trailing or double space as Enter (fixes #227) (#229) 2026-10-11 11:13:15 -04:00
spline_degree.rs Programmatic SPLINE limits the degree to 1..10 (fixes #268) (#269) 2026-10-10 15:33:31 -04:00
spline_options.rs SPLINE: Knots, start/end Tangency, toLerance and Object (part of #408) (#413) 2026-10-10 19:19:57 -04:00
stretch.rs STRETCH: repeat Select objects until Enter, C/W windows, Displacement (fixes #228) (#231) 2026-10-10 17:32:39 -04:00
table_breaks.rs Tables: table breaking and CSV data links (fixes #534) (#553) 2026-10-11 12:47:39 -04:00
table_formulas.rs Tables: cell styles, formulas, TABLEDIT and TABLEEXPORT (part of #534) (#548) 2026-10-11 12:47:25 -04:00
table_styles.rs Tables: cell styles, formulas, TABLEDIT and TABLEEXPORT (part of #534) (#548) 2026-10-11 12:47:25 -04:00
temp_tracking.rs PolarSnap, relative polar angles, Extension on ellipse and spline ends, tracking options in Drafting Settings (fixes #441) (#450) 2026-10-11 11:28:02 -04:00
templates.rs Support files: DWT templates for NEW/QNEW, SAVEAS .dwt, user alias files (fixes #552) (#562) 2026-10-11 13:12:32 -04:00
text_commands.rs TEXTEDIT prompt, Undo and Mode; MTEXT takes lines until an empty one (#234) (#239) 2026-10-10 14:37:52 -04:00
text_left_justify.rs TL/ML/BL text is placed by its alignment point (fixes #342) (#346) 2026-10-10 17:31:56 -04:00
tolerance.rs TOLERANCE: GD&T feature control frames (fixes #420) (#427) 2026-10-11 11:19:32 -04:00
transparent.rs Transparent 'ZOOM/'PAN run nested and resume the interrupted command (fixes #220) (#221) 2026-10-11 11:12:47 -04:00
trim_extend_options.rs TRIM/EXTEND: cutting edges, Fence, Crossing, mOde, Project, Edge, eRase, Undo (part of #397) (#403) 2026-10-10 18:43:28 -04:00
undo_control.rs UNDO Mark/Back, BEgin/End, Auto and Control; MREDO; UNDOCTL (part of #461) (#464) 2026-10-11 11:36:30 -04:00
undo_count.rs UNDO asks for the number of operations; U undoes one (fixes #241) (#242) 2026-10-10 14:37:58 -04:00
undo_layout_tab.rs Undo/redo of LAYOUT Rename/New keeps the session on a layout that exists (fixes #371) (#375) 2026-10-10 18:08:45 -04:00
viewport_clip.rs Drafting/plot/UI follow-ups: PolarSnap over isometric snap, MVIEW Restore, plot margins, PNG/SVG pens, PE_URL links, OPTIONS settings (part of #626) (#633) 2026-10-11 20:11:06 -04:00
vplayer_prompts.rs VPLAYER: option prompts at the command line (fixes #381) (#387) 2026-10-10 18:10:35 -04:00
vports.rs Tiled model viewports: VPORTS, saved viewport configurations, DXF VPORT table (part of #463) (#504) 2026-10-11 11:43:11 -04:00
wblock_base.rs WBLOCK honours base when writing a block (fixes #297) (#300) 2026-10-10 16:11:07 -04:00
xref.rs Xrefs: XATTACH, -XREF, XBIND, XOPEN; load at open, save only the reference (part of #525) (#530) 2026-10-11 12:11:37 -04:00
zoom_keywords.rs Named views (VIEW), Zoom Realtime and Dynamic, ZOOMFACTOR (part of #463) (#503) 2026-10-11 11:42:56 -04:00
zoom_viewport.rs ZOOM inside a layout viewport acts on the viewport; nXP sets its scale (fixes #370) (#372) 2026-10-10 18:09:31 -04:00