jscad / OpenJSCAD.org

JSCAD is an open source set of modular, browser and command line tools for creating parametric 2D and 3D designs with JavaScript code. It provides a quick, precise and reproducible method for generating 3D models, and is especially useful for 3D printing applications.
https://openjscad.xyz/
MIT License
2.63k stars 512 forks source link

Move repostitories(Openjscad, CSG.js , openscad translator) to a Github Organization #213

Closed kaosat-dev closed 7 years ago

kaosat-dev commented 7 years ago

Problem Right now we are facing a few headaches because of the dependencies between packages, forks of forks , outdated or not maintained repos that we depend upon , lack of node.js packaging for some of them etc

Proposal

  1. Move / ask the authors to move these repostories to a common Organization : https://github.com/jscad The list of packages should be :

  2. Make sure that all of these modules are useable in all these environments:

    • browser
    • node.js (+ Browserify for the above)

All of this would reduce headaches, make common work easier , PR's easier, avoid 'dead forks', and allow all these projects to move forward faster & better .

Would love to hear what everybody (especially @spiritdude, @z3dev, @dav-m85, @mtippett) thinks, and if I have missed something, please post here !

joostn commented 7 years ago

I think this would be great. We also have the OpenJsCad organization (https://github.com/OpenJsCad) set up by Stefan (@bebbi) a while ago. @z3dev you asked a while ago to be transfered ownership, apologies for not replying - you can use this organization name if you want. (I think @bebbi you would agree too?)

Whatever the name, I'd be happy to transfer joostn-csg.js to the organization, there are no active maintainers currently and I don't have the time.

kaosat-dev commented 7 years ago

Thanks for chiming in @joostn ! Glad you like the idea ! We ( @z3dev & I ) actually wondered who had registered that org :)

joostn-csg.js: that would be this one right ? https://github.com/evanw/csg.js I just split out the more up to date version of csg.js from your openjscad repo to https://github.com/jscad/csg.js, does that make more sense (from the list of commits /contribs etc) ?

Personally, either org name is fine, even if favor the shorter one (as it seems it was already used by some people publishing openjscad extensions on NPM under scad-utils , scad-xx names, but that is another topic)

dav-m85 commented 7 years ago

Proposal +1. I p. prefer the shorter jscad org name, faster to type when npm requiring.

Le 7 janv. 2017 08:49, "Mark Moissette" notifications@github.com a écrit :

Thanks for chiming in @joostn https://github.com/joostn ! Glad you like the idea ! We ( @z3dev https://github.com/z3dev & I ) actually wondered who had registered that org :)

joostn-csg.js: that would be this one right ? https://github.com/evanw/csg.js I just split out the more up to date version of csg.js from your openjscad repo to https://github.com/jscad/csg.js, does that make more sense (from the list of commits /contribs etc) ?

Personally, either org name is fine, even if favor the shorter one (as it seems it was already used by some people publishing openjscad extensions on NPM under scad-utils , scad-xx names, but that is another topic)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Spiritdude/OpenJSCAD.org/issues/213#issuecomment-271084875, or mute the thread https://github.com/notifications/unsubscribe-auth/ABcwbgvMoSFcp2FCrW7a6OId9q1_oFmjks5rP5fUgaJpZM4LdYYg .

bebbi commented 7 years ago

yes of course, if that's still required. btw for a project starting afresh I'd go with webpack.

joostn commented 7 years ago

@kaosat-dev: no, not evanw's, this is the one: https://github.com/joostn/OpenJsCad/blob/gh-pages/src/csg.js

This was forked in 2012 from evanw's version, beacause he wanted to keep his version clean and simple (see: https://github.com/evanw/csg.js/pull/6)

@Spiritdude then forked my version of csg.js a few years ago, he built the nice gui and added the global namespace operators. The two forks ran out of sync (partly my fault because I kept committing to my own repo) but they were synchronized later by bebbi and others.

Looks like they are running out of sync again which is bad, so please go ahead and host the master copy of CSG.js and formats.js in your organization. When I find the time I'll change http://joostn.github.io/OpenJsCad/ to use your copy as a subrepository. Spiritdude/OpenJSCAD.org should do the same.

kaosat-dev commented 7 years ago

@dav-m85 you read my mind :)

@bebbi thanks !

@joostn whoops ! my bad, I copy pasted the wrong link (blame it on my excess of tabs & lack of coffee). I of course used yours as a basis since that is the one with the most recent set of commits , and also contributions by @z3dev etc :)

I agree with your points, keeping things in sync is good ! This would also be a good occasion to add unit tests (a few are already on it ) etc, and avoid the general confusions around the forks.

(btw I have following things for a while since I also forked your version of OpenJscad a few years ago to create CoffeeScad ;)

joostn commented 7 years ago

Ah yes of course, you know all history. Sorry for missing that!

kaosat-dev commented 7 years ago

@joostn no worries !

mtippett commented 7 years ago

@kaosat-dev That works for me, arguably I am more interested in formats, blobs and csg than openscad/openjscad.

My quick and dirty dependency diagram would look something like...

mtp-test

mtippett commented 7 years ago

An update. I moved my personal code to https://github.com/jscad/csg.js, and it worked fine. I'll try to see what to do about the format output.

kaosat-dev commented 7 years ago

Also pinging you @garyhodgson for the translator, this is the 'move I mentioned' : would you be ok with transfering it ? :)

garyhodgson commented 7 years ago

Hi. Sure no problem. I thought it was no longer necessary as you have a fork in the jscad org already.

I just tried to transfer the project and got the following message: "jscad/openscad-openjscad-translator already exists and You don’t have the permission to create repositories on jscad"

Open to suggestions 😺

kaosat-dev commented 7 years ago

@garyhodgson you can now transfer it, I removed the fork :) thanks for merging the PR too !

kaosat-dev commented 7 years ago

thanks @garyhodgson :)

apla commented 7 years ago

I'm the current maintainer of the atom-scad-preview package which is really handy to edit and preview models side by side. I would like to see somewhere repository with already created basic models such as nuts, bearings and so on. Seems like jscad github org is a perfect place for that repo.

kaosat-dev commented 7 years ago

@apla that would be a good idea, for the most 'standard' of parts , I think it would be a very good idea we could reuse the work of / collaborate with @joostn 's BOLTS : http://www.bolts-library.org/en/index.html since there are a TON of standardized measurements (I used to use those regularly with CoffeeScad)

jonnor commented 7 years ago

I see the that https://www.npmjs.com/package/@jscad/csg was moved out. However no PR to make OpenJSCAD use this yet? Will this work happen in this repo?

jonnor commented 7 years ago

Another piece I one could consider splitting out (probably after the initial pieces here are done) is the 3d-view widget. I think that would be useful in other places that use CSG.js also

dav-m85 commented 7 years ago

Hi @jonnor, you may want to check the dev branch where the csg move out is actually happening. I don't know when it is planned to be merged into master, it is however under active development.

Totally agree on the 3d-view widget.

kaosat-dev commented 7 years ago

@jonnor & @dav-m85 as @dav-m85 said, most of the work is done in the dev branch, the main thing remaning before master is

As far as the 3D view widget goes : I will be honest, while it makes sense to have it 'swappable' /split out, the quality of the code there is really not up to the level of the rest (Ie, no seperation of concerns between view/ camera controls/event handling), messy structure etc :)

kaosat-dev commented 7 years ago

This is all done, closing !