Skip to content

Feat: Geometry pipeline integration - #32

Open
dhimashary wants to merge 12 commits into
choras-org:developfrom
dhimashary:geometry-pipeline-integration
Open

Feat: Geometry pipeline integration#32
dhimashary wants to merge 12 commits into
choras-org:developfrom
dhimashary:geometry-pipeline-integration

Conversation

@dhimashary

Copy link
Copy Markdown

Geometry Compatibility & Method-Specific Validation

Introduces a declarative geometry-issue compatibility system so the platform can
tell, per simulation method, which geometry issues are acceptable or block a run.

What's new

  • Baseline compatibility (common/.../baseline_geometry_compatibility.json):
    a single source of truth listing every geometry issue kind with a label,
    description, and default compatibility level. All methods inherit this.
  • Three compatibility levels:
    • compatible — issue doesn't affect the method; use as-is.
    • warning — tolerated but may reduce accuracy / needs review.
    • incompatible — breaks the method; must be repaired before running.
  • Per-method override files (<method>/geometry_compatibility.json) that
    extends the baseline and override only the issue kinds that differ. Added
    for DE, DG, Pyroomacoustics, Misuka, and Sparrowpy.
  • Method-specific validation hooks: Each method can include a small
    validation.py file. It has one function, run_method_validation(input_file),
    that returns whether a geometry works for that method and a short reason why.
    The backend loads this file at runtime using the path in methods-config.json.

Wiring (methods-config.json)

  • New per-method keys: geometryCompatibility (path to the override file) and
    methodValidation (path to the validation module) for DE, DG,
    Pyroomacoustics, Misuka, Sparrowpy.

Documentation

  • New GEOMETRY_COMPATIBILITY_AND_VALIDATION.md explaining the baseline,
    override/merge model, compatibility levels, and how to add a method.

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