Files
solvecraft/plan/order.md
T
bherbruck a90b66e91d Call graph, in-scope closure and port plan (260 units, 65 layers)
libclang call graph over SMLib/SM_API with conservative (CHA) virtual
resolution and dead-debug-branch pruning; closure from in-scope SM_API
entry points plus the native .smb reader used by test fixtures.
plan/closure.md: files, unused code, hazards, threading.
plan/modules.toml + plan/order.md: units, deps, layers, critical path.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-12 14:49:09 -04:00

21 KiB

Port order (parallel layers)

Generated by harness/callgraph/plan_units.py from the CHA call-graph closure. A unit in layer k depends only on units in layers < k, so every unit within a layer can be ported in parallel once the previous layers are green. Dependencies are static calls plus conservative virtual dispatch (a call to a virtual method depends on every in-scope override).

Cycles. The kernel's curve/surface/topology core is mutually recursive (e.g. surface evaluation -> offset/blend surfaces -> curve-on-surface -> surface point solve -> surface evaluation). Unit-level strongly connected components were linearised with a weighted greedy feedback-arc-set; the dropped back-edges are listed in each unit's notes in plan/modules.toml. A unit with back-edges can be ported in its layer, but its difftest can only cover paths whose callees are already ported; full side-by-side validation of such a unit is re-run when the back-edge targets turn green (keep status = "claimed" until then or record the partial coverage in plan/findings.md).

layer units est. upstream lines max unit
0 5 5563 2971
1 4 4346 1259
2 8 5943 1145
3 11 8721 1617
4 5 6894 2178
5 8 10101 1775
6 7 8512 1879
7 5 6300 2200
8 3 3226 2031
9 3 4277 1894
10 3 3814 2560
11 3 5437 2794
12 5 9372 2233
13 3 4494 2302
14 11 9993 2228
15 4 7088 2014
16 5 7079 2377
17 2 4105 2072
18 3 6405 2376
19 4 6662 1930
20 2 2319 1670
21 2 4098 2398
22 4 5912 2299
23 5 7457 1934
24 8 9920 1865
25 4 6218 1703
26 1 2406 2406
27 3 5797 2270
28 3 6602 2861
29 3 6547 2458
30 4 5654 2172
31 6 10494 2374
32 9 16225 2746
33 6 10352 2062
34 4 7222 2022
35 4 7001 2213
36 4 3989 2017
37 3 4549 1900
38 1 824 824
39 1 892 892
40 2 3981 2213
41 4 7412 2878
42 3 4117 1812
43 4 5716 1890
44 4 8413 2503
45 5 6668 2454
46 4 6355 2443
47 2 4636 2443
48 6 10415 2503
49 7 11403 2322
50 6 11256 2491
51 4 8707 2652
52 3 4208 1849
53 2 2835 1842
54 2 3575 1967
55 1 475 475
56 1 2590 2590
57 1 1152 1152
58 3 4731 2258
59 7 8924 2107
60 5 8754 2074
61 2 2849 1697
62 1 2077 2077
63 1 1952 1952
64 1 1892 1892
total 260 387903

Critical path

