This roadmap is the public, contributor-facing view of where rvt-rs is headed.
The support boundary lives in docs/status.md. The full task
decomposition lives in TODO.md and the matching GitHub issues.
rvt-rs should become a first-class open-source utility for BIM and AEC users who need to inspect, validate, and exchange Revit files without installing Revit or uploading private models to a third-party service.
The project is not there yet. It is currently a strong Revit inspection and
reverse-engineering toolkit with a partial IFC/viewer path. The key missing
product capability is reliable typed element recovery from real .rvt project
partition streams.
| Area | Current state | Next decision point |
|---|---|---|
| Container, compression, metadata | Shipped | Maintain compatibility and bounds checks. |
Formats/Latest schema |
Shipped | Keep 100 percent field classification gated in CI. |
| ADocument/document-level walker | Partial | Expand confidence across project releases and older files. |
| Typed project elements | Research | Decode partition records and link them to ElemTable ids. |
| IFC writer | Partial | Keep synthetic validation green while adding real-file diagnostics. |
| Browser viewer | Partial | Show confidence and unsupported-file guidance clearly. |
| Python/CLI surface | Partial | Stabilize JSON schemas and one-shot inspect workflow. |
| Write path | Partial | Keep stream-level writes honest; defer semantic writes until openability can be proven. |
Purpose: make the repository easy to trust and easy to contribute to before deep decoder work accelerates.
- One-command local quality gate.
- Explicit cargo-audit/cargo-deny expectations.
- README, roadmap, compatibility, and status docs aligned.
- GitHub issue forms for decoder work and corpus submissions.
- Contribution map for non-maintainers.
- Release artifact verification documented.
Purpose: prove that rvt-rs can recover meaningful typed building elements from real project files, not only synthesized fixtures.
- Redistributable project corpus with license metadata.
- Known-count fixtures for levels, walls, floors, doors, and windows.
- Generic partition record scanner.
ElemTableid to partition-record offset linkage.- Typed decoders wired into
iter_elementswithout false positives. - Decode confidence and provenance attached to every element.
Purpose: export useful IFC only when decoded evidence is strong enough.
- Explicit export modes: strict, proxy, and diagnostic.
- No misleading generic proxies in default export.
- IFC diagnostics sidecar describing decoded/skipped elements.
- IfcOpenShell validation for generated outputs.
- Comparison tooling against Revit-exported IFC when fixtures allow it.
Purpose: make unsupported states clear to non-technical users.
- Decode/export confidence surfaced in the viewer.
- Supported-file guidance before export.
- Demo gallery using redistributable files.
- Browser regression tests across desktop and mobile viewports.
- Accessibility and responsive layout pass.
- Desktop distribution investigation.
Purpose: ship a complete, honest workflow that gives meaningful value to users without requiring them to be Rust, Revit API, or reverse-engineering experts.
- Supported input profile documented in user language.
- End-to-end open -> inspect -> diagnose -> export workflow.
- Actionable failure modes for unsupported files.
- Non-technical documentation and screenshots.
- Release artifacts verified and reproducible.
Start with docs/contribution-map.md. The highest
leverage work is:
- Redistributable corpus files with known counts.
- Partition-stream probes that turn byte observations into falsifiable decoder hypotheses.
- Tests that prevent
iter_elementsfrom claiming false positives. - Documentation that keeps user-facing support boundaries honest.
- Viewer diagnostics that explain what the tool could and could not decode.
rvt-rs will not:
- Use Autodesk proprietary SDK internals, leaked documents, or decompiled
proprietary implementation code. See
CLEANROOM.md. - Claim production RVT-to-IFC conversion before real project typed elements and geometry are corpus-proven.
- Provide a Revit API-compatible surface.
- Resolve cloud-worksharing, licensing, or external linked-model semantics in the near-term product.