<a6-webm>
has anyone messed with in-code documentation (a la rust's "///")? I was looking at the GSOC for adding more help info, and thought this would be a pretty neat tie in (but if my last msg is anything then some has already done it lol)
<a6-webm>
(I'm checking logs btw)
<a6-webm>
anything to go by* someone*
a6-webm has quit [Quit: Client closed]
<JordanBrown1>
Don't expect sub-minute reply times :-)
<JordanBrown1>
I'm not aware of anybody doing anything formal with that sort of thing.
<JordanBrown1>
I guess they gave up in <7m.
a6-webm has joined #openscad
<a6-webm>
I said I was checking logs lmao
<a6-webm>
and it's like midnight where I am, I'm snug as a bug in a rug one could say
<a6-webm>
but fair good to know
a6-webm has quit [Client Quit]
<JordanBrown1>
I'm not aware of anybody doing anything formal with in-source documentation. There is certainly no standard.
<JordanBrown1>
(and gone again; maybe they will come back)
a6-webm has joined #openscad
<JordanBrown1>
But I bet that you could use something like Doxygen.
<a6-webm>
(read in spy's voice) suprise
<JordanBrown1>
Nope, not surprised :-)
<a6-webm>
ah yeah forgot abt doxygen
<a6-webm>
very real
<JordanBrown1>
Those tools don't tend to be all that sensitive to the syntax of the language that they're processing.
<a6-webm>
though I was more thinking of the code documentation showing up in the openscad editor on hover
<a6-webm>
so I think doxygen compliance is a free win rather than a solution
<a6-webm>
free extra win*
<JordanBrown1>
Indeed, Doxygen would get you generate "paper" documentation, but wouldn't help with in-editor documentation.
<JordanBrown1>
s/get/help/
<JordanBrown1>
Still, probably best to pick some standard and emulate it, rather than making something up.
<JordanBrown1>
That is, confirm that Doxygen (or whatever) can produce reasonable documentation, and then add stuff to process Doxygen comments and display them.
<a6-webm>
very real
<a6-webm>
I love giving myself work to do with 2 days to spare 🙃🙃🙃
<a6-webm>
thanks for the hints, I go slerjy need sleep so catch you laterssssss
a6-webm has quit [Quit: Client closed]
<JordanBrown1>
Later
<teepee>
doxygen seems quite tied to c++ which probably is going to be trouble
<JordanBrown1>
I thought we used it at work for some project, and we don't do any C++.
<JordanBrown1>
Would have been either C or Java.
kintel has joined #openscad
extor has joined #openscad
<kintel>
a6-webm: I think someone did a in-source documentation thing a long time ago
<kintel>
..but I can't remember if they got anywhere on the tooling side
<JordanBrown1>
I tried to make it fully general for the case of three axis-aligned edges, isolate out the key parameters, usable with customizer
<JordanBrown1>
InPhase it probably isn't; I haven't changed the actual logic.
<InPhase>
lol, well the output looks more balanced than your whitespaces.
<JordanBrown1>
And remember I'm not generating the patches - it's BOSL2
<JordanBrown1>
Oh, you mean of the coordinate lists
<JordanBrown1>
?
<InPhase>
Yeah. :)
<JordanBrown1>
Yeah, they were all nicely aligned when they were all small integers.
<JordanBrown1>
I forgot to go back and try to clean them up now that they are all variables.
<InPhase>
Ah, I guess that approach still has a point where the lines all come together like an OpenSCAD sphere. Just now it's hidden in the shadows beneath the model.
<JordanBrown1>
Yes, I had to pick which corner was degenerate, and picked the Z=0 corner.
<InPhase>
But I stipulate it looks good, even if I know it has this strong bias point.
<JordanBrown1>
Not particularly to hide it, but because it seemed like the most special corner.
<JordanBrown1>
They'
<InPhase>
Yes, that is the right one to choose.
<InPhase>
Had we done this with a sphere hull, you'd have the same effect.
<JordanBrown1>
They've got a function specifically for degenerate patches, but it doesn't seem to have a debug variant, and I wanted to retain debug as an option.
<JordanBrown1>
(debug gives you a version with the control points marked.)
<JordanBrown1>
This made my head hurt doubly, because there are four Bézier patches that share various points.
<JordanBrown1>
And several times I realized that I had something backwards, either in terms of having the yellow side out or in terms of being easy(ier) to understand, and when I rearranged things of course I broke them.
<JordanBrown1>
And if you've ever played with Bézier curves you know that if you have the CPs in the wrong place you can get all kinds of deranged stuff, and that's squared for patches.
<JordanBrown1>
I had basically this shape a long time ago, but with constant integers.
<JordanBrown1>
I wanted to isolate down which coordinates needed to be the same, or needed to share X and Y with one coordinate and Z with another.
<JordanBrown1>
And that made my head hurt more.
J24k84 has joined #openscad
<JordanBrown1>
And I had assumed that there would be constraints on the relationships between the three axes, more than that the three corners had to meet.
<JordanBrown1>
I thought that the X and Y patches needed to have their top at the same Z value, and so on. But that turns out not to be really necessary.
J24k62 has quit [Ping timeout: 250 seconds]
califax_ has joined #openscad
califax has quit [Remote host closed the connection]
califax_ is now known as califax
<JordanBrown1>
Adrian points out that the degenerate variant generates the same shape, just with different triangulation, so the same debug scaffolding applies; all I needed to do was to tell the debug variant *not* to generate the patch itself.
<guso78k92>
Jordan, It wold be great to see the work combined ...
<JordanBrown1>
You're have to talk to the BOSL2 guys about that.
<JordanBrown1>
I'm just a user, and a newbie at that.
<JordanBrown1>
(WRT BOSL2, that is.)
<JordanBrown1>
Bedtime.
hyperair has quit [Ping timeout: 260 seconds]
a6-webm has joined #openscad
<a6-webm>
yeah from what I read doxygen's parser is one massive state machine for all the languages it supports, so probably not gonna hit that lol
<a6-webm>
but yeah while the gsoc proposal is for showing some of the stock scad information/cheatsheet, I feel like if you can hover something and get a pop up, it'll make people go "dang i wish my functions had these handy pop ups"
<a6-webm>
and then if the implementation of the pop ups don't assume their info is coming straight from deep in the scad source code, someone could merge a documentation generator and bob could be your uncle
a6-webm has quit [Quit: Client closed]
<pca006132>
feel that it would be more useful to support that in a language server instead of openscad GUI
<pca006132>
feel that most people are working on vscode or some other editor now
L29Ah has quit [Ping timeout: 268 seconds]
mmu_man has joined #openscad
teepee_ has joined #openscad
teepee has quit [Ping timeout: 260 seconds]
teepee_ is now known as teepee
mmu_man has quit [Ping timeout: 255 seconds]
hyperair has joined #openscad
L29Ah has joined #openscad
<teepee>
LSP would be great and a prototype does exist, but that's probably too big a topic for gsoc
<pca006132>
true
mmu_man has joined #openscad
mmu_man has quit [Ping timeout: 252 seconds]
<InPhase>
guso78k: Making sure you got the final result of the discussion JordanBrown1 and I were having last night: https://bpa.st/SHLQ
teepee_ has joined #openscad
teepee has quit [Remote host closed the connection]
<guso78>
Inphase thank you. I will try to adopt latest Code
<JordanBrown1>
pca006132 data point: I use the internal editor. (But also I've never really felt the need for this kind of dynamic documentation.)
mmu_man has quit [Ping timeout: 272 seconds]
mmu_man has joined #openscad
mmu_man has quit [Ping timeout: 256 seconds]
<JordanBrown1>
In fact, when I install OpenSCAD on a new computer, one of the first things I do (as soon as I notice it) is to turn off the existing hover-popup documentation, so that it stops popping up and obscuring what I'm looking at.
guso78k92 has quit [Quit: Client closed]
mmu_man has joined #openscad
TheAssassin has quit [Ping timeout: 260 seconds]
TheAssassin has joined #openscad
teepee_ has joined #openscad
mmu_man has quit [Ping timeout: 252 seconds]
teepee has quit [Ping timeout: 260 seconds]
teepee_ is now known as teepee
mmu_man has joined #openscad
qeed_ has joined #openscad
qeed has quit [Ping timeout: 260 seconds]
mmu_man has quit [Ping timeout: 260 seconds]
snaked has quit [Quit: Leaving]
mmu_man has joined #openscad
kdc has quit [Quit: Leaving]
mmu_man has quit [Ping timeout: 264 seconds]
mmu_man has joined #openscad
guso78k has quit [Quit: Client closed]
marcus has quit [Remote host closed the connection]
marcus has joined #openscad
zl2tod has quit [Remote host closed the connection]