Longest dependency chain weighted by est_lines (65 units, 116850 upstream lines):

  1. nlib.math (layer 0, 2971 lines)
  2. nlib.geom (layer 1, 1244 lines)
  3. nlib.basis_basic (layer 2, 786 lines)
  4. nlib.funcs_basic (layer 3, 538 lines)
  5. nlib.crv_basic (layer 4, 1542 lines)
  6. nlib.crv_tool_p1 (layer 5, 1371 lines)
  7. nlib.crv_nurb (layer 6, 1879 lines)
  8. nlib.crv_geom (layer 7, 729 lines)
  9. nlib.crv_adv_p1 (layer 8, 2031 lines)
  10. nlib.crv_adv_p2 (layer 9, 1722 lines)
  11. nlib.crv_approx (layer 10, 908 lines)
  12. nurbs.b_spline_curve_n_lib (layer 11, 2794 lines)
  13. nurbs.b_spline_curve_p2 (layer 12, 1872 lines)
  14. curve.curve_p2 (layer 13, 2302 lines)
  15. curve.line (layer 14, 1884 lines)
  16. curve.ellipse_p2 (layer 15, 1916 lines)
  17. curve.curve_p4 (layer 16, 2377 lines)
  18. curve.curve_p3 (layer 17, 2072 lines)
  19. curve.curve_p6 (layer 18, 2376 lines)
  20. curve.curve_p7 (layer 19, 1666 lines)
  21. curve.curve_p8 (layer 20, 1670 lines)
  22. surface.surface_p2 (layer 21, 2398 lines)
  23. surface.surface_cache_p1 (layer 22, 1944 lines)
  24. surface.surface_p9 (layer 23, 1252 lines)
  25. surface.surface_cache_p2 (layer 24, 1245 lines)
  26. surface.surface_cache_p3 (layer 25, 1703 lines)
  27. surface.surface_p7 (layer 26, 2406 lines)
  28. surface.plane_p2 (layer 27, 1627 lines)
  29. surface.sphere (layer 28, 2861 lines)
  30. surface.surface_p1 (layer 29, 2458 lines)
  31. surface.surface_p3 (layer 30, 1794 lines)
  32. surface.surface_p11 (layer 31, 1789 lines)
  33. intersect.surface_intersector_p1 (layer 32, 1816 lines)
  34. intersect.curve_class_p2 (layer 33, 1928 lines)
  35. intersect.curve_class_p4 (layer 34, 2022 lines)
  36. intersect.topology_solver_p2 (layer 35, 1391 lines)
  37. topology.shell (layer 36, 750 lines)
  38. topology.vertexuse (layer 37, 1429 lines)
  39. topology.vertex (layer 38, 824 lines)
  40. topology.loopuse (layer 39, 892 lines)
  41. topology.edge (layer 40, 2213 lines)
  42. topology.edgeuse_p3 (layer 41, 2273 lines)
  43. topology.face_p4 (layer 42, 1812 lines)
  44. topology.face_p3 (layer 43, 1881 lines)
  45. topology.face_p1 (layer 44, 2171 lines)
  46. topology.brep_p1 (layer 45, 2454 lines)
  47. topology.brep_p4 (layer 46, 2113 lines)
  48. topology.brep_p5 (layer 47, 2193 lines)
  49. topology.proto_topology_p2 (layer 48, 2091 lines)
  50. topology.proto_topology_p3 (layer 49, 1577 lines)
  51. boolean.topology_intersector_p1 (layer 50, 2491 lines)
  52. boolean.topology_intersector_p2 (layer 51, 2195 lines)
  53. boolean.topology_intersector_p3 (layer 52, 1849 lines)
  54. boolean.merge_p1 (layer 53, 993 lines)
  55. boolean.merge_p2 (layer 54, 1967 lines)
  56. boolean.merge_p5 (layer 55, 475 lines)
  57. boolean.merge_p4 (layer 56, 2590 lines)
  58. boolean.merge_p3 (layer 57, 1152 lines)
  59. blend.fillet_executive_p1 (layer 58, 2063 lines)
  60. blend.fillet_corner_p1 (layer 59, 1971 lines)
  61. blend.fillet_geom_p4 (layer 60, 2074 lines)
  62. blend.fillet_executive_p2 (layer 61, 1152 lines)
  63. blend.fillet_geom_p2 (layer 62, 2077 lines)
  64. blend.fillet_geom_p5 (layer 63, 1952 lines)
  65. blend.fillet_corner_p2 (layer 64, 1892 lines)

Unit-level cycles

