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
mtm has quit [Ping timeout: 244 seconds]
mtm has joined #openscad
pbsds356 has joined #openscad
pbsds35 has quit [Read error: Connection reset by peer]
pbsds356 is now known as pbsds35
kintel has joined #openscad
<kintel> guso78 OpenSCAD renders into a QOpenGLWidget, so it should behave nicely. Qt is managing both context creation and the buffers for us.
<kintel> Perhaps test the screen recording software with another Qt-based 3D app to see if that exhibits similar issues?
mmu_man has quit [Ping timeout: 244 seconds]
aiyion3 has quit [Remote host closed the connection]
aiyion3 has joined #openscad
<gbruno> [github] kintel closed pull request #5645 (Rewrote FBO wrapper) https://github.com/openscad/openscad/pull/5645
<gbruno> [github] kintel pushed 5 modifications (Rewrote FBO wrapper (#5645)) https://github.com/openscad/openscad/commit/cd7fc15e2d7adade189be2d5d0572c9c6eb83178
<gbruno> [github] kintel pushed 4 modifications (Use our own FBO wrapper in MouseSelector, to avoid mix QObjects with non-QObjects) https://github.com/openscad/openscad/commit/ae4a746a569c2364d1e838c8dc6bafd4ff250220
<gbruno> [github] kintel synchronize pull request #5646 (Use new FBO wrapper in MouseSelector) https://github.com/openscad/openscad/pull/5646
TheCoffeMaker has quit [Quit: So long and thanks for all the fish]
TheCoffeMaker has joined #openscad
J25k1 has joined #openscad
J25k38 has quit [Ping timeout: 240 seconds]
snaked has joined #openscad
drfff has quit [Ping timeout: 276 seconds]
kintel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
drfff has joined #openscad
<lockywolf> The wikibooks manual mentions "View >> OpenCSG" model view, but my openscad does not have it. Why? OpenCSG is installed, and ldd shows openscad linked to it.
fling has quit [Remote host closed the connection]
fling has joined #openscad
<J25k1> lockywolf do you have a link where this is mentioned? you have preview (F9) and throw together (F12)  and you view with F5 and render with F6
<lockywolf> Linked from here: https://openscad.org/documentation.html
<J25k1> seems this is "preview"  in the nightly version 2025 not sure when this was changed
<lockywolf> This is still "preview" in 2021
<J25k1> yes the preview is openSCG  but that naming seems a bit confusing in the wiki
guerd has joined #openscad
<lockywolf> why does "cube" have three dimensions?
<lockywolf> isn't a cube defined by x=y=z?
<lockywolf> anyway, it's a nitpick
<lockywolf> How can I change keybindings?
<J25k1> xyz are 3 dimensions
<J25k1> key bindings are fix
<lockywolf> hehe
<InPhase> lockywolf: Because RectangularSolid is too much to type.
<InPhase> lockywolf: Fortunately, cube has an actual cube mode. cube(5); works. ;)
<InPhase> lockywolf: Also, cylinder has a cylinder mode, and a cone mode.
<lockywolf> InPhase: should have been RectangularParallelepiped :)
<InPhase> Although cone is easier to type. My prior explanation has no defense there. :)
<InPhase> I think overall the most basic recognizable shapes were used as keywords, followed by a lot of modifiers added while keeping the keyword count low.
<gbruno> [github] jordanbrown0 synchronize pull request #4833 (Bitwise operators. Fixes #3345.) https://github.com/openscad/openscad/pull/4833
misterfish has joined #openscad
lastrodamo has joined #openscad
<gbruno> [github] jordanbrown0 synchronize pull request #4833 (Bitwise operators. Fixes #3345.) https://github.com/openscad/openscad/pull/4833
<gbruno> [github] jordanbrown0 synchronize pull request #4833 (Bitwise operators. Fixes #3345.) https://github.com/openscad/openscad/pull/4833
<lockywolf> the example from the same book does not seem to be "nonsimple" any more
<J25k1> lockywolf  imagine  an 10,20,30 cuboid  is   ```scale([10,20,30])cube();```
<lockywolf> ah, never mind, it is "nonsimple"
dingodoppelt has quit [Read error: Connection reset by peer]
<lockywolf> is there and lsp server for openscad?
<lockywolf> *an
dingodoppelt has joined #openscad
<J25k1> what should that server do?
misterfish has quit [Ping timeout: 260 seconds]
GNUmoon has joined #openscad
<lockywolf> J25k1: provide hover-on help for commands?
<lockywolf> and jump to module definition
<J25k1> the 2025 version will give you some help when typing.  you also can use a different editor
<J25k1> if errors are caused you can click on them on the console to jump to it (also if in libraries)
<J25k1> cheatsheet!
<othx> cheatsheet is https://www.openscad.org/cheatsheet/ for the release version and https://www.openscad.org/cheatsheet/snapshot.html for the development snapshot versions
mmu_man has joined #openscad
misterfish has joined #openscad
mmu_man has quit [Ping timeout: 246 seconds]
<lockywolf> is everything in openscad triangulated? like, no function-defined NURBS?
<teepee> yes, it's based on mesh kernels only at this point
<lockywolf> how do I stop animation and re-define time?
<lockywolf> ah, never mind
drfff has quit [Ping timeout: 252 seconds]
<J25k1> those are nice first time user questions
<J25k1> If you consider the scad file were a function is defined, after render this becomes a mesh. The resolution is set in the scad. But the rendered geometry is based on a mesh.
<J25k1> animation has these buttons you may have discovered
<J25k1> you can define time as $t=0  , but then animation is not running anymore
<J25k1> you can also enter a time 0-1 into the input field
cart_ has joined #openscad
<lockywolf> I am just reading the manual straight through
guerd has quit [Read error: Connection reset by peer]
guso78k has joined #openscad
guso78k has quit [Quit: Client closed]
aiyion3 has quit [Remote host closed the connection]
aiyion3 has joined #openscad
misterfish has quit [Ping timeout: 252 seconds]
misterfish has joined #openscad
guso78k has joined #openscad
<guso78k> I am just wondering if openSCAD (or its animation feature) has static variables, which retain their values in between successive animation frame and $t could become irrlevant.
<guso78k> Not having to fit the "whole story"into a timeframe between 0 and 1 would make animations way more flexible by having their own "time" and animations like those:  https://www.youtube.com/watch?v=L6Z2WhO_VVs would be possible
<othx> guso78k linked to YouTube video "PythonSCAD games" => 2 IRC mentions
<Scopeuk> Days 20 and 22 of https://openscad.org/advent-calendar-2023/ play with the animation feature a chunk and might make fun examples
<guso78k> thx, will watch this closely
<guso78k> Yeah, the Teacups animation is especially wonderful. Thanks  JordanBrown!  Still such a nice animation is just possible when you are able  to map your story into a recurring time frame from 0 to 1.  Issue is if it possible to to detach from $t by having static variables(e.g individul positions and rotatations of the teacups and its passengers)
cart_ has quit [Quit: Konversation terminated!]
LordOfBikes has quit [Ping timeout: 268 seconds]
LordOfBikes has joined #openscad
mtm has quit [Ping timeout: 246 seconds]
mtm has joined #openscad
teepee_ has joined #openscad
teepee has quit [Ping timeout: 264 seconds]
teepee_ is now known as teepee
<InPhase> guso78k: The example most desperately in need of what you're describing, is Day 19 here, right side, second from bottom, with the Game Of Life: https://openscad.org/advent-calendar-2022/
<InPhase> guso78k: As you can see, a workaround is possible...
<InPhase> guso78k: And this notion is generalizable, so it is always computable. It just might be horrible and unsatisfying. ;)
<InPhase> guso78k: There has by long tradition never been retained state like that for OpenSCAD, which is why there is none for animation. But it is certainly the case that this creates implementation complications like this due to it being missing.
<InPhase> guso78k: The merit of Jordan's Game of Life implementation in that example is precisely because it instinctively seems like it should not be possible because of the lack of retained state, and so it's nice to show that it is still technically computable and achievable. The alternative of adding in some sort of state retention adds a philosophical impurity to the whole process for which the consequences
<InPhase> for testing and such would have to be thought through.
<InPhase> So in summary I'd say yeah, we have clear evidence of the value of that for making some things cleaner to write. Although it's not necessarily concluded that it would be worth it to add this shift in the core way of thinking about data and state. And those are the structure of some of the pros and cons.
snaked has quit [Quit: Leaving]
TheAssass1n has joined #openscad
TheAssassin has quit [Remote host closed the connection]
guso78k has quit [Quit: Client closed]
<teepee> shadertoy logic might solve at least some cases?
<InPhase> How do they handle it?
<teepee> a monotone clock
<teepee> it's still very minimalistic but does seem to allow much more interesting animations
Artea has quit [Quit: ZNC 1.9.1 - https://znc.in]
Artea has joined #openscad
<gbruno> [github] huskier opened issue #5649 ([Help] The command "openscad mymodule.scad-o mymodule.ast" does not produce the expected AST) https://github.com/openscad/openscad/issues/5649
misterfish has quit [Ping timeout: 272 seconds]
<InPhase> I guess the key to having a clock is a state retention system.
<InPhase> I have frequently argued to people that a stateless functional system is logical and can result in cleaner code for 3D modeling. That argument does of course fall apart hard and fast for animations. :)
<InPhase> But despite my steady enjoyment of the animation system, I wouldn't want to compromise the 3D printing features to improve the animation process. So updates should keep this prioritization in mind, I think.
<InPhase> Elsewhere, I've regularly argued to people that functional programming is stupid and limited for general purpose programming, precisely because the real world is stateful, and you cannot model the dynamics of the real world appropriately without a stateful system that mirrors the natural dynamics of what is being represented in the code.
<InPhase> So we get this flip real fast as soon as we introduce dynamics.
<gbruno> [github] jordanbrown0 closed issue #5649 ([Help] The command "openscad mymodule.scad-o mymodule.ast" does not produce the expected AST) https://github.com/openscad/openscad/issues/5649
rogeliodh has quit [Quit: The Lounge - https://thelounge.chat]
rogeliodh has joined #openscad
muesli has quit [Quit: NO CARRIER]
muesli has joined #openscad
stealth_ has joined #openscad
J25k1 has quit [Quit: Client closed]
J25k1 has joined #openscad
<gbruno> [github] scrameta synchronize pull request #5584 (RFC: New general-purpose extrusion mechanism - 2025 refresh) https://github.com/openscad/openscad/pull/5584
misterfish has joined #openscad
misterfish has quit [Ping timeout: 252 seconds]
mmu_man has joined #openscad
guso78k has joined #openscad
guso78k has quit [Client Quit]
teepee_ has joined #openscad
teepee has quit [Ping timeout: 264 seconds]
teepee_ is now known as teepee
guso78k has joined #openscad
foul_owl has quit [Ping timeout: 248 seconds]
foul_owl has joined #openscad
lastrodamo has quit [Quit: Leaving]
snaked has joined #openscad
<gbruno> [github] kintel pushed 25 modifications (Removed relative include paths, and fix stragglers) https://github.com/openscad/openscad/commit/3845143f5236be5bbbd84927868a7d6d9a1206b6
<gbruno> [github] kintel opened pull request #5650 (Removed relative include paths, and fix stragglers) https://github.com/openscad/openscad/pull/5650