Primary sources examined
| Path | Role |
|---|---|
core/native3d/include/native_3d_engine_api_v1.h | Normative base public ABI declarations. |
core/native3d/include/native_3d_animation_api_v1.h | Normative animation declarations. |
core/native3d/include/native_3d_field_api_v1.h | Normative field declarations. |
docs/api/NATIVE_3D_ENGINE_API_v1.md | Current implementation record through dev-40. |
docs/api/NATIVE_3D_FIELD_ANIMATION_API_v1.md | Field/animation behavioral contract. |
docs/api/NATIVE_3D_GRAPHICS_POLICY_v1.md | Graphics/performance policy contract. |
core/native3d/README.md | Renderer ownership, limits, diagnostics and validation notes. |
core/native3d/src/ | Implementation checked where current dev-40 behavior supersedes stale prose. |
plugins/modules/viewer.engine_3d/ | GX-TXT Viewer Provider adapter and Tcl/native bridge. |
validation/native_3d_dev038/039/040 | Focused acceptance/evidence programs for recent additions. |
validation/native_3d_engine_api_v1/ and validation/native_3d_renderer_gui/ | Broad public-API validation corpus. |
ABI export audit
The packaged core/native3d/lib/libgx3de.so exports 374 versioned gx3de_* symbols. After removing the ELF symbol-version suffix, the export set matches the 374 function declarations parsed from the three public headers exactly: no declared function is missing and no extra gx3de_* entry appears in the library.
Validation families in the source tree
| Area | Representative validation sources |
|---|---|
| Base API / sections / profiles / mesh topology | test_api.c, test_sections*.c, test_profiles_advanced.c, test_mesh_topology.c |
| Mesh import/preview/LOD/repeat/cache | test_mesh_import.c, test_mesh_preview.c, test_mesh_lod.c, test_mesh_repeats.c, disk-cache tests |
| B-Rep / STEP / healing / clipping | test_brep*.c, test_step_xde.c, test_step_job.c |
| Scientific / fields / volume | test_scientific.c, test_render_scientific.c, test_field_volume.c, test_unstructured_field.c |
| Animation | test_field_animation.c, test_multilayer_animation.c, test_pathline_timeline.c |
| Renderer / picking / gizmo / presentation | test_render_pixels.c, test_view_presentation.c, test_render_gizmo.c, integrated scene tests |
| dev-038/039/040 acceptance | wrap_scene.c, cloud_evidence.c, density_evidence.c |
Known implementation/documentation distinction
Some older README wording still mentions the former 20,000 scientific sphere-glyph limit. dev-40 source and the dev-40 implementation record supersede that point: the active renderer uses a 100,000 glyph safety cap, changes sphere tessellation above 20,000, and additionally enforces the effective display-triangle budget. This guide follows current dev-40 implementation for that detail.
Files not treated as normative ABI
Viewer Tcl scripts, plugin module descriptors and validation programs are integration examples/evidence. They help explain intended use but do not extend the C ABI beyond what the public headers export. Likewise, internal C++ backend classes under core/native3d/src are implementation details and should not be consumed by plugins.