4 strongly connected unit groups; sizes: 220, 5, 3, 2. Total back-edges dropped: 800.

  • SCC #22 (220 units, 339525 lines): geom.extent3d, geom.vector2d, geom.attribute, geom.tol, geom.tree, geom.assert_array, geom.context, geom.extent1d, geom.matrix, geom.periodic_extent1d, geom.vector3d, geom.axis2_placement, geom.extent2d, geom.geom_utility_p2, geom.hash_table, geom.local_solve1d, geom.local_solve_nd, geom.object, geom.polynomial, geom.geom_utility_p1, geom.grid, geom.polar_box, geom.solution_array, geom.global_solver, geom.pseudo_box, geom.tools, geom.transform, curve.hermite_curve, geom.a_object, geom.point_set, nurbs.nurbs_crv, topology.topology, nurbs.b_spline_curve_p1, nlib.srf_nurb, nlib.srf_tool_p2, nurbs.b_spline_curve_n_lib, nurbs.nurbs_srf, nlib.srf_adv_p2, nlib.srf_adv_p3, nlib.srf_tool_p3, nurbs.b_spline_curve_p2, nurbs.b_spline_surface_p1, curve.curve_p2, nlib.srf_tool_p4, nurbs.b_spline_curve_p3, curve.conic, curve.crv_in_volume, curve.curve_cache, curve.hyperbola, curve.iso_curve, curve.line, curve.offset_curve, curve.parabola, curve.projected_curve, curve.tangent_field, nlib.srf_adv_p4, curve.ellipse_p2, nlib.srf_adv_p1, nlib.srf_adv_p5, surface.volume_p1, curve.curve_p4, nlib.srf_adv_p6, nlib.srf_offset, surface.b_spline_volume, surface.twist_volume, curve.curve_p3, nurbs.b_spline_surface_n_lib_p1, curve.curve_p1, curve.curve_p6, nurbs.b_spline_surface_n_lib_p2, curve.crv_on_surf, curve.curve_p7, curve.ellipse_p1, nurbs.b_spline_surface_p2, curve.curve_p8, curve.composite_curve_p1, surface.surface_p2, curve.composite_curve_p2, curve.curve_p5, surface.curve_bounded_surface, surface.surface_cache_p1, curve.curve_p9, surface.plane_p1, surface.surf_of_revolution_p1, surface.surface_p9, surface.trim_srf_cache, surface.bend_volume, surface.cone_p1, surface.surf_of_extrusion_p1, surface.surf_of_revolution_p3, surface.surface_cache_p2, surface.torus, surface.unbend_volume, surface.cone_p2, surface.surf_of_revolution_p2, surface.surface_cache_p3, surface.volume_p2, surface.surface_p7, intersect.surface_tracer, surface.plane_p2, surface.surface_p4, surface.sphere, surface.surf_of_extrusion_p2, surface.surface_p5, surface.cone_p3, surface.surface_p1, surface.surface_p6, intersect.point_class, surface.srf_in_volume, surface.surface_p10, surface.surface_p3, intersect.curve_class_p1, intersect.surface_drop_lib_p1, intersect.surface_silhouette, surface.offset_surface, surface.surface_p11, surface.surface_p8, intersect.curve_class_p7, intersect.ray_tracer, intersect.surface_drop_curve, intersect.surface_drop_lib_p2, intersect.surface_intersector_p1, intersect.topology_solver_p1, surface.surface_point_solve_p1, topology.brep_data, topology.proto_topology_p1, intersect.adv_surface_intersector, intersect.curve_class_p2, intersect.surface_drop_lib_p3, intersect.surface_intersector_p2, surface.surface_point_solve_p2, topology.edgeuse_p1, intersect.curve_class_p3, intersect.curve_class_p4, intersect.surface_intersector_p3, surface.surface_point_solve_p3, intersect.curve_class_p6, intersect.surface_intersector_p4, intersect.topology_solver_p2, topology.face_p2, intersect.curve_class_p5, intersect.surface_intersector_p5, topology.edgeuse_p2, topology.shell, intersect.curve_class_p8, intersect.curve_class_p9, topology.vertexuse, topology.vertex, topology.loopuse, topology.brep_p8, topology.edge, blend.fillet_custom_solver, query.edge, topology.edgeuse_p3, topology.trimming_tools, heal.gap, query.loop, topology.face_p4, query.face_p2, topology.brep_p10, topology.face_p3, topology.topology_traverser, query.face_p3, query.poly, topology.brep_p7, topology.face_p1, query.face_p1, query.face_p4, query.tess, topology.brep_p1, topology.brep_p6, heal.face_props, topology.brep_cache, topology.brep_p4, topology.brep_p9, topology.brep_p2, topology.brep_p5, blend.fillet_geom_p1, heal.heal_data_p2, mass.integrator, query.brep, topology.brep_p3, topology.proto_topology_p2, blend.fillet_solver_p1, blend.hcr, heal.heal_data_p1, heal.stitch_p1, primitive.primitive_creation_p1, topology.proto_topology_p3, blend.fillet_intersector, blend.fillet_solver_p5, blend.fillet_standard_solver_p1, boolean.topology_intersector_p1, heal.heal_data_p3, heal.stitch_p2, blend.fillet_solver_p4, boolean.topology_intersector_p2, sweep.topology_sweep, boolean.topology_intersector_p3, sweep.rotational_sweep_geometry, sweep.trans_sweep_geometry, boolean.merge_p1, blend.fillet_executive_p3, boolean.merge_p2, boolean.merge_p5, boolean.merge_p4, boolean.merge_p3, blend.fillet_executive_p1, blend.fillet_corner_p1, blend.fillet_solver_p2, blend.fillet_solver_p3, blend.fillet_geom_p3, blend.fillet_geom_p4, blend.fillet_geom_p6, blend.fillet_standard_solver_p2, blend.fillet_corner_p3, blend.fillet_executive_p2, blend.fillet_geom_p2, blend.fillet_geom_p5, blend.fillet_corner_p2

  • SCC #6 (5 units, 7269 lines): nlib.crv_basic, nlib.crv_tool_p1, nlib.crv_nurb, nlib.crv_geom, nlib.crv_tool_p2

  • SCC #2 (3 units, 5303 lines): nlib.math, nlib.geom, nlib.srf_basic

  • SCC #26 (2 units, 4759 lines): offset.offset_geometry_creation, offset.offset_executive_p1

