snaked has quit [Read error: Connection reset by peer]
snaked has joined #openscad
guerd87 has quit [Remote host closed the connection]
guerd87 has joined #openscad
teepee_ has joined #openscad
teepee has quit [Ping timeout: 260 seconds]
teepee_ is now known as teepee
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
erectus has quit [Ping timeout: 260 seconds]
GNUmoon2 has quit [Remote host closed the connection]
GNUmoon2 has joined #openscad
erectus has joined #openscad
erectus has quit [Ping timeout: 260 seconds]
guerd87 has quit [Remote host closed the connection]
guerd87 has joined #openscad
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
erectus has joined #openscad
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
mmu_man has joined #openscad
RichardPotthoff has quit [Ping timeout: 252 seconds]
<J24k22>
linext_ doesn't look like a bug more that the side faces are "off" and not displayed to see if the contact fillets are calculated proper
ccox_ has joined #openscad
ccox has quit [Ping timeout: 268 seconds]
fling has quit [Remote host closed the connection]
fling has joined #openscad
R2robot has quit [Quit: Pull the lever, Kronk. Wrong leverrrrrrr!]
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
mohammad1722 has joined #openscad
hyperair has quit [Remote host closed the connection]
hyperair has joined #openscad
<mohammad1722>
Hello everyone, I have been thinking about another way to structure the installed libraries to address some of the points we discussed. For that I want to suggest the following structure for the library installation directory: https://imgur.com/a/CR1uKDH
<mohammad1722>
Given the folder structure in the image, the installation location of the libraries coming from the package manager will no longer be in the "Built-In library location" and rather it will be somewhere on the machine specific for the package manager (the user shouldn't mess with that folder manually).
<mohammad1722>
Then, how can OpenSCAD find the library files of the dependencies? We can use something similar to the "OPENSCADPATH" Environment Variable. We can either 1. Have OpenSCAD append the paths of the dependencies parsed from the manifest to the environment variable, or 2. Have a similar mechanism where OpenSCAD can communicate with the package manager
<mohammad1722>
to get the dependencies locations directly.
<mohammad1722>
What does the following design change achieves?
<mohammad1722>
1. Leaving the current workflow for using libraries completely untouched.
<mohammad1722>
2. Allows installing multiple versions of the same dependencies at the same time.
<mohammad1722>
3. Allows conflicting dependencies to be installed at the same time (However, they must still be prohibited to exist in one dependency graph. (Simply, if two libraries libX and libY are mutually exclusive for any reason, they can both exist on the user's machine at the same time, however, a library can't depend on both of them at the same time.))
<mohammad1722>
4. No need for multi-level include statements (IDK what you call this ==> <external_lib/some_file.scad>) and consecutively, no need to change any existing .scad file. Just add a manifest next to it if you want to port it to be using the package manager.
<mohammad1722>
5. If multiple libraries provide .scad files with the same name, then the "include" conflict's resolution is delegated to OpenSCAD as it is right now.
R2robot has joined #openscad
<mohammad1722>
Installation Location/
<mohammad1722>
|
<mohammad1722>
|- Library_Name_1/
<mohammad1722>
| |- Library_Version_1.x.x/
<mohammad1722>
| | |- Library_File_1.scad
<mohammad1722>
| | |- Library_File_2.scad
<mohammad1722>
| | |- ...
<mohammad1722>
| |- Library_Version_2.x.x/
<mohammad1722>
| |- ... (more versions same structure as Library_Version_1.x.x)
<mohammad1722>
|
<mohammad1722>
|- Library_Name_2/
<mohammad1722>
| |- ... (same structure as Library_Name_1)
<mohammad1722>
|
<mohammad1722>
|- ... (more Library Names)
<mohammad1722>
Here's a representation in ascii if you can't view the image
Guest81 has joined #openscad
Guest81 has quit [Client Quit]
<J24k22>
mohammad1722 how would you use different libraries with the same module names? Also how would you select the right version via the scad file?
<J24k22>
I am using a variable to define a version but that is quite specific for my lib
mohammad1722 has quit [Ping timeout: 250 seconds]
mohammad1722 has joined #openscad
<mohammad1722>
J24k22
<mohammad1722>
* I think if different libraries define the same module names then the current OpenSCAD behavior will not change as well (IDK if that produces an error or will make OpenSCAD resort to a policy to select which one to use) Are you suggesting that library developers should list the public module names that their library offers, such that the package
<mohammad1722>
manager would detect module name conflicts in the dependencies and notify the user?
<mohammad1722>
* Selecting the right version of the dependency happens through the manifest. Only the libraries listed in the manifest (along with their versions as well) are visible to the current project.
guerd87 has quit [Ping timeout: 245 seconds]
guerd87 has joined #openscad
guerd87 has quit [Remote host closed the connection]
guerd87 has joined #openscad
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
<J24k22>
mohammad1722 at the moment you can only use one lib .. but would be nice to define a module with the lib
<J24k22>
so you can select libA.cube(); or libB.cube();
mmu_man has quit [Ping timeout: 256 seconds]
guso78k has quit [Ping timeout: 250 seconds]
R2robot has quit [Quit: Pull the lever, Kronk. Wrong leverrrrrrr!]
R2robot has joined #openscad
kintel has joined #openscad
mmu_man has joined #openscad
<mohammad1722>
I agree with but that would be an OpenSCAD feature I suppose
<mohammad1722>
with you*
<teepee>
yes, the language feature for that is a (slowly) ongoing effort and very much out of scope of the GSoC topic
<teepee>
in other words, the current package manager discussion will not be able to solve library conflicts on the scad language level
kintel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<teepee>
I think I would prefer the 2nd level to be the version only, not duplicating the name
<teepee>
but that's details ;-)
<teepee>
more interesting is the question on how to import the files
<teepee>
if we want to make it work without any changes the package manager would need to produce a list of top level folders that would need to be added to the OPENSCADPATH
<teepee>
while that is proven to work, I think I would try to get some changes into OpenSCAD (out of scope of the gsoc project itself) that would support the extended/different search path
mohammad1722 has quit [Ping timeout: 250 seconds]
snaked has quit [Quit: Leaving]
J24k22 has quit [Quit: Client closed]
paddymahoney has quit [Ping timeout: 255 seconds]
paddymahoney has joined #openscad
<Scopeuk>
So the proposal would've to work gsoc via OPENSCADPATH with future work to introduce native package manger path support?
mohammad1722 has joined #openscad
<mohammad1722>
teepee Adding a command/api to the package manager to export the list of top level folders for OpenSCAD should be fairly straightforward too
<teepee>
A minimal way could be a file listing the path to add
<teepee>
Scopeuk: I hope we can handle some OpenSCAD changes in parallel to the gsoc work, but worst case, yes, then we basically need some sort of external script or call that sets the environment variable
<teepee>
vcpkg did it by creating the environment itself, a bit like python venv/activate
<teepee>
IIRC the bundler prototype used a "openscad_bundler run" command which started openscad with the environment setup
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
<Scopeuk>
I guess that is a fairly light shim which could be done easily, or even manually for the dev work initially with any pending work in openscad following along at some point
<teepee>
yep, it will be nice if we can get some additional support, but we need to make sure the gsoc would not be blocked by other work
<teepee>
I mean at this point it's "just all talk" anyway :)
<teepee>
first checkpoint will be the project selection and the official announcement of the accepted projects
<teepee>
first is due next week and...
* teepee
checks timeline again
<teepee>
right, may 1st
<teepee>
interesting choice
J24k has joined #openscad
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
mohammad1722 has quit [Quit: Client closed]
kintel has joined #openscad
<kintel>
Americans don't believe in may 1st - too communist ;)
<kintel>
They even chose a different date to be labour day
killjoy has quit [Ping timeout: 240 seconds]
kintel has quit [Client Quit]
<teepee>
haha, yes, fair I suppose. Google is pretty american :)
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
<InPhase>
Aside from the recent labor assocation, May Day seems to involve a lot of courting rituals about demonstrating that one can erect the longest pole.
<InPhase>
It's probably for the best that we don't celebrate this... Challenging a bunch of Americans to compete to have the largest of something sounds like a recipe for ecological disaster. ;)
guso78k has joined #openscad
kintel has joined #openscad
<teepee>
ok, different topic - anyone still care at all about the thing that was called Twitter?
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
<InPhase>
Anyone in the abstract, or anyone here?
<InPhase>
I've considered twitter unusably broken since they started hiding tweet replies.
<teepee>
anyone who cares
<teepee>
specifically the openscad account
<InPhase>
Like it's barely even worth clicking on twitter links anymore.
<teepee>
I have posted the new linear_extrude() stuff on Mastodon
<InPhase>
I've filed it in the same bucket as pinterest, a niche interest site which is annoying primarily in that there still exist links to it, and I wish those would go away.
<teepee>
but I don't really feel like posting on that elon hatespeech spam platform
<InPhase>
And I don't think you should feel any obligation to support it.
<InPhase>
Now what we clearly need, is for someone to accumulate all the scad files for parametric models of fans and fan assemblies, and start posting them on onlyfans.
<teepee>
all good in that regard, I'm old enough to handle the obligation part for me, but I would like to factor in what other people think too
<teepee>
haha, there's probably a good teaser slogan for that :)
<InPhase>
I think that the account existed to communicate to a larger audience and draw project attention, but that there are other ways to do that. Twitter is no longer the global center of outreach.
<InPhase>
Like, if you want attention from the young, actually instagram seems to be the place to do it. Not that I could stomach an instagram account, but I'm just saying this is what people trying to build their brand seem to be focused on right now.
<InPhase>
The onlyfans was a joke because it was hard to stomach suggesting instagram out loud. But this has I think taken over a lot of the outreach role that twitter had.
<InPhase>
Mastodon seems superior for archiving announcements that people can find, track, and follow. Instagram would be the place to post visual dazzlers to try to brand-build.
<InPhase>
Disclaimer of course of IANAT. (I Am Not A Teenager)
<InPhase>
nor Twenty-somethin
<teepee>
yeah, I'm probably not going to do instagram or tiktok :)
<InPhase>
Notably Mastodon is also a good place to be reaching new developers right now. I see a lot of projects posting on there, so it has the right sort of reach profile for developer recruitment. Instagram as a suggestion is more user outreach, I think.
kintel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<teepee>
good point, there's probably quite distinctive audiences on the various platforms
<InPhase>
teepee: Perhaps we can find someone to take a brand ambassador role who has a different tolerance. :)
qeed has quit [Quit: qeed]
qeed has joined #openscad
<linext_>
platforms lock you in
<linext_>
their owners make a huge amount over users paying rent in one way or another
<linext_>
instead of just being able to use the common areas
mohammad1722 has joined #openscad
califax has quit [Remote host closed the connection]
califax has joined #openscad
mmu_man has quit [Ping timeout: 272 seconds]
<t4nk_fn>
like buying a flimsy piece of plastic off ebay while they could just print it themselves for free
teepee has quit [Remote host closed the connection]
GNUmoon2 has quit [Remote host closed the connection]
GNUmoon2 has joined #openscad
teepee has joined #openscad
mohammad1722 has quit [Quit: Client closed]
mmu_man has joined #openscad
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
greenbigfrog has quit [Ping timeout: 255 seconds]
greenbigfrog has joined #openscad
guso78k has quit [Quit: Client closed]
mmu_man has quit [Ping timeout: 246 seconds]
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
mmu_man has joined #openscad
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
pca006133 has joined #openscad
pca006132 has quit [Remote host closed the connection]
pca006133 is now known as pca006132
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
guerd871 has joined #openscad
pca006132 has quit [Remote host closed the connection]
guerd87 has quit [Ping timeout: 245 seconds]
pca006132 has joined #openscad
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
guerdy has joined #openscad
guerd871 has quit [Read error: Connection reset by peer]
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
pca006132 has quit [Remote host closed the connection]
pca006132 has joined #openscad
guerd871 has joined #openscad
guerdy has quit [Read error: Connection reset by peer]