<joseph_>
teepee kintel: Today I fixed the build dependency issues I was having. This allowed me to test some of the first bit of refactoring, which I pushed to a "gsoc-2023" branch in my fork. But I plan to rename that, considering that the goal this year is to have multiple, smaller PRs.
<joseph_>
It will be useful to have a way of tracking all the smaller branches, for the purpose of making clear what is done for GSoC. How do you recommend I do that? For example, should each branch start with "gsoc-2023-"?
fling has joined #openscad
mmu_man has quit [Ping timeout: 240 seconds]
J23k74 has joined #openscad
J23k35 has quit [Ping timeout: 246 seconds]
LordOfBikes_ has quit [Ping timeout: 252 seconds]
LordOfBikes_ has joined #openscad
kintel has joined #openscad
<kintel>
joseph_ gsoc-2023 as a prefix makes sense as an easy-to-find way of locating PRs. Keeping a google doc or something as a log also makes sense. Also, if you collaborate with other on branches which happens not to be prefixed that's also good to mention as an outcome.
kintel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<joseph_>
kintel teepee: The above pull request is intended to illustrate the approach I'm following for this refactoring. For now my VertexStateManager class is initialized with pointers to vertex_states and vertex_array, because logic elsewhere in OpenCSG/CGALRenderer still modifies those objects. Perhaps eventually though, that will be unncessary if the newly-added class can somehow take full ownership of them.
misterfish has quit [Ping timeout: 258 seconds]
<teepee>
joseph_: so who owns them now?
<lf94>
did you use a borrow checker to check ownership
* lf94
runs
* teepee
throws a rusty gear after lf94
<joseph_>
teepee: There are one or two exceptions, but usually vertex_array is a stack object inside the prepare function. The vertex_states (sometimes with a slightly different name) I think I have seen as a member variable but at least OpenCSGRenderer holds a smart pointer to it
<joseph_>
What's happening is that my functions replace logic that would normally modify those objects just serially within a single Renderer function. So at least for now, I don't think it will get too complicated
<teepee>
so for now the renderers own the data and the vertexstatemanager is a view layer on top?
<joseph_>
VertexStateManager actually edits them. But yes
<teepee>
sounds like a good first step, unify the interface which may help understanding the differences
J23k74 has quit [Quit: Client closed]
J23k has joined #openscad
peeps[work] has joined #openscad
guso23 has joined #openscad
kintel has joined #openscad
guso23 has quit [Quit: Client closed]
<kintel>
joseph_ Added a few comments. If you have plans for further refactoring which would invalidate my comments, let me know. In that case, writing up you plan in a doc/diagram or smth. would help.
J23k has quit [Quit: Client closed]
J23k has joined #openscad
<lf94>
Makefile is so incredible
<lf94>
As long as you stick to using it as a dependency graph creator
Joel has quit [Quit: ZNC 1.8.2+deb2build5 - https://znc.in]
Joel has joined #openscad
<InPhase>
lf94: I use makefiles to make and deploy my LaTeX based resume converting it into many different versions and forms from the same source file, and it really fits this particular problem incredibly well. It's one of the few areas I use a manually edited Makefile regularly.
<lf94>
I mean I'm using it for a production system to build all these microservices and to get some deps in the right places and it's soooo much nicer than any js-based shit
<lf94>
webpack is f'ing pain
<InPhase>
Like, make upload for posting it online requires the web pdf version and the html version, and the html version needs to be converted from the tex version. The web pdf version is built from the tex file using slightly different settings that removes my address and phone number. It's a wonderful little dependency graph.
<lf94>
nice :)
califax has quit [Remote host closed the connection]
alexises_ has quit [Server closed connection]
alexises_ has joined #openscad
califax has joined #openscad
J23k has quit [Quit: Client closed]
J23k has joined #openscad
mmu_man has joined #openscad
mmu_man has quit [Ping timeout: 265 seconds]
lagomorph has quit [Ping timeout: 265 seconds]
snaked has joined #openscad
bcn has quit [Server closed connection]
bcn has joined #openscad
<Scopeuk>
That object class a depends on clas b with same name style is where basic make shines
kintel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
ToAruShiroiNeko has quit [Ping timeout: 240 seconds]