<InPhase>
The solution mapping for "this was automatically run, and I needed it" is "run it where you need it". This should always work as a mapping.
<JakeSays>
is there a way to force rendering when exporting an stl?
<InPhase>
I think some of the resistance might be that he's not sure where and when the values are actually evaluated in that library. But, I think that goes to the core of the issue. The magic running across the use boundary, including includes, is really hard to keep track of.
<InPhase>
JakeSays: You're supposed to hit render first.
<InPhase>
JakeSays: The buttons are right next to each other. :)
<JakeSays>
InPhase: no, i'm forced to hit render first. i would prefer it to do it for me.
<JakeSays>
it really doesn't make much sense to me to have it as two separate steps.
<dalias>
that always annoyed me too but i kinda like it as 2 steps
<dalias>
since a click that opens a dialog box should respond *immediately*
<InPhase>
JakeSays: Well render can be very expensive and take a very long time, so it's unpleasant to get a surprise render when you're not expecting it.
<JakeSays>
dalias: yes, and then do the rendering after the dialog interaction
<dalias>
and auto-rendering would mean it wouldn't, but would instead asynchronously pop up a dialog in front of whatever i was doing a minute or two later after the render finished
<dalias>
hmm, that could work
<InPhase>
JakeSays: Also we don't have great support in place for canceling a render in progress, so until we do, it's best to keep render explicit.
<dalias>
but it would be a nontrivial change to how the program works
<InPhase>
JakeSays: Once full cancelation support is in place, I think what you're saying would make a decent option or default behavior.
<dalias>
it would also interact weirdly with overwriting files
<JakeSays>
InPhase: it doesn't even have to be default. i just want the option.
<dalias>
*nod*
<dalias>
i think it's a good goal to have
<dalias>
but has some aspects that make it messy to do well
<InPhase>
JakeSays: I would not oppose it as an option.
<InPhase>
JakeSays: As long as it defaults to off for now, for the sake of new users.
<JakeSays>
yeah, it could always default to off. that doesn't matter to me.
<JakeSays>
i might go add an option for my own sanity.
<InPhase>
Cancelation support is an obvious important feature add, it just proves to be a little tricky with how the libraries work.
<dalias>
move the cache to disk/tempfiles instead of memory and let openscad processes share it
<JakeSays>
i can live without cancelation for the moment
<dalias>
then you can just shell out to command line openscad to render/export
<InPhase>
I live without cancelation because I edit in vim. :)
<dalias>
and kill(2) it to cancel
<JakeSays>
InPhase: vscode here
<InPhase>
But it must result in great suffering for the people who work in the internal editor.
<JakeSays>
yeah the internal editor could use some serious love
<dalias>
yeah i dont use the internal editor at all
<InPhase>
It did get some great improvements over the last 2 years.
<JakeSays>
one thing that is needed is a language server to support intellisense
<InPhase>
But... Still not vim.
<InPhase>
Maybe we should try embedding neovim in there or something.
<InPhase>
(As an option.)
<JakeSays>
a language server could be used from any editor
<JakeSays>
my use of vim is limited to visudo
<teepee>
there is already a language server PR, hopefully that's going to continue at some point
<JakeSays>
teepee: do you know which pr it is?
<JakeSays>
ah. found it
<JakeSays>
looks like it's just the client
<JakeSays>
maybe not, but it's implemented in the gui.
<JakeSays>
i'd want to extract the parser
<teepee>
it is supposed to run as server instance as language server
<teepee>
not a client
<JakeSays>
it shouldn't be a part of the main app.
<teepee>
there is no reasonable alternative with the available dev power
<teepee>
also it does not really matter much
<JakeSays>
where is the compiler, or is it just the parser?
<teepee>
no compiler
<JakeSays>
so is the ast executed directly?
<teepee>
evaluated and transformed into a CSG tree
<teepee>
no execution either :)
<JakeSays>
ok evaluated. same thing.
<JakeSays>
i suppose all the semantic analysis takes place during evaluation?
<teepee>
there isn't all that much in that regard, but in a sense, yes, I suppose
<JakeSays>
in the language server there's a function being called, compileDocument. do you know where that is?
<teepee>
I think that's mostly the parser call
<teepee>
names are hard :)
<JakeSays>
and it only happens when someone presses preview?
<teepee>
the CSG tree is shown via OpenCSG, so not all geometry is calculated, only that part for which no "tricks" for displaying exist like minkowski, hull, ...
<JakeSays>
i'm trying to understand the relationship between the lsp and that 'compileDocument' function call. it looks like the lsp will only be updated manually?
<teepee>
no, the lsp client sends the document to parse
<teepee>
at least that's what I remember from the discussions
<teepee>
as far as OpenSCAD is concerned, they are dead now :)
<InPhase>
Well... That's ridiculously long. I don't think we need to buy into that.
<teepee>
that is extended support tho, I think you'll get that only when paying
<InPhase>
Ok.
<InPhase>
That's fine then. They can collect some extra money to help subsidize Linux development.
<InPhase>
It's only frustrating if you end up working for a company that refuses to upgrade from their antiquated server versions. :)
<teepee>
hmm, there's some sort of "free plan for up to 3 machines"
<teepee>
anyway, it's not compiling anymore on OBS and I dropped the repo
<teepee>
and I can't get Travis to work which was the only one with 16.04 still running
<teepee>
(and the main readme claims c++17 ;-)
<InPhase>
I think it's fair to just say that people can continue using the old versions built for that, or try to compile themselves.
<teepee>
yeah, I think the build issue is just a missing header file, but I did not look closely
<teepee>
oldest on OBS is now 18.04
<teepee>
right, the PPA also goes back to 18.04 for the 2021.01 release
<teepee>
lol, "Starship 2021 Official Design Changes – The Holy Grail Of Rockets!" - what's wrong with those lemmings? when Elon sneezes, they jump from bridges?
<teepee>
but I guess it brings in the good youtube money
<InPhase>
teepee: I'm actually pretty excited about Starship as a technological evolution. But I guess not excited enough to have seen that video yet. :)
<InPhase>
teepee: On another topic, is it correct that you haven't started any work on #782, the recomputing issue that we discussed? I'm feeling increasingly motivated to try to carve out some evening time to hack away at that.
<InPhase>
I feel like there's a chance it's not even that hard to fix at that point, mostly just requiring tracing out where it happens, removing that, and instead adding in a single call.
<teepee>
no I have not started, but I would like to understand a bit more why this happens
<teepee>
and I'm not against the starship stuff in general, but the unreflecting hype is concerning
<InPhase>
I think I have a pretty good mental model for how it's happening, I just don't know where yet.
<InPhase>
But I've danced around a deep dive into those sections of the code. This could help fix that. :)
<teepee>
I know only part of it, specifically the context stacking, but not so much the module instantiation part
<InPhase>
If I sort it out I'll be happy to explain it.
JakeSays has quit [Ping timeout: 268 seconds]
<Scopeuk>
teepee i think i'm with you on spacex. I like a lot of what they are achieving but the cultish following arround elon musk is deeply off-putting. Particularly as they still make most of their money lobbing military recon satilites into orbit
<ndnihil>
most, if not all, of humanities major advances were driven by or funded by the military industrial complex
<ndnihil>
war is the ultimate motivator
<ndnihil>
not exactly a pleasant thought, but it's the reality of it
qeed_ has quit [Quit: qeed_]
<Scopeuk>
agreed it is na unpleasent reality of our past as a species, ones has to hope that we can find otherways to push things forwards as time moves forwards
<Scopeuk>
things need not necessarily procced as per the handbook of the past
<Scopeuk>
but to quote wicked "Where I come from everyone knows the best way to bring folks together is to give them a really good enemy"
<Scopeuk>
people are easily driven by fear
<Scopeuk>
any way enough bring down. how did the open flexture bug hunting go
<ndnihil>
who is wicked?
<Scopeuk>
its a musical adn the quote is from one of the charachters
<Scopeuk>
I dare say it originated elsewhere however
qeed has joined #openscad
<ndnihil>
eh, I generally dont base my philosophy around entertainment driven sources
<ndnihil>
particularly musicals
<ndnihil>
not a fan
<Scopeuk>
fair enough. the quote is more an agreement of the words that any merit in its source
<t4nk_freenode>
I just remade a part from openscad in freecad.. 15 lines of code in openscad... vs a trillion operations in freecad
<t4nk_freenode>
and those 15 lines are bad code too, lol
<t4nk_freenode>
for basic things it is just so much more easy
<t4nk_freenode>
wouldn't want to 3d print one of my standard openscad designs and give it to a kid as a toy though
<t4nk_freenode>
... they'd be cut up like a freshly Mafia'ized victim
<teepee>
more minkowski!!!1!
<t4nk_freenode>
hehe
<teepee>
but yeah, there's some opportunity there
<t4nk_freenode>
well, frankly,... they wouldn't be kids anymore ... once the minkowski has completed
<ndnihil>
I 3d print stuff for my kid all the time
<ndnihil>
almost all done in openscad
<t4nk_freenode>
that's why I said.. one of MY designs ;)
<ndnihil>
held the spacers in place with HDD magnets while I tacked the bars in
<ndnihil>
spacers/jigs
<ndnihil>
whatever you want to call them
<t4nk_freenode>
that doesn't look like it's gonna break or bend really fast
<ndnihil>
nope, strong like bull
<ndnihil>
and I 3d printed the latch for it
<ndnihil>
dont recall if I took pics of that one
<ndnihil>
basically just a nested slot that is screwed into the wall, and on the gate there's a sliding bit that drops down into it, and a sprung notch/latch to keep that in place
<ndnihil>
far piece screws to the wall, middle piece slides up and down on the gate, and the remaining piece clamps solidly to the gate and that paddle thing serves as a latch for the slider
<ndnihil>
not only was it kidproof enough that he didn't go tumbling down the steps
<ndnihil>
but a large percentage of adults who come over can't figure it out either
stefanct has joined #openscad
ur5us has joined #openscad
ur5us has quit [Quit: Leaving]
amahl has quit [Remote host closed the connection]