Skip to content

feat: use flat_forms() for CDL v1.3 FormNode compatibility#7

Merged
Bissbert merged 1 commit into
mainfrom
feature/cdl-v1.3
Feb 14, 2026
Merged

feat: use flat_forms() for CDL v1.3 FormNode compatibility#7
Bissbert merged 1 commit into
mainfrom
feature/cdl-v1.3

Conversation

@Bissbert

Copy link
Copy Markdown
Contributor

Summary

  • Update 3 call sites in geometry pipeline: desc.forms -> desc.flat_forms()
  • Full backwards compatibility with CDL v1.3 FormGroup tree structure
  • 36 new regression tests validating grouped vs ungrouped CDL produces identical geometry

Files changed

  • src/crystal_geometry/geometry.py - 3 call sites updated
  • tests/test_geometry.py - 36 new regression tests

Dependencies

  • Requires gemmology-cdl-parser >= 1.3.0 (PR: gemmology-dev/cdl-parser#)

Test plan

  • pytest passes all tests (existing + 36 new regression tests)
  • Grouped CDL ({111} + {100})|striation produces identical polyhedron to {111}|striation + {100}|striation
  • All 7 crystal systems tested with grouped and ungrouped CDL variants
  • No geometry regressions for existing mineral presets

Update geometry pipeline to use desc.flat_forms() instead of desc.forms
for compatibility with CDL v1.3 FormGroup tree structure. Add 36
regression tests validating grouped vs ungrouped CDL produces identical
geometry.
@Bissbert Bissbert merged commit d953ecd into main Feb 14, 2026
7 of 17 checks passed
@Bissbert Bissbert deleted the feature/cdl-v1.3 branch February 14, 2026 16:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant