teepee changed the topic of #openscad to: OpenSCAD - The Programmers Solid 3D CAD Modeller | This channel is logged! | https://openscad.org/advent-calendar-2021/ | 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
<JakeSays> lol 3d chocolate printer.
<JakeSays> how fun would that be!
<ccox> Does OpenSCAD allow any unicode glyph in variable or function names? It appears to allow it, but doesn't work with many glyphs (russian, chinese)
<ccox> ok, it doesn't work with anything other than basic low ascii.
<ccox> Jake - fun, but a lot of cleaning needed to keep the chocolate edible. Also, so far they're all low resolution paste extruders.
<JakeSays> ccox: well, it's chocolate. i wasn't expecting anything grand
<teepee> no, not allowed right now and difficult with the current lexer
<teepee> unicode is only available in strings and in comments I think
<ccox> unfortunately that limitation does not seem to be documented anywhere I can find on the public websites.
<teepee> documented probably not, but there's a ticket asking for unicode support for variables
ferdna has quit [Quit: Leaving]
raboof_ has joined #openscad
<InPhase> teepee: I will make all my future OpenSCAD variables 0 followed by different numbers of zero-width spaces.
niyawe has joined #openscad
dTal_ has joined #openscad
<ccox> ^ and people wonder why developers don't like messing with unicode ;-P
HannoBraun[m]1 has joined #openscad
<InPhase> :) 0_0 = function () 0_0; echo (0_0());
t-paul[m]1 has joined #openscad
raboof has quit [Ping timeout: 240 seconds]
wed has quit [Ping timeout: 240 seconds]
epony has quit [Ping timeout: 240 seconds]
dTal has quit [Ping timeout: 240 seconds]
HannoBraun[m] has quit [Ping timeout: 240 seconds]
t-paul[m] has quit [Ping timeout: 240 seconds]
niyawe_ has quit [Ping timeout: 240 seconds]
M6piz7wk[m] has quit [Ping timeout: 240 seconds]
raboof_ is now known as raboof
epony has joined #openscad
<InPhase> 0_0 = function () 0<(0_0>0) ? 0_0(0^0) : 0^0 ; echo ( 0^0 == (0_0()) );
wed has joined #openscad
M6piz7wk[m] has joined #openscad
<Jack2232> 0_0 = function () (0_0); echo (0_0);
<InPhase> Now with no warnings: 0_0 = function (0_0=0^0) 0^0_0 ? 0_0(0^0) : 0^0 ; echo ( 0^0 == (0_0()) );
<lf94> ascii faces evrywhere
<Jack2232> C8=function()C8; echo(C8);
<Jack2232> C8=function(C8)(C8); echo(C8(C8));
<ccox> Just let me finish the bugs we've got now before introducing more of that nonsense....
<InPhase> module 0_0 (0_0) echo(0_0); 0_0 (0-0);
Jack22 has joined #openscad
<InPhase> lol. This one is particularly hard to mentally trace.
<InPhase> 0_0 = function (0_0) echo(0_0) (0_0); module 0_0 (0_0) 0_0 = 0_0 (0_0); 0_0 (0_0);
<ccox> I think someone already invented this: https://en.wikipedia.org/wiki/Brainfuck
Jack2232 has quit [Ping timeout: 256 seconds]
<Jack22> C8=function(C8)echo(C8)(C8);
<Jack22> https://de.wikipedia.org/wiki/Ook!    but more impressive are the art of code examples of code that is replicating itself in several languages
califax- has joined #openscad
<Jack22> C8 =function(C8)(C8);
<Jack22> for(C8=[(C8)?(C8):(C8):(C8)?(C8):(C8):(C8)?(C8):(C8)])C8(C8);
califax has quit [Ping timeout: 276 seconds]
califax- is now known as califax
<peeps[zen]> ccox: you might find it helpful to look at our code for indexing string values. it uses some glib "g_utf8_*" functions to figure out lengths: https://github.com/openscad/openscad/blob/master/src/value.cc#L1166-L1180
<InPhase> lol: https://bpa.st/MOXA
<peeps[zen]> also the str_utf8_wrapper class, defined in value.h, is meant for caching/memoizing the total char length to avoid performance hit
califax has quit [Remote host closed the connection]
<ccox> peeps - I checked that and a few other functions I found. But so far the errors I've been looking at have been relatively simple.
califax has joined #openscad
<ccox> I've still got one difficult to reproduce case to track down, but it only seems to happen sometimes, with 4 byte unicode in strings AND in a variable name.
<InPhase> Jack22: Your last one there is an interesting parse effect. The lexer was working overtime on that one.
<Jack22> :)
LordOfBikes has quit [Ping timeout: 256 seconds]
<peeps[zen]> i'm reminded of the 2byte input i found to crash openscad a while ago (fixed now), i was quite proud of its conciseness. https://github.com/openscad/openscad/issues/1890
<Jack22> i wonder how a literal  can work in a loop ..  but using the search result of the literal in itself as a cube size  - priceless
<Jack22> for( C8=[":)","C8","C8"])echo(C8);    is clear but  string:string:string  is what?
LordOfBikes has joined #openscad
<ccox> yes officer, I'd like to report several cases of parser abuse.
<Jack22> what ...   for( a=["a":a:a])echo(a);   .. sorry can you repeat?
<Jack22> i think this shouldn't work
<lf94> does peeps(zen) mean you're high
<JakeSays> is 0_0 a valid identifier?
stonkey has quit [Ping timeout: 256 seconds]
<ccox> JakeSays: sadly, yes.
<ccox> Really should change the lexer to require a leading character and only allow numbers or underscore after.
<ccox> So right now __ is also a valid identifier. 0_0 = 1; __ = 3; echo( 0_0, __ );
<peeps[zen]> lf94: no, it means my (Ry)zen computer had to auto-reconnect and peepsalot was still taken.
<JakeSays> ccox: wonder how much code would break with that change
<JakeSays> ccox: i assume you mean letter followed by alphanumeric + _
<JakeSays> [a-Z]([a-Z0-0_]+)?
<ccox> Jake - yes
<JakeSays> er
<JakeSays> [a-Z]([a-Z0-9_]+)?
fling has quit [Ping timeout: 240 seconds]
GNUmoon has joined #openscad
fling has joined #openscad
<ccox> Jake - it breaks the fonts examples and text-search-tess that use 8bit_polyfont as a function name
<ccox> s/tess/tests/
<ccox> And the expression is "$"?[a-zA-Z][a-zA-Z0-9_]*
<JakeSays> ccox: the a-Z is pseudo-shorthand for a-zA-Z
lastrodamo has joined #openscad
ferdna has joined #openscad
RB_ has joined #openscad
<RB_> Hello :)
RB_ has quit [Client Quit]
BD has joined #openscad
ferdna has quit [Quit: Leaving]
<ccox> Jake - you'd also find that your + is a mistake, because a variable named "a" would fail. Well, I now have the appropriate expression if we wished to change it, but probably won't because of fonts.scad.
* Jack22 thinks  2D and 3D  are  useful variable names and has 7Segment as a module
BD has quit [Remote host closed the connection]
BD_ has joined #openscad
epony has quit [Quit: QUIT]
epony has joined #openscad
<Jack22> ccox  so superseding  keywords is not working   -  not sure if it wise to use but as i can redefine a `module cube()` which supersedes  the original `cube()` it would be logical that this works for the keywords too
Zauberfisch_ is now known as Zauberfisch
<JakeSays> ccox: it wouldn't fail because of the grouping
<JakeSays> [a-Z]([a-zA-Z0-9_]+)? - would match 'a'
<Jack22> ccox ok now i have used up all 10 Keywords  - Ü
<JakeSays> lol [a-zA-Z]([a-zA-Z0-9_]+)? == [a-zA-Z][a-zA-Z0-9_]*
<JakeSays> so has render() as a function gone anywhere?
<Jack22> JakeSays:  you mean to extract points?
<JakeSays> Jack22: yeah
lastrodamo has quit [Quit: Leaving]
Guest7 has quit [Quit: Client closed]
<Virindi> ooh, replacing cube()? That sounds great. I never use cube() anymore, I found it is 1000x more clear to define cubes by minx,maxx,miny,maxy,minz,maxz
<Virindi> defining a size and then translating it becomes a huge mess everytime because the translation almost always includes some terms negating the size
Jack2286 has joined #openscad
<Virindi> using center=true makes it even more confusing to read
dTal_ is now known as dTal
<JakeSays> Virindi: i'm just the opposite - size makes a lot more sense to me
Jack22 has quit [Ping timeout: 256 seconds]
<Jack2286> Virindi:   probably what you are used to  and one is easy to translate into the other
Jack2286 is now known as Jack22
<Jack22> but in general you work with reference points   which is either center or the corner
<Virindi> with translate+size, the formulas for both are almost always more complicated and include duplicated terms :)
<Virindi> I mean
<Jack22> when you have multiple cubes  in a loop  you just need to translate them  while in your case you need to alter the values that also change the size
<Virindi> the most typical scenario for me is I have some formula for where I want the left side to be, and some formula for where I want the right side to be, etc
<Jack22> translate moves this to the  corner and size determine the other corner of the cube
<Virindi> yeah but if you want one side to be at (a+b*c) and the other at (d+e*f), it is
<Virindi> translate([a+b*c])
<Virindi> vs.
<Virindi> mycube(a+b*c, d+e*f);
<Virindi> cube([(d+e*f)-(a+b*c)]);
<Jack22> sometimes a cube that is centered only on xy is usefull .. which can be done with linear_extrude (10)sqare(10,center=true);
<Virindi> if in the first one you are changing something and accidentally only change one copy of "a+b*c", you have a problem
<Virindi> wow, sorry, your 'useful' even harder to read :P
walterwhip has joined #openscad
<Virindi> the goal of code should be to be as simple and easy to read as possible :P
<Virindi> linear extruding a square is just 'clever', takes a moment of looking at it to understand what you are trying to accomplish
<Jack22> virindi  that is why you can use and make  modules -  but also your mind will learn to parse complex code after a while  when you are ready for it - just training
<Virindi> more like you learn tokens. for example, if you use linear_extrude square often, you will remember it. but someone who hasn't ever seen your code will be confused
<Virindi> even if they have used openscad for years
<Jack22> another way is to use a cylinder($fn=4);
<Virindi> oh my god, why
<Virindi> is your goal in writing these to show off how clever you are :P
<Jack22> or a sphere($fn=4);
<Virindi> so you're saying your code is a flex
<Jack22> i am using round corners a lot so i have my own modules i use .. and some have  multiple options for "center"
<Virindi> I have been using openscad for 10 years and I would have no idea what fn 4 with a sphere looks like, I would have to test it to find out
<Jack22> it is a cube
<Virindi> obviously.
<Virindi> I gathered that from your statement.
<Virindi> but I wouldn't have known.
<Virindi> because who uses sphere() to make a cube??
<Jack22> if you need the dimension over the corner .. instead you would use a cube(sqrt(2) size );
<Virindi> that is incorrect unless both sides are the same length
BD_ has quit [Remote host closed the connection]
<Virindi> whatever, it is silly, my goal is to use as little cleverness as possible, so a monkey could read and understand what I wrote :)
<Virindi> and to that end, defining a cube by its min and max coordinates is very useful, that is all I was saying
<Jack22> sphere(10,$fn=4);
<Jack22> cube(sqrt(2)*9.9,center=true);
<Virindi> in my version, I don't even make it min and max, but any two corners. It is so useful that I use it in 99% of cases and once I started using it I didn't want to use the stock one again
<Virindi> any two opposing corners*
<Jack22> lets say you need a chamferd cube that is size 50
<Jack22> minkowski(){
<Jack22>  cube(40,true);
<Jack22>  cylinder(10,d=10,$fn=4,center=true);
<Jack22>  }
<Jack22> if you do this with your version it needs more calculation
<Virindi> I never use minkowski, it slows things down
<Virindi> my version has chamfering builtin.
<Virindi> it achieves it by subtracting an edge, etc
<Jack22> no it doesn't  if you use it for a cube .. only if used for concave objects
stonkey has joined #openscad
<Jack22> virindi  for simple objects your cube definition is nice .. when useing more complex arrangements it doesn't make things simple like you need an array of cubes  for(x,y,z)
<Jack22> Virindi:  how does your code looks for this for (x=[0:2:10],y=[0:2:10],z=[0:2:10])translate([x,y,z])cube(1.5);
<Virindi> First of all, 99% of the time I just need one cube. Second, that is not true. When I do an array I will compute a base coordinate at the top of the loop and then construct objects as an offset from that base
<Virindi> making some complex 3d grid is definitely an unusual case
<Jack22> as i said for simple things yours is fine ..  i am using more complex geometry
<Virindi> how are you going to manufacture that? a 3dp with soluble support or powder bed? not a normal 3dp or 5-axis cnc...
<Jack22> but that is the great thing on openSCAD  -  a solution for everyone and every workflow
<Jack22> Virindi:  these grids are a mask  and ends in object like this https://pasteboard.co/KDRj6YRKb35e.png  which can be printed without supports
<Jack22> the 3mf is also printable without supports
<Virindi> sure, if you are making 'math demo' objects not mechanical assemblies :)
<Jack22> where is the 3mf a "math demo"
<Jack22> the animation is  but not the printable geometrie
walterwhip has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
<Virindi> just a big difference in what we are trying to accomplish
<Jack22> however if you found a solution that is working for you - it is all that counts.  But there is a reason why the standard cube definition is via a reference point in all CAD software or Unity or any 3D  tool  - at least internally
<Jack22> i mean sure you can build all geometry as polyhedron without any rotate or translate - Ü
BD has joined #openscad
linext_ has quit [Read error: Connection reset by peer]
la1yv_b has quit [Ping timeout: 256 seconds]
la1yv_b has joined #openscad
<gbruno> [github] t-paul pushed 1 modifications (Merge pull request #4048 from ChrisCoxArt/lexertl_integration
lastrodamo has joined #openscad
<gbruno> [github] t-paul pushed 1 modifications (Merge pull request #4049 from ChrisCoxArt/master
stonkey has quit [Remote host closed the connection]
BD has quit [Remote host closed the connection]
<gbruno> [github] t-paul closed issue #3939 (OpenSCAD parser error in the *middle* of a comment when last line accidentally uncommented?). https://github.com/openscad/openscad/issues/3939
<gbruno> [github] t-paul closed issue #4047 (Highlighting with some characters ). https://github.com/openscad/openscad/issues/4047
<teepee> ccox: tip for PRs, if you reference the issue using "(fixes #1234)" at the end of the PR title, it will auto close those at merge
BD has joined #openscad
BD has quit [Ping timeout: 256 seconds]
BD has joined #openscad
BD has quit [Ping timeout: 250 seconds]
BD has joined #openscad
BD has quit [Quit: Leaving...]
<teepee> poll: GSoC this year? ..... [ ] yes / [ ] no
ferdna has joined #openscad
<InPhase> teepee: Yes. :)
<InPhase> Although it would sure be nice if they switched back the format...
<teepee> it's even more different this year, with both long and short projects possible
<InPhase> Ok.
<teepee> plus more people eligible, e.g. not just students
<teepee> this can be a good thing, but there's potential for quite a mess too :)
<InPhase> The short projects are structured such that if I were advising a strong student, I would specifically advise them to not pursue GSoC, because a strong student can generally get twice as much money and twice as much experience over the summer.
<InPhase> Unless they had backpacking plans, or no need for money or something.
<teepee> yeah, that's a good point
<InPhase> But I'm sure google got that sort of feedback in multiples already.
<teepee> probably, I did not follow the virtual mentor meetup, but there was some on the mailing list too
<teepee> unsurprisingly quite different views, but I mostly ignored that as it's pretty much reading a crystal ball anyway
<Jack22> i assume they don't offer a scad challange?
<teepee> challenge in what way?
<teepee> it's meant to show people how open source projects work by giving them a stipend over a span of time in the summer
<Jack22> isnt GSoC  that you have to master a task?
SamantazFox has quit [Ping timeout: 240 seconds]
<teepee> there's project proposals but you can bring your own task too
<Jack22> writing a library?
<teepee> so I suppose the restriction is a bit like "it has to be coding which benefits the open source project in some way"
<teepee> well, that's not strictly required, but if there's not even a hint of some useful outcome, the motivation to mentor is a bit low :)
<teepee> as scad is code, I would assume this qualifies too
<Jack22> and it is around 175-350h
<teepee> I think we had a proposal for that at some point
<teepee> yes, short ~175h and long ~350h projects possible this year
<Jack22> so you sit 40 days in a lifestream  with others ..
<teepee> nope
<teepee> you work on the project however you like and discuss via IRC :)
<teepee> well, I guess it would be allowed to do streams but that means the mentor needs to have both the time and the matching timezone
<Jack22> so it is like the support you guys offer here  - but just for a bigger project and not hundreds of small client problems
<teepee> I guess you could say that, yes
<teepee> usually more targeting changing the C++ code base
SamantazFox has joined #openscad
Guest7 has joined #openscad
<Guest7> One more question guys.. If the font is not in the help fonts list, how do I get it there? Do I have to redownload the font?
<teepee> what OS?
<Guest7> Windows
<teepee> which one?
<Guest7> 64
<Guest7> 10
<teepee> there's an issue with picking up fonts on win10, can you install system-wide (= "for all users")
<teepee> ?
<Guest7> ??
<teepee> otherwise you could also put the font file into the same folder and and do "use <font.ttf>"
<teepee> install font as administrator
<Guest7> ah..okay let me do that
<teepee> OpenSCAD has currently trouble picking up fonts only installed for the normal user account
<Jack22> Guest7:  you can use  use<font.tty>  to register the font independently from windows
<Jack22> oh  teepee just said that .. Ü
<teepee> :)
<Guest7> You guys are geniuses! Thanks!!
<teepee> heh, DJ set in front of the pyramids in egypt, nice https://www.youtube.com/watch?v=9CqdPHf0eGE
<othx> teepee linked to YouTube video "Lynx | The Next Wave | Giza (Egypt)" => 1 IRC mentions
<Jack22> teepee the datasheet is about packaging or ? Ü
<teepee> but they are more specific on how they package those clips instead of giving the specs of the clips
<peeps[zen]> seems like all the relevant dimension info is there *shrug*
<peeps[zen]> i don't get what's wrong
<teepee> so how thick is the plate to clip those in?
<teepee> also the "recommended hole" of 6.4mm seems a bit off looking at the other specs, but I guess I'll trust that
<Jack22> i guess everything under 5mm is fine
<teepee> I found the same thing in the Conrad shop and there it says max 3mm but I don't know where they are getting that from
<Jack22> as the ring locks it and not a latch
<teepee> "Clip for LEDs, simple installation in front panels, maximum wall thickness 3 mm."
<Jack22> hm ah yes the front clip need to be fully through the hole
ferdna has quit [Quit: Leaving]
<peeps[zen]> hmm, ok you got me, yeah the panel thickness would be important to note in the datasheet
<teepee> clip size - front ring - ring would leave about 2mm 6.7 - 0.63 - 4.1
<teepee> but I guess the ring does not need to push on fully, but it's still a bit strange to not clearly show how it looks in a panel
<teepee> but then, I do know how the label on the box will look like if I order maybe 10000 pieces :D
<teepee> ah, no it even says 28k pieces
<teepee> I guess I'll print with 2mm and see how that goes
<Jack22> teepee just print your own clips
<teepee> that tiny stuff? not sure
<Jack22> done that for 3mm LEDs
<Jack22> (if you only need some and not 28k)
<teepee> It's actually for a photo transistor that shall go into the base of the signal tower
<teepee> now I'm thinking of adding 2 leds too :)
<ccox> teepee: ah, thanks for the tip.
<Jack22> these mounts are for metal frames .. but when you just print a 5.5mm hole with fins (pass mark) it will work a charm
othx has quit [Ping timeout: 240 seconds]
gunnbr_ has joined #openscad
gunnbr has quit [Ping timeout: 240 seconds]
othx has joined #openscad
<gbruno> [github] thehans closed issue #3984 (Wireframe view F11 needs two objects). https://github.com/openscad/openscad/issues/3984
little_blossom has quit [Ping timeout: 256 seconds]
little_blossom has joined #openscad
<Jack22> teepee https://bpa.st/SRUA
<teepee> oh, no, lib too old :)
linext has joined #openscad
<Jack22> will work
<Jack22> just lower the number
<Jack22> nothing new used here .. (just updated the template with the new version number)
<teepee> indeed, just did git pull and it still complains :P
<teepee> neat, I'll try that once the current print finishes
<Jack22> i am sitting on my version .. as i am to lazy and like to have  version 22|022  for a release - Ü
<lf94> Have you guys tried conductive pla / material for printing
<lf94> Imagine a dual extruder with TPU and that stuff
<lf94> You could do buttons
<lf94> Or print-in-place switches
<Jack22> lf94 different plastic often didn't adhere
<Jack22> so you have to work with undercuts
<lf94> do some magic
<Jack22> but a thin enamel wire is much smaller
<teepee> I like that release number
<Jack22> sadly it is already 22|025  (but nobody knows)
walterwhip has joined #openscad
ur5us has joined #openscad
GNUmoon has quit [Remote host closed the connection]
lastrodamo has quit [Quit: Leaving]
GNUmoon has joined #openscad
lostapathy has quit [Quit: WeeChat 2.8]
<teepee> ah, I see, because it starts with 1 after solstice?
<teepee> well, there's still 22|222
lostapathy has joined #openscad
<lf94> I find date versioning is the best
<teepee> that is date versioning :)
walterwhip has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
walterwhip has joined #openscad
ur5us has quit [Ping timeout: 256 seconds]
<gbruno> [github] ChrisCoxArt opened issue #4050 (Error highlight not cleared after fixing error in documents with unicode text before the error location). https://github.com/openscad/openscad/issues/4050
SamantazFox has quit [Ping timeout: 240 seconds]
la1yv_b has quit [Read error: Connection reset by peer]
la1yv_b has joined #openscad
SamantazFox has joined #openscad
<InPhase> Base 62 date versioning for today's date: m1f It has a y2k62 problem, but I should be retired before then so that's okay.
<InPhase> I guess that needs to be M1F to ascii sort properly. Let's go with that.
qeed has quit [Read error: Connection reset by peer]
qeed has joined #openscad
<InPhase> teepee: Self-reflecting on GSoC, I think my mentoring motivation was lower last year than previous years. It seemed like a small project and I was less enthusiastic about its impact, but I also remember I couldn't really think of things to suggest come project suggestion time.
<InPhase> teepee: I'll try to rally myself more when it comes time to propose projects this year.
<teepee> the time is pretty much now, deadline for application in about a month
<InPhase> Where's that list at again?
<teepee> and I have notes for a new one for improving the 3d view
<InPhase> Things that pop to mind... Smashing something like ClosePoints into polyhedron. Requires someone undaunted by numbers and trig, but probably not a whole summer unless the multmatrix bonus features are integrated as well.
<InPhase> Also we could really use some texturing options in the display. I know peeps[zen] was digging into that so we'd need to see where he got and whether he thinks it would be something appropriate for a summer student project.
<InPhase> It's a good sales pitch feature if we can just make things look really pretty.
<teepee> yeah, even just the shader part would open lots of options
<InPhase> Yep.
<InPhase> It would be easy to add commands to label material information on pieces, but I don't know how to handle propagating that or what to do with it after the labeling, so I suppose that's not viable yet until we get more of a clue about what we're doing. ;)
<peeps[zen]> yeah i was working on integrating that magnum gl library, but didn't get very far. our cmake setup was not very good for submodules, but i've recently fixed that in the mimalloc PR, so that's one step closer at least
<teepee> hmm, that sounds like a tricky gsoc project then
<InPhase> peeps[zen]: Do you think it's more viable for a summer project in the current state? Consider we can label them easy, medium, and hard in the issue list.
<teepee> current list of bullet points for the view is 1) allow different shaders 2) support quad display 3) integrate almost finished anaglyph
<InPhase> teepee: What do you think about object literals?
<InPhase> I'm really thinking about the frequent requests for tracking information about parts... But maybe object literals is the generic way to set us up for that.
<peeps[zen]> the cmake stuff was just one little stumbling block, there's still a ton of work to do to implement a low level GL api like magnum, so I don't feel it would be good for a student project
<InPhase> Ok.
<InPhase> I thought maybe it would be more cookie cutter at that point, but that's why I asked. :)
walterwhip has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
<peeps[zen]> the way the VBO feature is in there, its like the rendering code is duplicated in a way, was hoping to unify it by moving to that lib.
<peeps[zen]> also there is still an issue with shader based rendering where we get weird depth buffer mismatches: https://github.com/openscad/openscad/pull/1935#issuecomment-632873769
<peeps[zen]> i suspect there is some discrepancy between the way that fixed function opencsg calculates depth values, and then the way that shader based painting fills them in
<peeps[zen]> OpenCSG relies on GL_EQUAL for depth comparison in some places, so it has to be exactly the same calculation. i'm guessing the mix of fixed pipeline and shader are at odds
<peeps[zen]> unrelated, but maybe a good project would be adding error/warning info to Geometry objects. that way CGAL errors might be easier to link back to source lines, and cached geometries can replay their warnings
walterwhip has joined #openscad
<Jack22> inPhase  what is M1F ?
<peeps[zen]> that's just been on my mind recently, since it seems that the "mesh not closed" is tripping up a lot of users and not providing much feedback for what to fix
<InPhase> Jack22: M = 22, 1 = 1, F = 15
<InPhase> Jack22: Just take hex and keep on going through capital then lowercase.
<peeps[zen]> i'm not sure adding that check was the right choice. it catches errors before they could cause a crash... but also is even more strict than before, as previously some geometries were able to pass through CGAL ops without error even though they may have been malformed
walterwhip has quit [Quit: Textual IRC Client: www.textualapp.com]
walterwhip has joined #openscad
<InPhase> peeps[zen]: error / warning info for geometry info would be great. I don't have a quick mental image of how that flows through the pipeline, but if you think it's achievable it would be a nice one.
<InPhase> I don't think being a little extra strict is a problem, as I can imagine that being loose at things malformed just risks designs being mysteriously unstable under parametric adjustments.
<Jack22> InPhase know this https://i.redd.it/59ixc8wr0ja61.png
<InPhase> Yeah, I've seen that. :)
<InPhase> It's cool up until you don't know which end is up on the number. :)
<InPhase> 2001 and 1002 are the same symbol.
<Jack22> Beghilos
<InPhase> Same problem really as veverak's float codes. https://pub.veverak.org/ver.png needed to be https://pub.veverak.org/ver2.png when you label things that can flip.
<InPhase> Probably fine if you're scratching it on a cave wall, as flipping caves is challenging and comes with bigger problems.
<Jack22> or having a reference
<Jack22> (like a dot)
<Jack22> as all 7seg displays have such problems
<veverak> you want something like "standard" reference
epony has quit [Ping timeout: 240 seconds]
SamantazFox has quit [Read error: Connection reset by peer]
SamantazFox has joined #openscad
walterwhip has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
<teepee> meh, print failed, but now printing the LED clippy