namespace OpenNest; /// /// Optional post contract for nest-level rapid verification. Opt in only when the /// post preserves Plate.Parts order and each placed Program's contour order and /// pierce positions. This does not certify retract height, parking or controller macros. /// Unknown/reordering posts still get nest diagnostics, but require acknowledgment /// that their final rapid sequence has not been verified. /// public interface IPostVerificationSupport { /// True when the post preserves the placed order for every nest. bool PreservesPlacedProgramOrder { get; } /// /// Why posting with the current settings would not move in the /// placed order, or null when it would. A post whose order depends on the nest or its /// settings overrides this; it must return null only when the posted motion sequence /// provably equals the placed one. /// string PlacedProgramOrderChange(Nest nest) => PreservesPlacedProgramOrder ? null : "does not declare that it preserves placed part/contour order and pierce positions"; }