libera/#shirakumo - IRC Chatlog
Search
16:00:01
Colleen
<shinmera> while you're on that, pls fix the weelichat notification doubling and sticking issue thank u
16:01:09
SAL9000
was researching because I wanted to set up a weechat-relay client on my phone & realised just how much of a gaping security hole my current setup is :(
17:10:18
Colleen
<shinmera> since no other image format has that "issue" it's not part of the interface
17:54:25
SAL9000
Shinmera: before I forget, would it be easy to expose the els "schedule" widget on its own as a URL for streaming purposes (to avoid the css fuckery I do atm)?
18:07:18
SAL9000
ideally, on the 2nd day it would *only* show the 2nd day -- previous years I manually scrolled the embedded browser lol
18:10:31
SAL9000
I was going to spend some time looking at alternatives to the unmaintained nginx rtmp module I use for remote-to-site forwarding... whether we have a remote presenter who knows their way around obs, or an off-site volunteer handling it, it's probably going to come in handy
18:12:58
Colleen
<shinmera> I would prefer it if I stopped being the only person who knows anything about all these projects
19:08:34
Colleen
<shinmera> anyway, the code is *not* very complicated. You can copy out the section of the template that creates the widget and slap it into a new standalone template, then adjust the js to work with the standalone mode
19:31:47
Colleen
<shinmera> and you'll probably want to hook into compile-edition-template in calendar.lisp to generate your new widget
20:27:27
SAL9000
Shinmera: looks like the lass/css stuff doesn't get auto rebuilt; is that intentional?
20:27:59
Colleen
<shinmera> there's a lass.el in lass' distribution that recompiles the file when you save the buffer
22:01:46
SAL9000
one catch with the current implementation -- when there are no events on the current day, the stream-calendar is completely blank
23:42:48
paulapatience
Shinmera, seeing as you have wrapped several C libraries that I can see, I was wondering if you ever encountered situations where a library keeps a pointer to one of the user's structs and requires it to stick around. How did you deal with such situations?
23:43:16
paulapatience
Basically I'm wrapping an FEM library with Clasp, and the library I'm using often relies on this
23:43:46
paulapatience
For example, if I create a FiniteElementSpace, I need to give it a pointer to a Mesh, but it doesn't take ownership of it or anything
23:44:14
paulapatience
And Clasp would free the Mesh pointer if the garbage collector gets to it because it's not reference anymore on the Lisp side
23:44:49
paulapatience
I would prefer not to require the user of my library to keep track of what needs to be kept in scope, because that's not what you usually have to do in Lisp
23:45:52
paulapatience
What I've settled on for now is wrapping each C++ class in a Lisp class. The Lisp class has a raw slot for the pointer to the C++ class (wrapped in some kind of std::unique_ptr by Clasp), and another slot where I can dump references to whatever needs to be kept around
23:47:05
paulapatience
But say for instance I request a Cell from the Mesh. In this library, the Cell getter returns a pointer to the Cell, and obviously the Mesh has to stick around until I'm done using the cell
23:47:52
paulapatience
So I would need to instantiate a class for each cell I access, which can get into the millions for large cells. It seems wasteful when iterating over the cells of a mesh.
23:48:12
paulapatience
Anyway, I was wondering what your experience is, and if you might have any thoughts.
23:50:36
paulapatience
By the way, I will likely use at least parts of your manifold library, as for the first objective of my PhD I wrote a mesh generator in Common Lisp. Incidentally, I ported a C++ implementation of CLOSEST-POINT-ON-TRIANGLE, and I did spend the time factoring out the common subexpressions (there is a comment to that effect in your code).
23:52:13
paulapatience
I also will likely use cl-gltf. I don't know if it interests you for your game engine, but I have also written parsers and emitters for various mesh formats (so far STL, OBJ, PLY, OFF, only parser for VTK), and intend to add more.
23:57:30
paulapatience
I ported the C++ library TriangleMeshDistance to be able to calculate the SDF of a triangle mesh (that's where I ported the CLOSEST-POINT-TO-TRIANGLE function, though presumably its implementation is based on the standard algorithm), and it uses a sphere-based bounding volume hierarchy. I was curious to try different algorithms to use the fastest one, as I would like the computation to be as fast as possible.
0:01:09
paulapatience
One more thought on iterating over mesh cells: if making instances of cell classes is too costly, another option I considered is to allow the user to iterate over the raw pointers only, so no need to call make-instance. That would be the escape hatch I guess.