code wiki / (root) / nx_machine_arch_test.nx

nx_machine_arch_test.nx

buildroot/runtime/nx_machine_arch_test.nx

6532 B128 linesdepth 4pulls 4 transitivereach 0 importersview sourcekind gate/prooftopic machine
docsdependenciesstructsconstsfunctions

about

nx_machine_arch_test.nx -- verify the machine-graph + kinematics + process-class abstractions are reusable across any additive machinery, with FDM polymer (Qidi X-Max 3) as the reference impl. Operator directive (2026-05-20, verbatim): "we are focused on qidi but i wanted the architecture mapped out so it was reusable on any additive machinery" Closed-form invariants: (a) Existing FDM factories (Qidi/Prusa/Voron/Bambu) ALL carry process_class == NX_PROCESS_FDM_POLYMER (architecture compliance with the multi-process taxonomy) (b) Each FDM factory has a valid kinematics class (c) Kinematics predicates classify all 8 classes consistently: - finite_z: only CONVEYOR is false (belt = unbounded Z) - xy_decoupled: Cartesian/Gantry/SCARA/Robot/Conveyor true; CoreXY/HBot/Delta false - 5_axis_or_more: only Robot_6DOF - bed_translates: Conveyor + Cartesian (bed-slinger) (d) nx_machine_set_process accepts valid processes, rejects invalid (e) Hypothetical DIW concrete machine can be constructed from the same NxMachineGraph primitive by composing a generic allocation + setter chain -- proves the substrate is NOT FDM-specific expect_exit: 0 license_tier: ORIGINAL

dependencies 3 imports · 0 importers

nx_syscalls.nx nx_print_process.nx nx_machine_graph.nx nx_machine_arch_test.nx

imports: nx_syscalls.nxnx_print_process.nxnx_machine_graph.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main nx_machine_graph_qidi_xmax nx_machine_graph_alloc sys_mmap nx_machine_graph_prusa_mk4 nx_machine_graph_alloc ↻ nx_machine_graph_voron_2_4 nx_machine_graph_alloc ↻ nx_machine_graph_bambu_x1c nx_machine_graph_alloc ↻ nx_kin_is_valid nx_kinematics_finite_z nx_kinematics_xy_decoupled nx_kinematics_5_axis_or_mo nx_kinematics_bed_translat nx_machine_set_process nx_process_is_valid nx_machine_graph_alloc ↻ nx_process_is_valid ↻ nx_process_uses_powder_bed nx_process_needs_post_cure nx_process_is_direct_write nx_process_robot_pickup_re

structs

none

consts

none

functions

33func main() -> i64