Layers

Layer 0 (5 units, 5563 lines)

geom.extent3d (1122), geom.vector2d (339), nlib.knots (768), nlib.math (2971), topology.database_io (363)

Layer 1 (4 units, 4346 lines)

geom.attribute (920), geom.tol (923), geom.tree (1259), nlib.geom (1244)

Layer 2 (8 units, 5943 lines)

geom.assert_array (373), geom.context (355), geom.extent1d (974), geom.matrix (816), geom.periodic_extent1d (406), geom.vector3d (1145), nlib.basis_basic (786), nlib.srf_basic (1088)

Layer 3 (11 units, 8721 lines)

geom.axis2_placement (479), geom.extent2d (766), geom.geom_utility_p2 (1617), geom.hash_table (593), geom.local_solve1d (1294), geom.local_solve_nd (860), geom.object (673), geom.polynomial (386), nlib.basis_adv (361), nlib.bezier (1154), nlib.funcs_basic (538)

Layer 4 (5 units, 6894 lines)

geom.geom_utility_p1 (2178), geom.grid (876), geom.polar_box (979), geom.solution_array (1319), nlib.crv_basic (1542)

Layer 5 (8 units, 10101 lines)

geom.global_solver (1775), geom.pseudo_box (1508), geom.tools (326), geom.transform (681), nlib.crv_fit_p1 (1707), nlib.crv_tool_p1 (1371), nlib.iges (1055), nlib.srf_tool_p1 (1678)

Layer 6 (7 units, 8512 lines)

curve.hermite_curve (383), geom.a_object (935), geom.point_set (694), nlib.crv_fit_p2 (1586), nlib.crv_nurb (1879), nlib.funcs_adv (1676), nlib.srf_fit (1359)

Layer 7 (5 units, 6300 lines)

nlib.crv_fit_p3 (1234), nlib.crv_geom (729), nlib.crv_tool_p2 (1748), nurbs.nurbs_crv (2200), topology.topology (389)

Layer 8 (3 units, 3226 lines)

nlib.crv_adv_p1 (2031), nlib.crv_common (803), nlib.spiral (392)

Layer 9 (3 units, 4277 lines)

nlib.crv_adv_p2 (1722), nlib.srf_common (661), nurbs.b_spline_curve_p1 (1894)

Layer 10 (3 units, 3814 lines)

nlib.crv_approx (908), nlib.crv_offset (346), nlib.srf_nurb (2560)

Layer 11 (3 units, 5437 lines)

nlib.srf_tool_p2 (1455), nurbs.b_spline_curve_n_lib (2794), nurbs.nurbs_srf (1188)

Layer 12 (5 units, 9372 lines)

nlib.srf_adv_p2 (2097), nlib.srf_adv_p3 (2233), nlib.srf_tool_p3 (1380), nurbs.b_spline_curve_p2 (1872), nurbs.b_spline_surface_p1 (1790)

Layer 13 (3 units, 4494 lines)

curve.curve_p2 (2302), nlib.srf_tool_p4 (1005), nurbs.b_spline_curve_p3 (1187)

Layer 14 (11 units, 9993 lines)

curve.conic (859), curve.crv_in_volume (949), curve.curve_cache (1474), curve.hyperbola (468), curve.iso_curve (310), curve.line (1884), curve.offset_curve (492), curve.parabola (441), curve.projected_curve (569), curve.tangent_field (319), nlib.srf_adv_p4 (2228)

Layer 15 (4 units, 7088 lines)

