-
Notifications
You must be signed in to change notification settings - Fork 0
Contributing
← Home
Contributions to Solarxy are welcome - bug reports, feature ideas, documentation fixes, and code are all appreciated.
-
Report a bug or request a feature: open an issue. Include your OS, GPU, Solarxy version (
solarxy-cli --about), and steps to reproduce. Output fromsolarxy --verbose(or right-click → Copy in the in-app console) is gold for debugging. - Ask a question or share a use case: head to Discussions.
-
Propose a code change: fork the code repository, create a topic branch, and open a pull request against
main. Small focused PRs with a clear description are the easiest to review. (Wiki edits use a different flow - see the next bullet.) -
Improve docs: this wiki accepts direct contributions on its own repository (
solarxy.wiki.git). Clone it, edit the markdown on thedevelopbranch, commit, and push tomasteronce a coherent slice is ready. GitHub wikis don't accept pull requests; flag major edits in an issue first if you want feedback before pushing. Most major pages have a "See also" footer; keep cross-references consistent.
For contributors hacking on the codebase, the developer-facing architecture notes live in the repo's CLAUDE.md. It covers:
- The 7-crate workspace layout (
solarxy,solarxy-core,solarxy-formats,solarxy-renderer,solarxy-app,solarxy-validate,solarxy-cli) - GPU uniform layout invariants (hand-rolled
#[repr(C)]structs with size asserts) - The IBL chokepoint pattern (
rebuild_light_bind_groupinsolarxy-app/src/state/update.rs) - Sidebar ↔ state plumbing via
GuiSnapshot - Cross-crate type ownership rules
- Review system data model (
solarxy-core/src/review.rs) + app-side state (solarxy-app/src/state/review.rs) + UI (solarxy-app/src/gui/review_panel.rs,review_overlay.rs,review_popup.rs,review_visuals.rs) - Validation orchestrator + pipeline adapters (
solarxy-validatecrate - GitHub Actions / generic-JSON, plus a library API for external vendors) - Dockable layout persistence (
solarxy-app/src/gui/dock.rs+solarxy-core/src/preferences.rs::DockPrefs) - Material Inspector thumbnail caching (
solarxy-app/src/gui/material_inspector.rs)
Deeper maintainer-facing notes live in the repo's docs/ directory - docs/review-system.md (the Review System anchor-stability contract) and docs/integrations/ (the CI/CD recipe sources).
Keep clippy at pedantic with the per-crate allow lists at the top of each lib.rs. Run cargo fmt, cargo clippy --all-targets, and cargo test --workspace before opening a PR.
The canonical changelog lives at Release Notes on this wiki. There is no in-repo CHANGELOG.md - release-note authoring happens here, and the GitHub Release body is generated from cargo-dist's manifest.
See also: Release Notes · User Guide
Solarxy - A lightweight, cross-platform 3D model viewer and validator built with Rust and wgpu.
GitHub Repository · Releases & Downloads
© 2026 Marko Koljancic · MIT License
Getting Started
Tutorials
Using Solarxy
Reference
Help
Project