Skip to content

10 — Glossary

Term Meaning
Deep engine C++ NPSEngine owns domain logic end-to-end; UI is thin
Sole host border Only Nps.EngineHost/NpsAbi.cs may [DllImport("NPSEngine")]
C ABI / L2 src/Engine/abi/nps_c_api.h — frozen PODs + exports
Session / L1 nps::Engine — one stateful instance per handle
L0 modules zip, threemf, gcode, analysis, viewport, color, stores
Demo toolpath GenerateGcode / GenerateDemoToolpathnot a production slice
Dual harness Catch2 C++ tests + xUnit C# interop tests
Golden / Benchy 4-colors+Benchy+AMS+test-v2.3mf — 1 plate, 16562 v, 33097 t, 4 colors
NPS_ABI_VERSION Breaking-change constant (currently 1)
Test hooks Symbols under NPS_ENABLE_TEST_HOOKS (Catch2 only)
GetMeshBounds (ABI) Test-gated export; C++ class method remains for Catch2
Finding summary 16 B list row; detail 300 B on demand
Overlay mode id Open string keyspace (motion-type, thermal, …)
GcodeViewport CPU buffer prep for canvas — not a GPU engine
MeshStore / GcodeStore Session value members for mesh and gcode domains
AnalysisManager Owns analyzers, findings, overlay cache, warp grids
SafeHandle .NET RAII for native engine/viewport pointers
EngineSession C# session façade apps actually call
ViewportController C# façade for viewport ABI
FixtureLocator Finds primary 3MF without hard-coding absolute paths
StatusSink Status bar + stdout dual-write
lefthook Local pre-commit / pre-push gate runner
layer-fitness Script asserting include DAG / no UI in engine
structural-fitness Script asserting physical module structure
TARGET vs REAL Documented future layout vs tree as implemented
Stamp coupling (findings) Avoid shipping 300 B × N when list needs 16 B
POD Plain old data — fixed layout for ABI
Blittable Memory layout safe for P/Invoke without custom marshal
BGCode Binary G-code container format (partial support)
AMS / paint_color Multi-material / painted color extensions in 3MF

Wire-id constants (host)

See NpsAbi.OverlayModeId and NpsAbi.FindingCategoryId in src/Nps.EngineHost/NpsAbi.cs.

  • docs/naming.md
  • docs/architecture.md
  • This map hub: index.md