Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split mittsu gem into mittsu-core and mittsu-renderer-opengl #125

Conversation

Floppy
Copy link
Contributor

@Floppy Floppy commented Mar 13, 2024

This is an early PR for my attempt to resolve #115 by splitting mittsu into two gems. I think it can all be done in the same repo, and I've made it so that mittsu gem itself simply depends on the two component parts.

I've kept a single version string, and made them depend on that exact version, to avoid any differences causing problems. Can always be split later on.

Resolves #115

@Floppy Floppy force-pushed the separate-core-and-renderer-gems branch from a64f5e1 to e5e179e Compare March 13, 2024 19:34
@danini-the-panini
Copy link
Owner

Would we do this in subfolders, like Rails does?

@danini-the-panini
Copy link
Owner

Also is this a patch or minor version bump, since it doesn't really change the interface

@Floppy
Copy link
Contributor Author

Floppy commented Mar 14, 2024

Yeah, subfolders is probably a good idea. And you right, technically by semver it would be a patch version, as absolutely nothing would change! Hah.

@danini-the-panini danini-the-panini added this to the 0.4.1 milestone Mar 18, 2024
@Floppy
Copy link
Contributor Author

Floppy commented Nov 12, 2024

Sorry, I never got much further on this. Hopefully I can come back to it soon.

@Floppy Floppy force-pushed the separate-core-and-renderer-gems branch 9 times, most recently from 287e0f9 to 772b958 Compare November 13, 2024 15:09
@Floppy Floppy marked this pull request as ready for review November 13, 2024 15:16
@Floppy
Copy link
Contributor Author

Floppy commented Nov 13, 2024

@danini-the-panini I think this is ready for you to take a look at. I've split it into separate folders rails-style, and there is a top-level mittsu gem for compatibility with existing installations, who shouldn't notice a difference.

gem build appears to work for all 3 gemspecs, though how this would change your release process I leave up to you.

I'm having trouble running the examples (because of #130), so I can't actually see anything, but the tests seem good; although, I can't tell if coverage upload is still working.

@Floppy Floppy mentioned this pull request Nov 13, 2024
@Floppy
Copy link
Contributor Author

Floppy commented Nov 13, 2024

OK, after rebasing #131, the examples now run, which is great!

@Floppy Floppy force-pushed the separate-core-and-renderer-gems branch from 772b958 to ed8d682 Compare November 13, 2024 22:40
@danini-the-panini danini-the-panini modified the milestones: 0.4.1, 0.5.0 Nov 17, 2024
@danini-the-panini
Copy link
Owner

danini-the-panini commented Nov 17, 2024

This is going to cause some nonsense now, since according to gem naming conventions, mittsu-core implicitely requires mittsu/core, which is not desirable in this case since it is only a subset of Mittsu's actual core functionality.

Considering Mittsu is pre-1.0, we can still reasonably introduce breaking changes in a minor version bump, and I think in this case it is warranted.

I'm going to split out the opengl renderer into its own gem and keep mittsu as a non-renderer 3d library. I think it makes sense to make it an extensible server-side analog to Three.js, with desktop-side rendering as a separate feature.

As for the opengl renderer, I'm going to move it to its own repo entirely.

@Floppy
Copy link
Contributor Author

Floppy commented Nov 17, 2024

Makes sense to me!

@Floppy
Copy link
Contributor Author

Floppy commented Nov 17, 2024

I think that complete separation is a cleaner approach than what I've tried to do here with keeping compatibility and repo structure, so I'm 100% on board. Feel free to take anything useful from what I've done here, but also just throw it away if it's easier :)

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.

Using mittsu without graphics
2 participants