Repository navigation
Integrate reusable BIM modules, scope rules and numeric properties - #12
Merged
Merged
Conversation
JohnHeikens
approved these changes
Oct 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This integrates the reusable parts of #8 and the scope rules and numeric property types from #11 onto current master. BIM geometry modules live under
lib/bim, including extrusion, placement, bounds, mass and meshing. The Dynedra application, old C graphics compute runtime and unselected CAD modules are excluded; repository architecture stays unchanged.Compiler integration fixes validate incomplete destruction targets before lifecycle diagnostics, accept representable floating-point subnormals, and reconcile numeric constraints, pointer types and explicit variable resolution. Imported geometry expressions use explicit grouping under master’s existing ambiguity rules. MPL-2.0 licensing and provenance are retained.
Validation before the 2026-10-23 update: optimized compiler build and C++ formatting checks pass. The complete required suite initially passed 715/716 fixtures; the remaining polyline fixture had a
signedvariable/type-pattern collision, was corrected with explicit variable syntax, and passes the original test harness. All 716 fixtures are now covered successfully, plus all 53 auxiliary checks. A final five-fixture rerun passes after rebuilding, and compute SPIR-V emission was checked for its GLCompute entry point and workgroup declaration.This is a curated replacement for the selected content; merging the original PRs wholesale would reintroduce excluded application code.
Update 2026-10-23
8fcbc842) and resolved the test registration conflicts while retaining the existing provenance and numeric checks.The optimized compiler builds, formatting checks pass, and independent static review found no introduced issues. The local full run recorded 767 passes and six failures. All six are now accounted for: the four storage-exhaustion cases pass individually with their original expected output, both installer checks pass with the corrected mock, and the hidden-window Vulkan fixture passes its success scenario and all nine rejection scenarios with Xvfb pointed at the installed keyboard definitions (
/usr/share/xkeyboard-config-2). The initial native-display control hit a resize assertion; the configured virtual display supplies the fixture's intended test environment.Merged into
masteras95d87e0e. Linux CI on the final revision passes 773 checks, zero failures or skips; extension packaging and Launchpad source packaging also pass. macOS and Windows CI were still running at merge time. CI: https://github.com/OpenAEC-Foundation/dynlex/actions/runs/39970362048.