curve.ellipse_p2 (1916), nlib.srf_adv_p1 (1188), nlib.srf_adv_p5 (1970), surface.volume_p1 (2014)

Layer 16 (5 units, 7079 lines)

curve.curve_p4 (2377), nlib.srf_adv_p6 (2214), nlib.srf_offset (613), surface.b_spline_volume (1226), surface.twist_volume (649)

Layer 17 (2 units, 4105 lines)

curve.curve_p3 (2072), nurbs.b_spline_surface_n_lib_p1 (2033)

Layer 18 (3 units, 6405 lines)

curve.curve_p1 (2097), curve.curve_p6 (2376), nurbs.b_spline_surface_n_lib_p2 (1932)

Layer 19 (4 units, 6662 lines)

curve.crv_on_surf (1728), curve.curve_p7 (1666), curve.ellipse_p1 (1930), nurbs.b_spline_surface_p2 (1338)

Layer 20 (2 units, 2319 lines)

curve.curve_p8 (1670), primitive.api_curves (649)

Layer 21 (2 units, 4098 lines)

curve.composite_curve_p1 (1700), surface.surface_p2 (2398)

Layer 22 (4 units, 5912 lines)

curve.composite_curve_p2 (1345), curve.curve_p5 (2299), surface.curve_bounded_surface (324), surface.surface_cache_p1 (1944)

Layer 23 (5 units, 7457 lines)

curve.curve_p9 (1783), surface.plane_p1 (1934), surface.surf_of_revolution_p1 (1522), surface.surface_p9 (1252), surface.trim_srf_cache (966)

Layer 24 (8 units, 9920 lines)

surface.b_spline_volume_n_lib (310), surface.bend_volume (945), surface.cone_p1 (1835), surface.surf_of_extrusion_p1 (1865), surface.surf_of_revolution_p3 (1620), surface.surface_cache_p2 (1245), surface.torus (1180), surface.unbend_volume (920)

Layer 25 (4 units, 6218 lines)

surface.cone_p2 (1656), surface.surf_of_revolution_p2 (1369), surface.surface_cache_p3 (1703), surface.volume_p2 (1490)

Layer 26 (1 units, 2406 lines)

surface.surface_p7 (2406)

Layer 27 (3 units, 5797 lines)

intersect.surface_tracer (1900), surface.plane_p2 (1627), surface.surface_p4 (2270)

Layer 28 (3 units, 6602 lines)

surface.sphere (2861), surface.surf_of_extrusion_p2 (1420), surface.surface_p5 (2321)

Layer 29 (3 units, 6547 lines)

surface.cone_p3 (1939), surface.surface_p1 (2458), surface.surface_p6 (2150)

Layer 30 (4 units, 5654 lines)

intersect.point_class (909), surface.srf_in_volume (779), surface.surface_p10 (2172), surface.surface_p3 (1794)

Layer 31 (6 units, 10494 lines)

intersect.curve_class_p1 (2087), intersect.surface_drop_lib_p1 (1478), intersect.surface_silhouette (979), surface.offset_surface (1787), surface.surface_p11 (1789), surface.surface_p8 (2374)

Layer 32 (9 units, 16225 lines)

intersect.curve_class_p7 (2248), intersect.ray_tracer (1246), intersect.surface_drop_curve (2014), intersect.surface_drop_lib_p2 (1080), intersect.surface_intersector_p1 (1816), intersect.topology_solver_p1 (1838), surface.surface_point_solve_p1 (1771), topology.brep_data (1466), topology.proto_topology_p1 (2746)

Layer 33 (6 units, 10352 lines)

intersect.adv_surface_intersector (1646), intersect.curve_class_p2 (1928), intersect.surface_drop_lib_p3 (2062), intersect.surface_intersector_p2 (1677), surface.surface_point_solve_p2 (1882), topology.edgeuse_p1 (1157)

Layer 34 (4 units, 7222 lines)

intersect.curve_class_p3 (1986), intersect.curve_class_p4 (2022), intersect.surface_intersector_p3 (1932), surface.surface_point_solve_p3 (1282)

Layer 35 (4 units, 7001 lines)

intersect.curve_class_p6 (2213), intersect.surface_intersector_p4 (1570), intersect.topology_solver_p2 (1391), topology.face_p2 (1827)

Layer 36 (4 units, 3989 lines)

intersect.curve_class_p5 (2017), intersect.surface_intersector_p5 (622), topology.edgeuse_p2 (600), topology.shell (750)

Layer 37 (3 units, 4549 lines)

intersect.curve_class_p8 (1900), intersect.curve_class_p9 (1220), topology.vertexuse (1429)

Layer 38 (1 units, 824 lines)

topology.vertex (824)

Layer 39 (1 units, 892 lines)

topology.loopuse (892)

Layer 40 (2 units, 3981 lines)

topology.brep_p8 (1768), topology.edge (2213)

Layer 41 (4 units, 7412 lines)

blend.fillet_custom_solver (1236), query.edge (1025), topology.edgeuse_p3 (2273), topology.trimming_tools (2878)

Layer 42 (3 units, 4117 lines)

heal.gap (1475), query.loop (830), topology.face_p4 (1812)

Layer 43 (4 units, 5716 lines)

query.face_p2 (1161), topology.brep_p10 (1890), topology.face_p3 (1881), topology.topology_traverser (784)

Layer 44 (4 units, 8413 lines)

query.face_p3 (1620), query.poly (2119), topology.brep_p7 (2503), topology.face_p1 (2171)

Layer 45 (5 units, 6668 lines)

query.face_p1 (465), query.face_p4 (1432), query.tess (838), topology.brep_p1 (2454), topology.brep_p6 (1479)

Layer 46 (4 units, 6355 lines)

heal.face_props (1410), topology.brep_cache (389), topology.brep_p4 (2113), topology.brep_p9 (2443)

Layer 47 (2 units, 4636 lines)

topology.brep_p2 (2443), topology.brep_p5 (2193)

Layer 48 (6 units, 10415 lines)

blend.fillet_geom_p1 (2113), heal.heal_data_p2 (2160), mass.integrator (1031), query.brep (517), topology.brep_p3 (2503), topology.proto_topology_p2 (2091)

Layer 49 (7 units, 11403 lines)

blend.fillet_solver_p1 (1861), blend.hcr (1875), heal.heal_data_p1 (922), heal.stitch_p1 (2037), primitive.primitive_creation_p1 (2322), query.api_queries (809), topology.proto_topology_p3 (1577)

Layer 50 (6 units, 11256 lines)

blend.fillet_intersector (1708), blend.fillet_solver_p5 (848), blend.fillet_standard_solver_p1 (2336), boolean.topology_intersector_p1 (2491), heal.heal_data_p3 (1967), heal.stitch_p2 (1906)

Layer 51 (4 units, 8707 lines)

blend.fillet_solver_p4 (1404), boolean.topology_intersector_p2 (2195), offset.offset_geometry_creation (2652), sweep.topology_sweep (2456)

Layer 52 (3 units, 4208 lines)

boolean.topology_intersector_p3 (1849), sweep.rotational_sweep_geometry (1542), sweep.trans_sweep_geometry (817)

Layer 53 (2 units, 2835 lines)

boolean.merge_p1 (993), primitive.primitive_creation_p3 (1842)

Layer 54 (2 units, 3575 lines)

blend.fillet_executive_p3 (1608), boolean.merge_p2 (1967)

Layer 55 (1 units, 475 lines)

boolean.merge_p5 (475)

Layer 56 (1 units, 2590 lines)

boolean.merge_p4 (2590)

Layer 57 (1 units, 1152 lines)

boolean.merge_p3 (1152)

Layer 58 (3 units, 4731 lines)

blend.fillet_executive_p1 (2063), boolean.api_brep (410), primitive.primitive_creation_p2 (2258)

Layer 59 (7 units, 8924 lines)

blend.fillet_corner_p1 (1971), blend.fillet_solver_p2 (1939), blend.fillet_solver_p3 (1112), offset.offset_executive_p1 (2107), primitive.api_primitives (885), sweep.api_brep (529), sweep.api_surfaces (381)

Layer 60 (5 units, 8754 lines)

blend.fillet_geom_p3 (1032), blend.fillet_geom_p4 (2074), blend.fillet_geom_p6 (1813), blend.fillet_standard_solver_p2 (1989), offset.offset_executive_p2 (1846)

Layer 61 (2 units, 2849 lines)

blend.fillet_corner_p3 (1697), blend.fillet_executive_p2 (1152)

Layer 62 (1 units, 2077 lines)

blend.fillet_geom_p2 (2077)

Layer 63 (1 units, 1952 lines)

blend.fillet_geom_p5 (1952)

Layer 64 (1 units, 1892 lines)

blend.fillet_corner_p2 (1892)