Skip to content

Releases: Ikonido/MeshContract

MeshContract v0.2.1

Choose a tag to compare

@Ikonido Ikonido released this 29 Sep 04:46
0c8d8db
  • Reject OBJ input that contains vertices but no faces.
  • Handle overflowing geometry limits safely as a structured contract error instead of an uncaught OverflowError.
  • Add regression tests.

MeshContract v0.2.0 — JSON and CI foundation

Choose a tag to compare

@Ikonido Ikonido released this 28 Sep 19:26

MeshContract v0.2.0 adds the foundation for using 3D asset contracts in automated pipelines.

Highlights:

  • Stable JSON output with --format json
  • Structured machine-readable contract violations
  • Backend-independent ValidationResult / Violation models
  • CI-friendly exit codes
  • Copyable GitHub Actions example
  • Improved package metadata for future PyPI distribution
  • Backward compatibility with v0.1 YAML contracts and text output
  • 25 tests
  • CI verified on Python 3.11 and 3.12

Current asset support remains Wavefront OBJ.

MeshContract v0.1.0 — OBJ validation MVP

Choose a tag to compare

@Ikonido Ikonido released this 28 Sep 18:45

First public MVP of MeshContract: requirements-as-code for 3D assets.

  • Wavefront OBJ validation with YAML contracts.
  • Checks vertices, faces, virtual triangle count (polygon faces are virtually triangulated), and bounding-box dimensions.
  • Supported geometry rules: max_triangles, max_vertices, max_width_m, max_height_m, max_length_m, allow_ngons.
  • CI-friendly exit codes: 0 when the contract passes; non-zero when violations are found.
  • 22 unit tests; GitHub Actions CI runs on Python 3.11 and 3.12.
  • Core validation uses backend-independent models, ready for future 3D backends.