This took far longer than I care to admit, but here's a new amalgamation visual overview of BRL-CAD. Feedback appreciated: https://brlcad.org/BRL-CAD_Overview.pdf
looking good but couldnt see much of the pdf. its taking time on my computer. will see the whole of it later
FYI, I updated https://brlcad.org/wiki/Compiling and merged it with the other wiki compilation pages. Tried to keep it as terse but informative as possible, avoiding being wordy or explanatory. Review and feedback appreciated.
I also updated https://brlcad.org/docs/api and our Jenkins integration so that's back up and automatically publishing again when the build is clean.
Will be working on publishing the new docs effort next, so we can avoid diverging and take advantage of the new structure dashamir worked on last fall. Hopefully have that done in time for GSoC!
Do we still need lex and yacc?
What's the context? Need lex and yacc for docs?? I don't think so. We have a couple files that I've kept around because they're good reference, but nothing in active use any more that I'm aware of.
I noticed it as being called out in the Debian packages for installation (byacc and flex)
o.O
aptitude install sed byacc flex xsltproc libncursesw5-dev
sure enough.. I didn't see that
All the Linux suggestions could be out of date -- I don't use them, didn't write them. Can you check ubuntu/debian for relevance? I just removed a few but don't know if things like libncurses are still used if found.
Sure.
I just updated the section in case you need to refresh
Yeah, I think the ncurses package can go now.
It wasn't needed before, but it was better to link against it than have it use termcap or termio or some other fallback.
<nod> Our usage of those APIs generally is way down now - I think it's mostly a couple of the fb tools, and their usage is very simple.
I don't see a terminal interface in the dependency listing, so if not ncurses, it'll need something listed still
if memory serves, ncurses pulls in termcap
I think libtermio is fairly self contained... I'll have to check what its external requirements are. They should be minimal.
Do we still use libxi-dev? I can never remember if the Xi bits are still there or not.
I think it's "technically" optional, but it's really needed to get input devices to behave properly. I'd keep it.
I'll have to pay closer attention the next time I set up a vanilla VM - I know for the Qt stuff, particularly if you want to build qt6 yourself, there's a bunch of stuff you need.
I think for the remaining terminal bits its looking as long as you have one of termios.h, termio.h (SYSV) or sys/ioctl.h (BSD) you're OK...
Yeah, mged uses it optionally. It's what makes shift-grips works smoothly across input devices, and I think enables other input devices.
libtermio doesn't link any external libs - just libbu.
sure, it's just a low-level terminal I/O -- it uses, however, some lower-level platform-specific method for talking to a terminal
(hence termio.h termios.h, sys/ioctl_compat.h, etc.)
If I have my dependencies correct, ncurses was its (libtermio's) modern system replacement. we bundled a bare minimum.
libc6-dev gives us termio.h on Ubuntu
Is aptitude even installed by default? Or should we list the instructions for apt-get or dnf or whatever else is default instead?
I usually use apt, but I'm kinda old-school... not sure what the cool kids use these days.
I've seen a report from someone saying they didn't have aptitude in their ubuntu, but they followed the instructions using something else, so apt would be better if it's the base and simple enough
my understanding is aptitude is really for the GUI
That's looking fairly close now for Debian/Ubuntu - we've still got libxext-dev called out in the README (?)
Oh, of course - opengl
libglu1-mesa-dev
The BSD comment made me chuckle
Now that's a long-overdue fix... just finished doing a barebones cleanup of the html command page that displays in mged/archer. Was an incoherent mess. Can be improved and should become auto-generated (any takers?), but now has a proper auto-adjusting menu and all the commands are at least mostly using the same styling now: image.png
I started work on my own version of documentation. It is only in its infancy right now, but I would like to make it pretty extensive. All of the figures and imagery are generated with scripts and the document is written in LaTeX. Here are the first five pages of the manual (Still a work in progress)
fbrlg.pdf
And a few figures which are not present in the PDF snippet above:
booleanfig.png
QR-Sphere.png
If any of you have any feedback on the formatting of the document, please let me know! The writing is definitely going to be revised for clarity later.
It looks very promising. I'm keen to see it developing.
Do you know https://brlcad.org/HACKING_BRL-CAD.pdf ? The docbook source of it can be found in doc/docbook/books. It could serve as inspiration for you.
Cool. I will have to check those docs out. I have mainly been using:
https://brl-cad.github.io/docs/man/n.html
for both reference and learning.
Last updated: Jan 09 2025 at 00:46 UTC