teepee changed the topic of #openscad to: OpenSCAD - The Programmers Solid 3D CAD Modeller | This channel is logged! | Website: http://www.openscad.org/ | FAQ: https://goo.gl/pcT7y3 | Request features / report bugs: https://goo.gl/lj0JRI | Tutorial: https://bit.ly/37P6z0B | Books: https://bit.ly/3xlLcQq | FOSDEM 2020: https://bit.ly/35xZGy6 | Logs: https://bit.ly/32MfbH5
califax has quit [Remote host closed the connection]
califax has joined #openscad
teepee has quit [Remote host closed the connection]
teepee has joined #openscad
mmu_man has quit [Ping timeout: 276 seconds]
Jerr85 has joined #openscad
Jerr8 has quit [Ping timeout: 260 seconds]
Jerr85 is now known as Jerr8
bitbasher has quit [Ping timeout: 272 seconds]
califax has quit [Remote host closed the connection]
califax has joined #openscad
<gbruno> [github] t-paul pushed 8 modifications (Add preferences setting for changing the application font.) https://github.com/openscad/openscad/commit/55588a4eb08068c038fc6e9eda2480adbdb7ed8e
<gbruno> [github] t-paul opened pull request #6064 (Add preferences setting for changing the application font.) https://github.com/openscad/openscad/pull/6064
teepee_ has joined #openscad
teepee has quit [Ping timeout: 240 seconds]
teepee_ is now known as teepee
<gbruno> [github] t-paul pushed 8 modifications (Merge pull request #6064 from openscad/configure-app-font Add preferences setting for changing the application font.) https://github.com/openscad/openscad/commit/450478c27cff2a2b28afeb71ed4cc42e4b1752b7
<gbruno> [github] t-paul closed pull request #6064 (Add preferences setting for changing the application font.) https://github.com/openscad/openscad/pull/6064
howiemnt1 has joined #openscad
howiemnt has quit [Ping timeout: 248 seconds]
J25k12 has joined #openscad
J25k10 has quit [Ping timeout: 252 seconds]
<gbruno> [github] t-paul pushed 6 modifications (Add command line switch to reset window settings.) https://github.com/openscad/openscad/commit/92108168e2e754b86cb54f4a4a0652dee68484ad
<gbruno> [github] t-paul opened pull request #6065 (Add command line switch to reset window settings.) https://github.com/openscad/openscad/pull/6065
<gbruno> [github] t-paul edited issue #3800 (Add option to reset window layout) https://github.com/openscad/openscad/issues/3800
<gbruno> [github] t-paul closed issue #4674 (UI font is tiny on nightly builds) https://github.com/openscad/openscad/issues/4674
snaked has joined #openscad
<gbruno> [github] t-paul pushed 6 modifications (Merge pull request #6065 from openscad/add-window-state-reset Add command line switch to reset window settings.) https://github.com/openscad/openscad/commit/05ea1e4c824efa2a6ba8156492ff7d8632741625
<gbruno> [github] t-paul closed pull request #6065 (Add command line switch to reset window settings.) https://github.com/openscad/openscad/pull/6065
_whitelogger has joined #openscad
aiyion has quit [Ping timeout: 240 seconds]
aiyion has joined #openscad
teepee has quit [Remote host closed the connection]
teepee has joined #openscad
_whitelogger has joined #openscad
LordOfBikes has quit [Read error: Connection reset by peer]
mmu_man has joined #openscad
<gbruno> [github] pca006132 closed issue #6045 (OpenSCAD reproducible hang on Apple Silicon involving calls to removed/renamed functions and variables and out-of-scope variables) https://github.com/openscad/openscad/issues/6045
<pca006132> I'm thinking if there is a reason for OpenSCAD's evaluator to run in the main thread
<RoyK> is it possible to conditionally include/use something according to a variable?
ToAruShiroiNeko has quit [Ping timeout: 260 seconds]
<sculptor> what would be the benefit of that
<sculptor> just load a file and skip module calls based on that variable
<RoyK> in a model, if the user of it sets 'hinges = true', I'll include that library
<RoyK> I do simiar things in perl/python regularly
ToAruShiroiNeko has joined #openscad
<sculptor> not possible imho
<sculptor> usage of use is lightweight - till you call a module from it
<sculptor> so...
<sculptor> now if you want to use different libs with identical module names, no luck
sculptor_ has joined #openscad
sculptor_ has quit [Changing host]
sculptor_ has joined #openscad
sculptor has quit [Ping timeout: 244 seconds]
bitbasher has joined #openscad
howiemnt1 has quit [Ping timeout: 248 seconds]
howiemnt has joined #openscad
ToAruShiroiNeko has quit [Ping timeout: 248 seconds]
ToAruShiroiNeko has joined #openscad
bitbasher has quit [Quit: ~ Trillian - www.trillian.im ~]
sculptor_ is now known as sculptor
<teepee> pca006132: I assume the only reason is that nobody jumped on that topic yet. I think the evaluation is currently not thread safe, but running on some other thread than main should not be a bigger issue.
<pca006132> yeah, I searched about it and cannot find anything regarding this
<pca006132> perhaps I should open an issue about it
<teepee> I think there is one with focus on being able to cancel
<teepee> good old one :)
<gbruno> [github] pca006132 opened issue #6066 (Separate evaluator thread) https://github.com/openscad/openscad/issues/6066
<gbruno> [github] pca006132 closed issue #6066 (Separate evaluator thread) https://github.com/openscad/openscad/issues/6066
<pca006132> oh
<pca006132> that one was old
<pca006132> didn't look that far into the past
<teepee> yeah it's both an obvious one but not that teasing to easily draw people working on it
<pca006132> I wanted to rewrite the evaluator, but need to find time to do it
<teepee> oh, I do see it as an interesting topic I would to jump on, but I'm very sure I'm not going to have the time any time soon
<pca006132> basically the idea is to translate to some bytecode, and that resolves all variables
<pca006132> so name resolution is done once only
<pca006132> and avoid the native stack when evaluating things, to make the stack size configurable
<teepee> stack is configurable on linux :)
<pca006132> yeah but it is link time iirc
<teepee> no, only on windows
<pca006132> ah interesting
<teepee> ulimit can change stacksize on linux
<pca006132> ok, never tried that
<teepee> and openscad should pick that up
<pca006132> but still, functional programs typically avoid using native stack as they tend to blow up pretty quickly
<pca006132> and if you are writing a bytecode evaluator, a stack on heap is trivial
<teepee> true, it's still a very static thing with fixed setup for each thread
<teepee> I saw that variable resolution in that cool book about languages, what was that interpreter called, lox?
<pca006132> I am doing my phd in programming languages, we have many cool books about languages :P
<pca006132> so idk which one you are talking about
<pca006132> ah I see
<teepee> first one some example I suppose, that book is great
<teepee> the java example in there can evaluate fibonacci 3 times faster than our c++ implementation ;-)
<pca006132> it is pretty normal
<pca006132> I don't think the current architecture considered performance...
<teepee> yep, I would agree, certainly for the part I did work on :)
<teepee> for most things other than BOSL it's also usually not the most critical part
<pca006132> true
<pca006132> I still think BOSL is a bit crazy, wouldn't expect people to write such complicated beast from openscad
<pca006132> iirc it can do boolean on its own
<pca006132> which, from my experience with manifold, is hard to get right
<teepee> yeah, ideally it should have much more support on the built-in side
<teepee> oh, yes, certainly. see all the trouble with CGAL even though it tried to use perfect math and all the other libraries
<pca006132> I remember the last time when I was trying to implement a bytecode evaluator, I was trying to compare the speed with nodejs (jit disabled) and failed
<pca006132> v8 is really fast even with jit disabled
<pca006132> iirc mine took 1.5x the time, even with a lot less features
ToAruShiroiNeko has quit [Ping timeout: 252 seconds]
ToAruShiroiNeko has joined #openscad
ToAruShiroiNeko has quit [Remote host closed the connection]
ToAruShiroiNeko has joined #openscad
ToAruShiroiNeko has quit [Read error: Connection reset by peer]
ToAruShiroiNeko has joined #openscad
ToAruShiroiNeko has quit [Read error: Connection reset by peer]
ToAruShiroiNeko has joined #openscad
Jerr8 has quit [Quit: The Lounge - https://thelounge.chat]
<gbruno> [github] adrianVmariano opened issue #6067 (OpenSCAD ignores font features) https://github.com/openscad/openscad/issues/6067
Jerr8 has joined #openscad
<gbruno> [github] t-paul closed issue #6067 (OpenSCAD ignores font features) https://github.com/openscad/openscad/issues/6067
RoyK has quit [Ping timeout: 248 seconds]
sculptor_ has joined #openscad
teepee_ has joined #openscad
sculptor has quit [Ping timeout: 260 seconds]
teepee has quit [Ping timeout: 240 seconds]
teepee_ is now known as teepee
LordOfBikes has joined #openscad
sculptor_ has quit [Changing host]
sculptor_ has joined #openscad
mmu_man has quit [Ping timeout: 245 seconds]
J25k12 has quit [Quit: Client closed]
<gbruno> [github] prokoudine opened issue #6068 (The Mouse page in Preferences does not autoresize) https://github.com/openscad/openscad/issues/6068
Guest3298 has joined #openscad
Guest3298 has quit [Quit: Client closed]
RoyK has joined #openscad
<gbruno> [github] adrianVmariano opened issue #6069 (linux libertine G font with frac=2 font feature fails for denominators > 9) https://github.com/openscad/openscad/issues/6069
<gbruno> [github] t-paul pushed 2 modifications (Fix layout of MouseConfig page and remove double scroll area (fixes #6068).) https://github.com/openscad/openscad/commit/2f61760135fd5e214dadfd7324a0f115e982f355
<gbruno> [github] t-paul opened pull request #6070 (Fix layout of MouseConfig page and remove double scroll area (fixes #6068).) https://github.com/openscad/openscad/pull/6070
RoyK has quit [Ping timeout: 260 seconds]
J25K has joined #openscad
<gbruno> [github] t-paul pushed 2 modifications (Merge pull request #6070 from openscad/mouse-preferences Fix layout of MouseConfig page and remove double scroll area (fixes #6068).) https://github.com/openscad/openscad/commit/ab765eff325f54dec871c875e995dfa72fde828d
<gbruno> [github] t-paul closed pull request #6070 (Fix layout of MouseConfig page and remove double scroll area (fixes #6068).) https://github.com/openscad/openscad/pull/6070
<gbruno> [github] t-paul closed issue #6068 (The Mouse page in Preferences does not autoresize) https://github.com/openscad/openscad/issues/6068
Marcin65 has joined #openscad
Marcin65 has quit [Client Quit]
RoyK has joined #openscad
<InPhase> My email this morning is blowing up with, "Look, just don't disable spacebar heating."
<J25K> isn't it an XKCD..  who is sending?
<J25K> oh i see
<J25K> if we are not planning to implementing curves in openSCAD i tend to not follow this discussion..  IIRC some slicer can open STEP and so import curves
LordOfBikes has quit [Read error: Connection reset by peer]
LordOfBikes has joined #openscad
<teepee> hmm, I've ignored that mostly so far too
<J25K> I guess having curves is not necessarily helping slicers to create G2/3 and G5 moves - but it could speed up the preview
sculptor_ has quit [Ping timeout: 245 seconds]
<InPhase> I wasn't going to, but I posted on it. It seems important to note that the proposal aligns well with precisely the way we keep documenting $fs and $fa incorrectly.
<InPhase> Over and over again. :)
sculptor_ has joined #openscad
sculptor_ has joined #openscad
sculptor_ has quit [Changing host]
sculptor_ is now known as sculptor
snaked has quit [Quit: Leaving]
snaked has joined #openscad
<J25K> hm isn't $fa just a limiter to prevent too many segments .. so can't get more than 360/$fa   (except that it limits to not less than 5 segments)
<J25K> maybe it make sense to add some "deep insight" page section in the wiki were the complicated truth can be found
<InPhase> static_cast<int>(ceil(fmax(fmin(360.0 / fa, r * 2 * M_PI / fs), 5)))
<InPhase> The logic is in utils/calc.cc get_fragments_from_r
<InPhase> That is after checking $fn and returning $fn but not less than 3 if $fn is greater than 0.
<InPhase> So there is a minimum. But that minimum is the minimum number of segments specified by either the fa calculation or the fs calculation.
<InPhase> And then that's given at least 5. And then the ceiling is taken, so that it is always at least hitting the specified resolution for the one which is least constraining of $fa and $fs.
<InPhase> Which... is not super complicated. But complicated enough that nobody has ever been happy with the plain-language descriptions. :)
<InPhase> No simple idiomatic phrasing captures it accurately.
mmu_man has joined #openscad
<J25K> $fn is used ... else  $fs (limited by $fa)
<J25K> was there a reason that $fs and $fa are not variables to set in parameters ?
<J25K> äh preferences
<J25K> on the other hand - having such bad values forces people to define them proper in each file - Ü
<InPhase> Yeah, I have proposed before that we should redefine the defaults. Although this puts an epoch on nearly all the tests.
<InPhase> Also there will be the handful of expected complaints about how this has ruined everything.
<InPhase> But it would be a MUCH better first impression for beginners. I think this should come out with Manifold, which can handle this with ease on nearly all existing hardware.
<InPhase> The current defaults were based around CGAL compute limits in like 2012 or something.
<InPhase> So I think we should feel liberated to modernize them.
<InPhase> The tests issue is probably the biggest issue, as it puts an epoch update on all outstanding PRs. But right around a release would probably be the most sane time to do this.
<J25K> a bit ironic how you can't change something because it changes something too much
califax has quit [Ping timeout: 240 seconds]
califax has joined #openscad
<InPhase> Eh, I think we can change it. The screams in the distance can be muffled by the champagne corks of progress.
<J25K> how poetic
teepee_ has joined #openscad
teepee has quit [Remote host closed the connection]
teepee_ is now known as teepee
snaked has quit [Remote host closed the connection]
<teepee> should be easy to transision, make it a config option and default to the current values
<teepee> also a big shout-out to harfbuzz, I think they fixed that issue in like 30 minutes https://github.com/harfbuzz/harfbuzz/issues/5439
snaked has joined #openscad
<teepee> crazy stuff that the font itself renders 2/35 as fraction with a horizontal bar with numbers on top and below
<InPhase> teepee: Well, actually I think the single most important outcome is probably defaulting to better ones than the current values. I think we face a negative first impression problem from people thinking it doesn't produce quality renders when they just do a quick try.
<InPhase> It makes it look uncompetitive.
<InPhase> And WE all know it does much better, so we don't think much about that.
<InPhase> But someone sitting down for the first time? Those resolution variables are pretty far from awareness.
<teepee> it's probably possible to detect an empty config for new installations
<InPhase> Hmm, maybe. Default to new settings for new installs, old settings for existing installs.
<teepee> so new installs could get the new setup
<InPhase> That's actually pretty reasonable.
<InPhase> The screams would be minimal. :)
<teepee> like you said not long ago...
<teepee> workflow!
<othx> workflow is https://xkcd.com/1172/
<InPhase> :) Yes. That one just keeps happening.
mmu_man has quit [Ping timeout: 276 seconds]
mmu_man has joined #openscad
teepee_ has joined #openscad
teepee has quit [Ping timeout: 240 seconds]
teepee_ is now known as teepee