CTS EdgeCraft Pro 1.1.1 - Core validation
Date: 2026-10-05

Environment: Ruby 3.1, pure array geometry and SketchUp API stubs.
Component_1.skp and the embedded source in Component_5.skp were extracted to array geometry.
SketchUp itself was not available. Native insertion and visual/interactive Edit
acceptance are unverified. Insertion-rejection tests below use a simulator.

Source replacement occurs only after the temporary native mesh passes its
face/edge checks. Simulations verify cleanup on exception, false return and
incomplete insertion; they cannot certify the real SketchUp API.

Ruby syntax: 40 extension files; 0 errors.
Kernel dependency loading: PASS

general_probe: PASS
concave_L.json / 3: PASS 188 faces
concave_L.json / 6: PASS 572 faces
concave_L.json / 12: PASS 1988 faces
irregular_concave.json / 3: PASS 225 faces
irregular_concave.json / 6: PASS 678 faces
irregular_concave.json / 12: PASS 2340 faces
material_seams_cube.json / 3: PASS 120 faces
material_seams_cube.json / 6: PASS 372 faces
material_seams_cube.json / 12: PASS 1308 faces
mixed_blind_pockets.json / 3: PASS 1208 faces
mixed_blind_pockets.json / 6: PASS 3572 faces
mixed_blind_pockets.json / 12: PASS 12188 faces
mixed_through_holes.json / 3: PASS 1314 faces
mixed_through_holes.json / 6: PASS 3768 faces
mixed_through_holes.json / 12: PASS 12564 faces
near_orthogonal_cube.json / 3: PASS 120 faces
near_orthogonal_cube.json / 6: PASS 372 faces
near_orthogonal_cube.json / 12: PASS 1308 faces
oblique_pyramid.json / 3: PASS 78 faces
oblique_pyramid.json / 6: PASS 318 faces
oblique_pyramid.json / 12: PASS 1206 faces
pyramid_4_way.json / 3: PASS 78 faces
pyramid_4_way.json / 6: PASS 318 faces
pyramid_4_way.json / 12: PASS 1206 faces
pyramid_7_way.json / 3: PASS 138 faces
pyramid_7_way.json / 6: PASS 558 faces
pyramid_7_way.json / 12: PASS 2112 faces
split_edge_cube.json / 3: PASS 120 faces
split_edge_cube.json / 6: PASS 372 faces
split_edge_cube.json / 12: PASS 1308 faces
trapezoid.json / 3: PASS 120 faces
trapezoid.json / 6: PASS 372 faces
trapezoid.json / 12: PASS 1308 faces
triangle_prism.json / 3: PASS 89 faces
triangle_prism.json / 6: PASS 278 faces
triangle_prism.json / 12: PASS 980 faces
triangulated_cube.json / 3: PASS 120 faces
triangulated_cube.json / 6: PASS 372 faces
triangulated_cube.json / 12: PASS 1308 faces

kernel_regression: PASS
Routing + read-only source: actual_network.json
Routing + read-only source: concave_L.json
Routing + read-only source: irregular_concave.json
Routing + read-only source: material_seams_cube.json
Routing + read-only source: mixed_blind_pockets.json
Routing + read-only source: mixed_through_holes.json
Routing + read-only source: near_orthogonal_cube.json
Routing + read-only source: oblique_pyramid.json
Routing + read-only source: pyramid_4_way.json
Routing + read-only source: pyramid_7_way.json
Routing + read-only source: split_edge_cube.json
Routing + read-only source: trapezoid.json
Routing + read-only source: triangle_prism.json
Routing + read-only source: triangulated_cube.json
Smooth circular walls: mixed_blind_pockets
Smooth circular walls: mixed_through_holes
Independently reversed input faces: PASS
Collision radius reduced to 5.99345: PASS
51 coordinated builds passed

partial_regression: PASS
Partial front rims: mixed_blind_pockets PASS
Partial longitudinal edges: mixed_blind_pockets PASS
Partial front rims: mixed_through_holes PASS
Partial longitudinal edges: mixed_through_holes PASS
Prism fallback: mixed_through_holes PASS
15 partial/fallback builds passed

transform_regression: PASS
Rotation, translation and scale: irregular_concave
Rotation, translation and scale: mixed_blind_pockets
Rotation, translation and scale: oblique_pyramid
Rotation, translation and scale: material_seams_cube
8 transformed builds passed

failure_regression: PASS
diagnostic: Forced native insertion rejection
Native insertion raise: original source preserved
diagnostic: SketchUp could not insert the indexed connected bevel mesh.
Native insertion false: original source preserved
diagnostic: SketchUp did not create every connected bevel triangle.
Native insertion incomplete: original source preserved
Open input rejected before mutation
Crossing closed surfaces rejected; separated surfaces accepted

