figcraft/crates/doc/src
Justin John d61ccc633a
fix(doc): reject and repair layer cycles and repeated children (#205) (#233)
validate() now reports children listed twice, pages with a parent, and
nodes not reachable from a page (cycles, detached subtrees). repair()
drops repeated children, clears page parents and removes every node not
reachable from a page in one linear pass, replacing the orphan loop.

Co-authored-by: Justin John <babyjjbabyjj549@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 10:31:03 +07:00
..
blur_tests.rs M3: progressive blur, inner shadows under strokes, noise and texture in SVG (#86) 2026-10-10 17:20:07 +07:00
boolean_hit_tests.rs M8: canvas fixes: boolean hit testing, group drags, frame outlines and slices view, a flaky idle test (#123) 2026-10-11 14:25:25 +07:00
client_id_tests.rs M9: collaboration core: ids, change sets, server ordering, convergence (#103) 2026-10-11 01:03:03 +07:00
colors.rs M3: effects fidelity: backdrop blur in clipped frames, exact shadow spread, glass, noise and texture (#69) 2026-10-10 11:59:59 +07:00
colors_tests.rs M3: variables inside styles 2026-10-13 13:36:54 +07:00
comments.rs M9: collaboration polish: unique ids for styles, variables and comments; live text carets (#107) 2026-10-11 09:29:30 +07:00
diff_tests.rs M7: performance: retained canvas renders, virtual layers panel, shared text layouts, cargo xtask bench (#35) 2026-10-10 05:19:05 +07:00
effects_tests.rs M3: effects fidelity: backdrop blur in clipped frames, exact shadow spread, glass, noise and texture (#69) 2026-10-10 11:59:59 +07:00
geometry.rs M1: cursors per tool and modifier, panel widths, outline options, dark pages 2026-10-13 00:29:41 +07:00
handoff.rs M6: Dev Mode compare changes, focus view, annotation categories (#97) 2026-10-10 23:29:17 +07:00
handoff_tests.rs M6: Dev Mode compare changes, focus view, annotation categories (#97) 2026-10-10 23:29:17 +07:00
ids.rs M9: collaboration polish: unique ids for styles, variables and comments; live text carets (#107) 2026-10-11 09:29:30 +07:00
ids_tests.rs M3: variables inside styles 2026-10-13 13:36:54 +07:00
lib.rs fix(doc): reject and repair layer cycles and repeated children (#205) (#233) 2026-10-14 10:31:03 +07:00
library.rs M1: frames, groups, sections and masks behaviour suite and fixes 2026-10-12 00:57:43 +07:00
node.rs M4: vector multi-edit and edit tail 2026-10-12 02:52:18 +07:00
print_tests.rs M6: PDF print options (bleed, marks, CMYK) (#92) 2026-10-10 20:50:29 +07:00
props.rs M2: auto layout: wrapped-line alignment 2026-10-13 13:36:54 +07:00
proto.rs M5: prototyping: delays on mouse triggers, manual overlay offsets 2026-10-13 13:36:54 +07:00
proto_expr.rs M5: drag to reorder prototype actions; variable mode lookups in expressions (#94) 2026-10-10 22:21:53 +07:00
proto_expr_mode_tests.rs M3: styles and variables behaviour suite and fixes 2026-10-12 00:57:43 +07:00
proto_expr_parse.rs M5: drag to reorder prototype actions; variable mode lookups in expressions (#94) 2026-10-10 22:21:53 +07:00
proto_expr_parse_tests.rs M5: prototyping tail: gamepad triggers, widgets in prototypes, mode lookups 2026-10-12 05:28:53 +07:00
proto_expr_tests.rs M3: styles and variables behaviour suite and fixes 2026-10-12 00:57:43 +07:00
styles.rs M3: variables inside styles 2026-10-13 13:36:54 +07:00
tests.rs fix(doc): reject and repair layer cycles and repeated children (#205) (#233) 2026-10-14 10:31:03 +07:00
text.rs M4: text lists, hanging punctuation and decoration styles 2026-10-12 02:09:10 +07:00
vector.rs M4: vector multi-edit and edit tail 2026-10-12 02:52:18 +07:00
vector_faces.rs M4: shapes and vector behaviour suite and fixes 2026-10-12 01:32:04 +07:00
width_sides_tests.rs M4: live boolean editing, arc fields, shape builder on strokes, one-sided widths (#111) 2026-10-11 10:04:25 +07:00
width_tests.rs M4: variable width strokes (#58) 2026-10-10 10:12:21 +07:00