Skip to content

RE: Reproduce sketch-to-solid geometry reconstruction pipeline #156

Description

@DrunkOnJava

Provenance and credit

This issue records a finding reported by @STE1200 and their team in Discussion #112, “Set of findings”. Thank you to Steffen and the team for sharing the reported end-to-end result and its real-family validation count.

The technical statements below are reported claims, not yet independently reproduced by rvt-rs. Griffin will carry the repository-side evidence gathering, probes, tests, integration, and documentation; this issue does not assign formal issue or test preparation to Steffen's team.

Reported finding

The team reports an end-to-end reconstruction pipeline:

sketch curve records → closed loops → extrusion/sweep/revolve parameters → solids

Using raw streams from a real family, they reportedly rebuilt 85 of 86 extrusions in a CAD kernel.

This issue records an evidence/reproduction and integration target. It does not claim that rvt-rs already supports this pipeline or that the reported result generalizes beyond the investigated family.

Reported evidence

Discussion #112 provides the pipeline stages and the 85/86 result. It does not include the specific record layouts, curve vocabulary, loop ordering/orientation rules, placement transforms, CAD-kernel tolerances, validation metric, fixture provenance, or reason the remaining extrusion failed. Those details must be obtained or independently derived and must not be invented.

Why it matters

This could connect the repository's current record and parameter work to real geometry rather than placeholder dimensions. It is relevant to wall, slab, family-instance, viewer, and IFC work, but the evidence layer should be established before distributing partial support across those feature issues.

Related implementation umbrellas include #30, #31, #32, and #66. This issue is not a duplicate of those output goals; it tracks independent reproduction of the reported raw-stream-to-solid chain and the evidence needed to integrate it honestly.

Independent verification still required

  • Identify the record and parameter evidence for every pipeline stage.
  • Define supported curve/loop/operation variants and version/file-type scope.
  • Establish loop closure, orientation, nesting, placement, and unit rules from bytes rather than assumptions.
  • Select an independent CAD/geometry oracle and define success beyond “kernel accepted the solid.”
  • Reproduce the reported success ratio or document why the available corpus yields a different result.
  • Investigate the unmatched 1/86 case without treating it as noise.

The hypothesis would be falsified or narrowed if reconstructed loops/parameters do not match independent geometry evidence, or if success depends on sample-specific assumptions that cannot be version-gated.

Repository-side acceptance criteria

  • Add staged probes for curve records, loop assembly, operation parameters, and final solid descriptors, retaining source offsets/provenance.
  • Reproduce or refute the pipeline on at least one provenance-safe family fixture and publish exact numerator/denominator results.
  • Record the validation oracle, tolerances, unsupported operations, and the reason for every failed reconstruction.
  • Add synthetic tests for loop ordering/orientation, holes, units, transforms, and extrusion/sweep/revolve parameter handling as each rule is confirmed.
  • Integrate confirmed geometry incrementally behind explicit confidence/unsupported diagnostics; do not present partial reconstruction as general RVT support.
  • Connect confirmed outputs to the relevant M4/IFC/viewer issues without duplicating their user-facing acceptance criteria.
  • Add a dated, confidence-scored reconnaissance addendum and update the supported-profile/status documentation.

The probe, fixture provenance, regression tests, and documentation should follow the repository's reverse-engineering contribution requirements.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:elementsWork in the elements area.area:geometryWork in the geometry area.priority:P1High-impact work needed for the MVP or beta path.re-findingNew RVT on-disk format findingresearch-criticalGated on format evidence or an oracle; not a release/security blocker (GOV-002)type:researchReverse engineering, discovery, or design investigation.

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions