<qi-bot>
whitequark meant: "how is that specific for OO?"
<whitequark>
for that matter, the problem with solvespace codebase is that it's full of C-style shit. global variables all over the place.
<whitequark>
if you want to make smug remarks about something you don't understand, take some time to learn what it is, first
<wpwrak>
ran out of aggression control pills ? :) that was just a remark on the expression "refactoring" having appeared with OO. before you called it "clean up" or such. "refactoring" sounds so much more professional ;-)
* whitequark
shrugs
<whitequark>
anyway, the reason it's hard to fix is that... it's easy to introduce a single table with global parameters
<whitequark>
but that's not very useful, because what you really want is to choose a row from that table when you import a sketch, right?
<whitequark>
like to have a single screw-Mn.slvs with variable n
<whitequark>
and solvespace right now has just a single global sketch, and a bunch of other things that make it all but impossible to solve one sketch while having another open
<whitequark>
everything is coupled, sketches don't exist in separation from UI, all the minute stuff lives in globals
<whitequark>
fixing this is pretty much the next few months work on solvespace.
MistahDarcy has joined #qi-hardware
doomlord_ has joined #qi-hardware
<wpwrak>
in fped, all you see are "instances". when you click on something, you click on the instance. but what you actually edit is the object. that works pretty smoothly, even if it may sound weird.
<wpwrak>
not sure if there's some idea worth stealing for solvespace in there, though
pigeons has left #qi-hardware [#qi-hardware]
<whitequark>
so you have an "object" with a dimension say of "a"
<whitequark>
and an "instance" of the "object" with a=10?
<whitequark>
right?
<wpwrak>
(for SS) i guess you could have "master" sketches with parameters and then subordinate sketches with the parameters filled in according to tables or such. the subordinates would be read-only.
<wpwrak>
yes, in fact, the instance doens't know there's an "a". it just sees the resulting value. ("a" could be any expression)
<whitequark>
yep
<whitequark>
solvespace actually has half of the infra for that. its symbolic algebra system can handle it
<whitequark>
the problem is that there's only one sketch and it's global and most of the functions to do anything with it refer to that global
<whitequark>
so... within a single process, only one sketch exists
<wpwrak>
ah, so also the groups are part of that one global sketch ?
<whitequark>
yep
<whitequark>
when you import another sketch there's a hack
<whitequark>
it's not actually loaded, rather, when you save a sketch, the geometry is saved alongside it
<whitequark>
and when you import it, it's not re-solved, the saved geometry is imported in one piece
<whitequark>
as well as some entities (circles, points, etc; everything with parameters)
<whitequark>
so it's completely impossible to e.g. import a sketch but with a parameter changed
sandeepkr has joined #qi-hardware
fengling has joined #qi-hardware
archang has joined #qi-hardware
<wpwrak>
i guess something similar to what i go in fped would work there, too. if a sketch uses parameters from a table, you treat it as "object" and only show the "instances".
<wpwrak>
you'd also want a means to have a hierarchy of such tables. so that you can, say, have one set of iterations for dice, and one for their faces
<whitequark>
it's not about treating it from an object
<whitequark>
it's about not being able to ever have more than once instance in a process
<whitequark>
treating it as an object*
archang has quit [Ping timeout: 252 seconds]
<whitequark>
as for hierarchy, yes, that's also planned
<whitequark>
same problem: need more than one sketch loaded
<whitequark>
and a second problem is that the file format is naive and has no nesting
<whitequark>
also, very inefficient
<whitequark>
I think I'll replace it with a zip archive with bitcode (LLVM's format) files inside, one per sketch
<whitequark>
this way, it's easy to exchange (just one file!), easy to read (works with any archiver), and easy to put in VCS if you ever need that (just unpack it)
DocScrutinizer05 has quit [Disconnected by services]
DocScrutinizer05 has joined #qi-hardware
<whitequark>
so solvespace would just treat the zip archive as a "folder" and existing logic for relative paths being recorded inside sketch files would apply
kristianpaul has quit [Quit: Lost terminal]
kristianpaul has joined #qi-hardware
kristianpaul has quit [Quit: Lost terminal]
fengling_ has joined #qi-hardware
fengling has quit [Ping timeout: 240 seconds]
fengling_ has quit [Ping timeout: 240 seconds]
fengling_ has joined #qi-hardware
infobot has quit [Ping timeout: 240 seconds]
sb0 has quit [Quit: Leaving]
xiangfu has joined #qi-hardware
fengling_ has quit [Ping timeout: 240 seconds]
fengling_ has joined #qi-hardware
jwhitmore has quit [Ping timeout: 260 seconds]
xiangfu has quit [Ping timeout: 276 seconds]
xiangfu has joined #qi-hardware
sandeepkr has quit [Quit: Leaving]
sandeepkr has joined #qi-hardware
xiangfu has quit [Ping timeout: 265 seconds]
xiangfu has joined #qi-hardware
xiangfu has quit [Ping timeout: 246 seconds]
xiangfu has joined #qi-hardware
<DocScrutinizer05>
whitequark: well, that's what .odc does, no?
<DocScrutinizer05>
err .odf
<DocScrutinizer05>
aka openoffice
sandeepkr has quit [Quit: Leaving]
<DocScrutinizer05>
can't be wrong :-)
sandeepkr has joined #qi-hardware
<whitequark>
yes
<whitequark>
also sigrok and a number of other software
xiangfu has quit [Remote host closed the connection]
fengling_ has quit [Ping timeout: 240 seconds]
pcercuei has joined #qi-hardware
<DocScrutinizer05>
actually I think .deb 'invented' it?
fengling__ has joined #qi-hardware
<DocScrutinizer05>
or is the concept even older?
archang has joined #qi-hardware
<DocScrutinizer05>
~flashing-cmdline
<DocScrutinizer05>
~#maemo flashing-cmdline
jwhitmore has joined #qi-hardware
<DocScrutinizer05>
just for a faintly related example how useful the archives are
<DocScrutinizer05>
and given it's nailed to top of stack, it rather be small :-)
<DocScrutinizer05>
even funnier: doesn't show up in window list
<whitequark>
it's only supposed to be on top of the main window
<whitequark>
os x does this right and even windows does
<whitequark>
but x11 has no way to specify that
<DocScrutinizer05>
it's on top of everything, all times
<whitequark>
yes
<whitequark>
i'd rather not do that but i can't
<DocScrutinizer05>
I will try to do a little fancy and create some khotkeys stuff for it to stay on top of main solvespace window only
<DocScrutinizer05>
I easily can unselect the "stay on top" property anyway, so not THAT bad
<DocScrutinizer05>
unless... I don't find it in window list to get it to top again
<whitequark>
alt+tab?
<whitequark>
also you can close and open it via menu in main window
<DocScrutinizer05>
no, doesn't even show up in aölt-tab list
<DocScrutinizer05>
hmm, so how about you closing it automatically when main window goes to background, and vice versa?
<DocScrutinizer05>
sounds like the "easiest" implementation
<DocScrutinizer05>
better than some kdesktop scripting
<whitequark>
thats rather nasty
<whitequark>
i mean it works very well with my wm, for example
<DocScrutinizer05>
mompls, need to talk to evildragon
<whitequark>
what
fengling has quit [Ping timeout: 240 seconds]
<DocScrutinizer05>
#dragonbox-pyra, sourcing of PLS8 modem modules
<DocScrutinizer05>
[2016-05-09 Mon 10:38:48] * DocScrutinizer05 tries to sort own options about joining in tomodem purchase with a few (hundred) [2016-05-09 Mon 13:11:58] <EvilDragon> DocScrutinizer05, Sure, if you need the same parts, reaching MOQs is easier.
<eintopf>
:o EvilDragon
<eintopf>
the guy behind gp2x-shop
<DocScrutinizer05>
yeah, a nice guy
<eintopf>
when I was ~14 I was very close to buy some gp2x
<eintopf>
but was too expensive
arossdotme has quit [Ping timeout: 252 seconds]
arossdotme has joined #qi-hardware
rodgort has quit [Quit: Leaving]
doomlord_ has joined #qi-hardware
rodgort has joined #qi-hardware
fengling has joined #qi-hardware
fengling has quit [Ping timeout: 240 seconds]
sandeepkr has quit [Quit: Leaving]
sandeepkr has joined #qi-hardware
<DocScrutinizer05>
whitequark: yes, the tiny window is definitely lost in nirvana once I disable the keep-on-top property
<DocScrutinizer05>
can't even find a way to disable and re-enable it from main window
doomlord_ has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
doomlord_ has joined #qi-hardware
<DocScrutinizer05>
something about the window properties make it completely vanish in KDE window manager
<DocScrutinizer05>
so unless I minimize *all* other windows (which I didn't) there's no way to get back to that tiny window once it's allowed to go to background
sb0 has joined #qi-hardware
fengling has joined #qi-hardware
fengling has quit [Ping timeout: 240 seconds]
kristianpaul has joined #qi-hardware
kristianpaul has joined #qi-hardware
pcercuei has quit [Quit: leaving]
jwhitmore has quit [Ping timeout: 244 seconds]
sb0 has quit [Quit: Leaving]
fengling has joined #qi-hardware
fengling has quit [Ping timeout: 240 seconds]
jwhitmore has joined #qi-hardware
jwhitmore has quit [Ping timeout: 240 seconds]
jwhitmore has joined #qi-hardware
fengling has joined #qi-hardware
fengling has quit [Ping timeout: 240 seconds]
archang has quit [Ping timeout: 276 seconds]
doomlord_ has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
linmob has joined #qi-hardware
sandeepkr has quit [Ping timeout: 265 seconds]
sandeepkr has joined #qi-hardware
MistahDarcy has quit [Ping timeout: 240 seconds]
doomlord_ has joined #qi-hardware
doomlord_ has quit [Client Quit]
fengling has joined #qi-hardware
fengling has quit [Ping timeout: 240 seconds]
<whitequark>
DocScrutinizer05: View → Show Text Window