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 or report bugs: https://goo.gl/lj0JRI | Tutorial: https://bit.ly/37P6z0B | Books: https://bit.ly/3xlLcQq | FOSDEM 2020: https://bit.ly/35xZGy6 | Logs: https://libera.irclog.whitequark.org/openscad | don't ask to ask
ali1234 has quit [Remote host closed the connection]
ali1234 has joined #openscad
LordOfBikes has quit [Ping timeout: 246 seconds]
ur5us has joined #openscad
ran has joined #openscad
<ran> How do I set the viewport FOV to be isometric?
LordOfBikes has joined #openscad
<peepsalot> ran: menu "View -> Orthogonal"
<ran> no I mean do it in the code
<ran> like I can change the FOV with $vpf but there's no such variable for switching it to isometric upon loading up the script
<peepsalot> you can adjust FOV with $vpf, but you can't select perspective vs orthographic
<ran> I see, thanks
<peepsalot> if you're calling from command line, you can specify: --projection arg =(o)rtho or (p)erspective when exporting png
<ran> cool
<ran> I guess I could file a feature request but I can make do without it
<InPhase> ran: I don't think we would want to bake that level of gui feature into the language.
<InPhase> Well. Maybe for command line usage it can matter.
<InPhase> It still feels odd, but I can see an edge use case.
<ran> I might be one of those edge cases
<ran> I have a use case where I'm using the customizer to only work on 2d objects for exporting as a DXF
<ran> I'll just use the default fov of 20, no worries
RoyK^ has joined #openscad
RoyK has quit [Ping timeout: 252 seconds]
RoyK has joined #openscad
RoyK^ has quit [Ping timeout: 252 seconds]
califax- has joined #openscad
califax has quit [Ping timeout: 276 seconds]
califax- is now known as califax
Guest68 has joined #openscad
Guest68 has quit [Client Quit]
ianliu has quit [Quit: WeeChat 3.2.1]
ran has quit [Remote host closed the connection]
ran has joined #openscad
arebil has joined #openscad
<ran> oh man, I finally understand how modules that use child modules work
arebil has quit [Quit: My keyboard has gone to sleep. ZZZzzz…]
<dalias> :)
<ran> are there any openscad memes
<InPhase> I haven't seen any that made sense.
ferdna has joined #openscad
gunnbr has joined #openscad
othx has joined #openscad
arebil has joined #openscad
ur5us has quit [Ping timeout: 245 seconds]
ran_ has joined #openscad
ran_ has quit [Client Quit]
ferdna has quit [Quit: Leaving]
ran_ has joined #openscad
ran has quit [Ping timeout: 252 seconds]
ran_ is now known as ran
ran has quit [Remote host closed the connection]
TheCoffeMaker has quit [Ping timeout: 265 seconds]
<gbruno> [github] dannypike closed issue #3905 (Clear console on every build). https://github.com/openscad/openscad/issues/3905
arebil has quit [Quit: Bye]
arebil has joined #openscad
<gbruno> [github] dannypike opened issue #3908 (echo() should not include any decoration - extra text, punctuation or formatting). https://github.com/openscad/openscad/issues/3908
ur5us has joined #openscad
lastrodamo has joined #openscad
arebil has quit [Quit: Bye]
arebil has joined #openscad
arebil has quit [Quit: Bye]
arebil has joined #openscad
mhroncok has joined #openscad
Guest57 has joined #openscad
Guest57 has quit [Client Quit]
mhroncok has quit [Quit: Leaving.]
knielsen has quit [Remote host closed the connection]
mhroncok has joined #openscad
knielsen has joined #openscad
califax has quit [Remote host closed the connection]
califax has joined #openscad
ur5us has quit [Ping timeout: 245 seconds]
TheCoffeMaker has joined #openscad
Junxter has joined #openscad
TheCoffeMaker has quit [Ping timeout: 250 seconds]
TheCoffeMaker has joined #openscad
TheCoffeMaker has quit [Ping timeout: 245 seconds]
TheCoffeMaker has joined #openscad
TheCoffeMaker has quit [Ping timeout: 252 seconds]
peepsalot has quit [Read error: Connection reset by peer]
amahl has joined #openscad
Jack21 has joined #openscad
lkr has joined #openscad
lkr has left #openscad [#openscad]
lkr has joined #openscad
<Jack21> Hi .. can so check if his main window turns black when right click on an object (v21.9.25) and then left in that window
<teepee> ?
<teepee> who is checking what?
<Jack21> i open a new tab with cube();
<teepee> the issue is known
<Jack21> then clicking right and left and the window is black (including symbols)
<Jack21> ah ok
<Jack21> thx for confirmation
Guest17 has joined #openscad
Guest17 has quit [Client Quit]
arebil has quit [Read error: Connection reset by peer]
arebil has joined #openscad
TheCoffeMaker has joined #openscad
lkr has quit [Ping timeout: 265 seconds]
arebil has quit [Quit: My keyboard has gone to sleep. ZZZzzz…]
peepsalot has joined #openscad
mhroncok has quit [Quit: Leaving.]
arebil has joined #openscad
snaked has quit [Quit: Leaving]
Junxter has quit [Ping timeout: 252 seconds]
Junxter has joined #openscad
gunnbr_ has joined #openscad
SamantazFox has quit [Killed (NickServ (GHOST command used by SamantazFox_))]
SamantazFox_ has joined #openscad
knielsen_ has joined #openscad
markasoftware_ has joined #openscad
knielsen has quit [*.net *.split]
gunnbr has quit [*.net *.split]
KimK has quit [*.net *.split]
markasoftware has quit [*.net *.split]
sauce has quit [*.net *.split]
rogeliodh has quit [Read error: Connection reset by peer]
<gbruno> [github] t-paul edited issue #3908 (Provide text output function without any decoration - extra text, punctuation or formatting). https://github.com/openscad/openscad/issues/3908
rogeliodh has joined #openscad
noonien has quit [Quit: Ping timeout (120 seconds)]
KimK has joined #openscad
sauce has joined #openscad
noonien has joined #openscad
To_Aru_Shiroi_Ne has joined #openscad
ToAruShiroiNeko has quit [Ping timeout: 265 seconds]
dalias_ has joined #openscad
knielsen has joined #openscad
Alexer- has joined #openscad
redlizard_ has joined #openscad
Taneb0 has joined #openscad
Alexer has quit [Ping timeout: 265 seconds]
knielsen_ has quit [Ping timeout: 265 seconds]
paddymahoney has quit [Ping timeout: 265 seconds]
dalias has quit [Ping timeout: 265 seconds]
Taneb has quit [Ping timeout: 265 seconds]
cbmuser has quit [Ping timeout: 265 seconds]
redlizard has quit [Ping timeout: 265 seconds]
InPhase has quit [Ping timeout: 265 seconds]
InPhase has joined #openscad
dalias_ is now known as dalias
paddymahoney has joined #openscad
cbmuser has joined #openscad
Taneb0 is now known as Taneb
mhroncok has joined #openscad
arebil has quit [Quit: My keyboard has gone to sleep. ZZZzzz…]
<Jack21> yes colors and bold text #3908 or any highlight
califax has quit [Remote host closed the connection]
<gbruno> [github] t-paul closed issue #3885 (Blank screen error.). https://github.com/openscad/openscad/issues/3885
califax has joined #openscad
<InPhase> I can post later, but a viable color syntax would be something like {color.red}, since color is a built-in, so we can special-purpose reuse this and know it won't be clobbered by user variables.
<InPhase> Then we can fill it with html or ansi color codes depending on gui vs command line.
<InPhase> Then we can add yet another command line flag for the inevitable person who wants the console output to be html too. ;)
<InPhase> Or output format output.html
<InPhase> .html might make more sense if that's desired, so <p>...</p> can be used.
califax has quit [Remote host closed the connection]
califax has joined #openscad
mhroncok has quit [Quit: Leaving.]
<teepee> it might be useful to look at other tools, like git has something for that in it's formatting output
<InPhase> We'd need something that can either call our own lookup handler, or we'd have to roll our own formatting parser.
<InPhase> It's not too tricky to do for basic features.
<teepee> which is why I'd prefer using fmt / std:.format
<InPhase> But does that have anything that takes a lambda?
<teepee> it's a bit annoying that we can't just go standard as that's only in c++20 but I suppose it's still better than inventing something new
<teepee> it's meant to be extensible, I've not looked at the details, and it probably means wading through lots of templates, but it's not like printf where the feature set is fixed
<gbruno> [github] t-paul edited issue #3908 (Provide text output function without any decoration - extra text, punctuation or formatting). https://github.com/openscad/openscad/issues/3908
<peepsalot> corrade (the base utility lib used by magnum graphics) has some features for console text coloring which might be useful
<peepsalot> i'm still wanting to integrate magnum graphics for all our GL usage, but haven't made much progress yet
<gbruno> [github] t-paul edited issue #3908 (Provide text output function without any decoration - extra text, punctuation or formatting). https://github.com/openscad/openscad/issues/3908
<teepee> neat, added the links to the issue
<InPhase> I also have 100 lines of code that provide 100% support of ansi terminal features that work in modern terminals with in a properly structured C++ class. There's not much to the ansi part.
<teepee> the interesting part is the integration with the GUI
<teepee> at least it would be a useful feature to allow both to be handled with the same format string
<InPhase> Qt will accept html for the color. It just needs to use the right output form.
<InPhase> Hence my abstracted {color.red} idea.
<teepee> yes, but it never really worked with all the extra feature of html like collsapsing whitespace and such
<InPhase> Ah, that.
<teepee> and all the cases of missing closing tags that can happen
<InPhase> Well we wouldn't want to allow user html.
<teepee> I assume we may want to have all attributes reset at the end of a single print() call
<InPhase> But yeah, collapsing whitespace would be a challenge. :)
<InPhase> Yes, I think so.
<InPhase> Either that or we would need a smart console tracking its color state.
<teepee> the problem with html is that we have no control once we give users the means to insert tags
<peepsalot> the Qt console output was reworked to avoid HTML, and sets colors for Qt's rich text format directly, for performance reasons
<peepsalot> https://doc.qt.io/qt-5/qtextcharformat-members.html setForeground (inherited from QTextFormat) etc.
<InPhase> That might resolve the issue of html layout problems.
<InPhase> Setting color is buried deep within some layers of excessive object creation, but it could still work.
<peepsalot> the html parsing was unbearably slow
<InPhase> setForeground(QBrush(QColor(...)))
ali1234 has quit [Ping timeout: 240 seconds]
juri_ has quit [Ping timeout: 250 seconds]
Azelphur has quit [Ping timeout: 252 seconds]
niyawe has quit [Ping timeout: 252 seconds]
<peepsalot> yeah we could cache some common preset QTextCharFormat objects if we really wanted
juri_ has joined #openscad
niyawe has joined #openscad
aiyion has quit [Remote host closed the connection]
califax has quit [Write error: Connection reset by peer]
teepee has quit [Write error: Connection reset by peer]
TheAssassin has quit [Remote host closed the connection]
califax has joined #openscad
Jack21 has quit [Ping timeout: 256 seconds]
<peepsalot> but it was already so many OOM faster than the HTML based text output that it wasn't worth optimizing https://github.com/openscad/openscad/pull/3602
teepee has joined #openscad
aiyion has joined #openscad
TheAssassin has joined #openscad
Azelphur has joined #openscad
<InPhase> peepsalot: Honestly I've been strongly contemplating abandoning Qt for my other projects. I fear Qt6 might be hopelessly broken for the normal reliability requirements I have, as they've banned top-level exception handling for events.
<InPhase> peepsalot: It will be an ordeal to switch my habits and source code infrastructure to a new system, but their philosophy is growing too broken to keep dealing with. I don't like Qt's philosophy of trying to keep users thinking it's not free in the first place, but I stuck with it only because it appeared to be the best thing out there. But if they're going to go and break reliability guarantees, then
<InPhase> it's really not anymore.
<InPhase> I was looking at Dear ImGUI the other day, and I'm intrigued by this approach. It looks like on the whole it is much lower overhead and results in smaller UI code by completely avoiding a UI object model layer passing data back and forth.
<peepsalot> ah, yeah. imgui is interesting. magnum has some integration for that too btw ;)
<InPhase> And on top of that, you get video rate updating of UI features.
<teepee> yeah, I feel we are now in a situation that's very unfortunate
<teepee> can imgui do accessibility stuff?
<InPhase> Plus, Dear ImGUI seems like it seamlessly moves the interface into and out of web browsers.
<InPhase> teepee: Well, like?
<InPhase> teepee: Text to speech things?
<peepsalot> ditching qscintilla would probably be the most difficult aspect
<teepee> screen readers, ...
<InPhase> teepee: I'm not sure how that would work.
<teepee> well, there's a opengl version of scintilla in bonzomatic :)
<InPhase> Yeah, it looks like people have put scintilla into imgui.
<InPhase> Not sure how well it works.
<InPhase> Any change of that scale would be an ordeal. But I've just been getting concerned enough to start evaluating this for my other work.
<InPhase> And I kind of like the notion of accelerated interfaces.
ali1234 has joined #openscad
<InPhase> The advocates all report that the overhead is lower than something like Qt for most things, although there are some cases where Qt will be lower overhead.
<InPhase> Things like scrolling should be much smoother.
<teepee> at least I'm not so much concerned regarding the "non-free" part, I believe there's a good chance that continues to be a solved topic
<InPhase> teepee: Well that's been a 30 year ordeal.
<teepee> what is? converting OpenSCAD? yeah, probably
<InPhase> lol
<teepee> but there's some legal stuff in place to secure at least the open source state
<InPhase> Yeah, a fork is always possible, but there isn't really community interest in it at present. The Qt Company is doing the heavy development on this library.
<InPhase> CopperSpice already tried a fork back at 4.8, but it never picked up any interest.
<teepee> no, not fork, there's a foundation with board members 50% from KDE
<InPhase> Yeah. My main concern is how often I have to explain to people that Qt is actually open source and free, because their website misleads on this intentionally to sell extra licenses.
<InPhase> They're required to continue providing it, but they are allowed to strongly mislead about it.
<teepee> yeah, the official site and also their communication is certainly going into a not so nice direction, it feels like only dragging the desktop stuff around and caring only about mobile
<InPhase> Right, that too. Their whole development agenda moves away from my interests and goals.
<teepee> so I agree it's something to look at for new projects, but the concern for existing projects is likely less than it seems
<teepee> at least mid term, lets say 5 years or so
<InPhase> Well, I'm worried about what happens to my other projects once Qt5 becomes too aged to keep using.
<InPhase> 5.14 already breaks exception handling.
<InPhase> I think that was the threshold version. Somewhere around there.
<InPhase> In Qt6 it's to be purely broken.
ur5us has joined #openscad
<InPhase> OpenSCADApp.cc line 52, for example, stops working in non-gui threads at 5.14, and will not compile for Qt6.
<InPhase> Which is a massive problem.
<InPhase> For OpenSCAD I don't think these exceptions happen very often, but I have a lot of code that relies heavily on this formerly standard approach as part of the infrastructure.
<InPhase> Because, you know, programs should not crash...
<InPhase> "However, be advised that you need to ensure ALL threads stop delivering events
<InPhase> before your application object begins destruction. That includes threads you
<InPhase> did not directly start, but were started on your behalf inside other libraries
<InPhase> (and anywhere I didn't catch in Qt). If you can't guarantee that, stop
<InPhase> overriding notify() -- there's no other possible solution.
<InPhase> Whoops, bad paste.
<InPhase> And, "This is not a new requirement. It's been there since Qt 3.0, but no one noticed until now."
<InPhase> In fact, this was known long ago. But apparently the Qt devs rediscovered it and were shocked.
<InPhase> So, they broke Qt6 exception handling to avoid the need to shut down threads.
<InPhase> Maybe I misremembered the 5.14 part. I don't see anything about that there, but I thought there was some related change at this version.
<InPhase> I figure there are a few years left of dragging feet on Qt5 before I need to find a solution, but it's worth starting to plan.
Guest8119 has joined #openscad
Guest8119 has quit [Client Quit]
<teepee> yeah, that makes sense, but there's not an amazing list of options to select from
amahl has quit [Remote host closed the connection]
<InPhase> teepee: Yeah. I did a survey of options the other day, and it seems like wxWidgets, gtk, and Dear ImGUI are the primary production-ready feature complete high-support options.
<InPhase> I don't think I want to go back to gtk. Been there, done that, left for a reason. I'm not familiar with wxWidgets but rumor has it that it's a little unpleasant to work with the API. The Dear ImGUI users appear to rave about it, hence my curiosity about this. It's just... very different from how I'm used to thinking about UI design.
<InPhase> But it might be different in a way that is empowering. I do notice the wastefulness of shuttling data back and forth in gui components that mirror non-gui components.
<InPhase> I think that contributes a lot to the pain of restructuring anything that interfaces with the gui.
<InPhase> Allegedly this is greatly reduced with ImGUI.
Junxter has quit [Ping timeout: 268 seconds]
snaked has joined #openscad
<JakeSays> openscad needs a struct type thing
<JakeSays> InPhase: personally i think qt is a much better platform than any of the alternatives you mention
<JakeSays> wxwidgets is *very* MFC'ish
<JakeSays> also i'm not too thrilled with qt6.
<JakeSays> but.. openscad needs a struct. lol
ur5us has quit [Ping timeout: 260 seconds]
<InPhase> JakeSays: See the object literals proposals. The design is at least in progress of being thought out.
<JakeSays> InPhase: oh cool!
<InPhase> And some foundation code is in place already from recent work.
ur5us has joined #openscad