<guso78>
now just clean up a little bit, make things safe, and enable parameter passing
<InPhase>
guso78: Well, excellent! Now did you make sure that the security warning triggers for these as well?
<InPhase>
This will really give a lot of potency, because it means we can make general purpose scad libraries that have python backings for extra features. But it's also the central security risk, because now python includes can be hidden really well. So addressing that up front adds both the value and addresses the core risk.
<guso78>
no, not yet. just wanted to share with you that breakthrough is done. adding the security check is an easy one as i have the function already. this is included in the "clean up an tidy phase" which comes next
<InPhase>
Excellent.
<InPhase>
And that's very good progress.
<InPhase>
Do functions work as well?
<guso78>
haha not yet, give me some more time . there not even paramters yet, let me do this first before i do the functions ...
<InPhase>
As in, could we use python to generate or manipulate a vector of coordinates? This part can be a little trickier I suppose. But you'll need most of that anyway for passing parameters to module calls.
<InPhase>
Oh... And I suppose you'll have to think about support for children, either implementing or forbidding it for now if it's too tricky.
<guso78>
right now i module is NOT re-evaluated when its code do not change. but it must re-evaluate when the hidden python code below is changing
<InPhase>
This sort of intermixing is where it gets game changing. :)
<guso78>
i believe, children to openscad modules are easy, just need to do it.
<guso78>
in openscad there are two argument domains: the paramters and the children, which must both map to a single set of python function arguments
<InPhase>
This really opens up the space of functionality, by reducing how much functionality needs to be integrated to achieve basic features.
<InPhase>
People can choose to trust libraries as much as they trust OpenSCAD, and then get all sorts of extras customized to their needs.
<InPhase>
And it provides a new mechanism for prototyping functionality for integration.
<InPhase>
Potentially even eventually pre-trusted standard libraries.
<guso78>
libraries are actually python files
<guso78>
do you consider integrating hashes of trusted libs into openscad source code ?
<InPhase>
Something like shipping with the list of trusted hashes for that release in a config file at release.
<InPhase>
Generated at build time. This would be easy.
<InPhase>
I have no vision for what that should be, but the option is available to the future.
<guso78>
let me clean up the "interface" first, then lets rediscuss whether its useful to settle the "base layer" X-P
<kintel>
guso78 sanitizers instrument code to help find tricky problems, like memory leaks, uninitialized memory, detect undefined behavior, threading issues etc., see https://github.com/google/sanitizers - this is built into both gcc and clang now
kintel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
peeps[work] has quit [Ping timeout: 256 seconds]
tcurdt has joined #openscad
kintel has joined #openscad
kintel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
peepsalot has quit [Read error: Connection reset by peer]