-
Notifications
You must be signed in to change notification settings - Fork 29
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
Revamp CSG functions, make curve canvases consistent & more #234
Conversation
The addition of operation colour preservation and removal of the store/render pattern means that all Shapes now require an explicit colour. Changing the default colour of the wrapped renderer no longer has a visible effect.
Revise/clarify the logic of retrieveBundlesAndTabs() and update tests/comment.
Left over from tests with explicit tsconfig path when troubleshooting build errors
Rename params, non-deep children copy for new Group
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here is just some of my initial comments as I have not looked thoroughly at the CSG-related code and refactor yet (not my forte), but for the HTML/React related code it is looking pretty good to me although I do have a few small comments on that.
I have not yet tested these changes locally yet, but I will let you know if I find any problems.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The TypeDoc used to talk about reflections being a matter of scaling with negative factors. I have found in #206 that JSCAD doesn't like this, and Prof Low's decision regarding it. Therefore I am once again disallowing negative factors in |
I seem to be encountering the same hiccup as in #204. Actually the files are CRLF in my working dir, but looks like git is converting them to LF due to To my understanding, the current LF/CRLF in the index is inconsistent. I would also like to accomodate different eol checkouts depending on OS, which the current eslint will complain about locally. I was in the middle of some eslint changes in another branch that was for #136, so I didn't touch eslint here. There are actually some changes as well as fixes I wish to make to the eslintrcs (and probably gitattributes per #209), wider sweeping than in the draft of #241. Iirc eslint is currently operating wrongly in a few ways. @RichDom2185 Do you think I could take over with my own tailored PR wrt eslint? I will note the existing changes you have made and try to incorporate them. There are reasons behind some of the choices made in the current config which could be further discussed in such a PR, eg the reason behind so many commented rules and options. As for this PR, I would like to proceed knowing the checks are not happy with the eol, and address them in one swoop in the aforementioned PR. |
They were called components when the params were clamped between 0-1. Now more fitting to call them values when 0-255.
I agree with this. I'm not sure why our ESLint config enforces a specific line ending when git normally auto-adapts line endings when cloning to different OSses.
Sure, thanks. So far, all the changes in #241 are backwards-compatible so feel free to approve it if you me to merge it first (I'll edit the PR description accordingly).
Ok, I'll review the rest of the files, ignoring these warnings for now. |
If this PR is ready for merging I'd like to go ahead with it, as there's another long line of changes that I need to merge too |
Looks like everyone is ok with merging it so I'm merging it. |
The changes in this PR are described below.
CSG
Changes in:
package.json
,src/bundles/csg/
,src/common/utilities.ts
,src/tabs/Csg/
,yarn.lock
.ungroup()
Groups while applying accumulated transforms@category
. Add fitting categories to all exportsshape_to_stl()
todownload_shape_stl()
as it triggers a file downloadEntity
toOperable
to avoid ambiguity with renderer and JSCAD internal entities. Operables are now a user-facing termjs-slang
List types and related functions now that we have the technology@jscad/modeling
version to match patch file exactly. Also remove unusedlodash
&@types/lodash
Curve
Changes in:
src/bundles/curve/
,src/tabs/Curve/
,src/tabs/Rune/
,src/tabs/common/
src/tabs/physics_2d/DebugDrawCanvas.tsx
.make_sound()
with duration <= 0. Closes [SOUND]: make_sound should check for negative duration #110Build
Changes in:
scripts/
.yarn scripts build modules
not building any tabs (used inyarn dev
)retrieveBundlesAndTabs()
to clarify returned bundle/tab logic based on user input, and update jest test to matchRune
Changes in:
src/bundles/rune/rune_ops.ts/
.