pocket_regression: PASS
actual_network.json / 6 segments: closed mesh, 1172 faces
actual_network.json / 12 segments: closed mesh, 4028 faces
actual_network.json / 20 segments: closed mesh, 10524 faces
1_pockets.json / 6 segments: closed mesh, 772 faces
1_pockets.json / 12 segments: closed mesh, 2668 faces
1_pockets.json / 20 segments: closed mesh, 6988 faces
3_pockets.json / 6 segments: closed mesh, 1572 faces
3_pockets.json / 12 segments: closed mesh, 5388 faces
3_pockets.json / 20 segments: closed mesh, 14060 faces
8_pockets.json / 6 segments: closed mesh, 3572 faces
8_pockets.json / 12 segments: closed mesh, 12188 faces
8_pockets.json / 20 segments: closed mesh, 31740 faces

planar_regression: PASS
1 curved holes: all original boundary segments preserved
2 curved holes: all original boundary segments preserved
5 curved holes: all original boundary segments preserved
20 curved holes: all original boundary segments preserved

network_probe: PASS
network 2: PASS 252 polygons
network 6: PASS 1228 polygons
network 12: PASS 4132 polygons
network 20: PASS 10692 polygons
prism 2: PASS 240 polygons
prism 6: PASS 1216 polygons
prism 12: PASS 4120 polygons
prism 20: PASS 10680 polygons

corner_regression: PASS
Component_5 / 4 segments: 34 exact rolling corners (including 4 complementary joins), 24 smooth wall joints, closed oriented mesh PASS
Component_5 / 8 segments: 34 exact rolling corners (including 4 complementary joins), 24 smooth wall joints, closed oriented mesh PASS
Uneven polygon: local wall angles drive rolling corner surfaces PASS

cache_regression: PASS
Cache: copied source reuse, output isolation, geometry/radius/segments/material/finish invalidation, failure exclusion and model isolation PASS

builder_regression: PASS
Builder simulation: 1754 faces, 66 retained faces, all holes and closed seams preserved PASS
diagnostic: Builder deliberately rejected a face
Builder raise: original protected and temporary mesh removed PASS
diagnostic: SketchUp could not insert a connected bevel face.
Builder nil: original protected and temporary mesh removed PASS
diagnostic: SketchUp changed a connected bevel boundary during insertion.
Builder drop_hole: original protected and temporary mesh removed PASS
diagnostic: The connected bevel has no generated surfaces.
Empty replacement: rejected before native mutation PASS

validation_differential: PASS
Collision validation: 3,000 seeded random/coplanar/shared-edge/shared-vertex/translated pairs match the original predicate PASS

radius_fit_regression: PASS
Fast radius fit: final candidate receives full validation PASS
Hidden collision: full-search fallback produces a fully validated radius PASS
Unsupported corner errors propagate without radius fitting PASS
Component_5 / 4: fitted 2.44786707 inches with one complete mesh validation; source unchanged PASS
Component_5 / 8: fitted 2.44713538 inches with one complete mesh validation; source unchanged PASS

object_probe_regression: PASS
Whole-object job: boundary-only keyword passes through timing wrapper; fitted radius receives full preview validation; Apply jobs retain complete geometry PASS

Independent Shapely coverage/union check: PASS
Mixed-hole arrangement 1: independent area + union checks PASS
Mixed-hole arrangement 2: independent area + union checks PASS
Mixed-hole arrangement 3: independent area + union checks PASS
Mixed-hole arrangement 4: independent area + union checks PASS
Mixed-hole arrangement 5: independent area + union checks PASS
Mixed-hole arrangement 6: independent area + union checks PASS
Mixed-hole arrangement 7: independent area + union checks PASS
Mixed-hole arrangement 8: independent area + union checks PASS
Mixed-hole arrangement 9: independent area + union checks PASS
Mixed-hole arrangement 10: independent area + union checks PASS
10 arrangements, 120 mixed holes passed

Scope and practical limits:
- Full sharp networks on closed, orientable, manifold polygonal shells.
- Multiple openings have no fixed count cap; memory and geometric clearance
  still constrain input size and usable radius.
- The general solver preserves compatible unselected smooth facet joints.
- Perpendicular mixed rim corners use rolling torus surfaces at actual wall
  angles. Regular trihedral corners can use a common sphere. Other joins use
  sampled transfinite/ring mesh patches, not universal analytic CAD fillets.
  Higher segment counts retain their requested angular sampling resolution.
- Existing specialized partial-selection paths remain available. Arbitrary
  partial networks are not generalized by this release.
- Nonuniformly scaled group contexts retain the prior reset-scale requirement.
- UV reconstruction, all pathological topologies, and every possible model
  are not certified by these finite numerical tests.

All listed checks passed. Native SketchUp acceptance remains outstanding.
