aclysma / rafx

Multi-backend renderer with asset pipeline. The objective of this repo is to build a scalable, flexible, data driven renderer.
Apache License 2.0
633 stars 32 forks source link

New crate.io release #234

Closed gzp79 closed 6 months ago

gzp79 commented 2 years ago

The current release on crate.io (0.0.14) does not contain the VisibilityRegion -> VisibilityResource name and the related changes. Have you planned creating a new release ?

Also I comment on versioning. I know it's stile a 0.* version, but other creates usually increment the minor version when a new breaking change is introduced (while 1.0 is not reached). The patch version is usually incremented on fixing some minor glitch, internal bugs or extending the api. Thus it allows dependents to pull in a version like "0.14" and "ignore" the patch version generally. In you versioning the version "0.0.14" breaks this, so If I may suggest to use the minor version to be incremented as a rule of thumb while 1.0 is not reached. (https://doc.rust-lang.org/cargo/reference/semver.html)

Please keep up the great work. The crate seems really promising and I wish it got more popularity.

aclysma commented 2 years ago

I agree a new release is overdue. I'm taking a short hiatus because I'm busy with personal things (moving!) but it wouldn't take much time to do a release. I'd also like to upload a more recent video of the demo project (including the new compute-based occlusion culling)

The handling of 0.0.x version numbers is treated similarly to 0.x version numbers according to https://doc.rust-lang.org/cargo/reference/semver.html#change-categories

Initial development releases starting with "0.y.z" can treat changes in "y" as a major release, and "z" as a minor release. "0.0.z" releases are always major changes. This is because Cargo uses the convention that only changes in the left-most non-zero component are considered incompatible.

I think rafx-api could probably be stable enough in terms of API to be a 0.x.y but for the other crates at this point, I'm not making any attempt at avoiding public API changes. Once the API is more settled, I'll switch to 0.x.y.

Thanks for the encouragement, I'm looking forward to getting back to this. :)

aclysma commented 2 years ago

Tried to publish 0.0.15, rafx-assets and crates that depend on it can't be published currently because they rely on changes in distill that have not been published yet. I can ask around about this later on. Anyone just wanting to use rafx-api, the shader processor, and framework-level code should be set though.

gzp79 commented 6 months ago

Closing, no change for years

aclysma commented 6 months ago

You might be interested in https://github.com/aclysma/hydrate and this branch https://github.com/aclysma/rafx/tree/use-hydrate that is using it. This will be brought over to the main branch soon.

While I probably will publish a crates.io release after this branch is brought over, I think because of the experimental nature of this crate and the high likelihood of having to make local changes to use it, it's better to use rust's crate-patching mechanism so that you have the latest code, and you can conveniently edit it.