-
Notifications
You must be signed in to change notification settings - Fork 219
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FEAT import/export node data #38
Comments
With a proper csv to json conversion, i think it's already possible |
Do you mean an external tool that does the conversion? Good, but doing it internally would be better, of course. Any external tool excludes many potential users who are attracted to loopy for its simplicity. Can you point me to such a tool so I can try it? (Warning: not a code genius over here.) |
Also not a code genius, but am pretty handy in Python (and equally clueless in everything else but like SQL). Have been playing with networkx, a killer Python library for doing all things graph/network. It's got great data (de)serialization tools and more graph algorithms and statistics than I understand, let alone could list. Interested in figuring out a way to translate between code-generated stuff in Trying to read through the JavaScript, despite not knowing a thing about JavaScript, and it's raising more questions than answers, lol In all seriousness, I exported a
Thanks in advance if this gets any hits! |
I would dive into code where the URL / file get loaded in Loopy.js and I'll notice that it goes to self.model.deserialize(content);
... ` That's pretty much of it. Good luck |
I've forked loopy last year, and create 2 new storage format, one binarized and compressed for optimized character use in url and one more readable for human. And you can import the old save file in my forked version to save them in other format. You can test it here : https://lo0p.it/2/ {
"globals": {
"loopyMode": 1,
"colorLogic": 0,
"cameraMode": 0
},
"nodes": [
{
"id": 0,
"x": 198,
"y": 285,
"init": 0,
"label": "depression",
"hue": 0,
"size": 1,
"aggregationLatency": 0,
"overflow": 0,
"underflow": 1,
"explode": 0,
"foreignColor": 0
},
{
"id": 1,
"x": 531,
"y": 282,
"init": 0,
"label": "doing things",
"hue": 4,
"size": 1,
"aggregationLatency": 0,
"overflow": 0,
"underflow": 1,
"explode": 0,
"foreignColor": 0
},
{
"id": 2,
"x": 367,
"y": 115,
"init": 0,
"label": "de-motivation",
"hue": 1,
"size": 1,
"aggregationLatency": 0,
"overflow": 0,
"underflow": 1,
"explode": 0,
"foreignColor": 0
},
{
"id": 3,
"x": 702,
"y": 116,
"init": 0,
"label": "fear of mistakes",
"hue": 1,
"size": 1,
"aggregationLatency": 0,
"overflow": 0,
"underflow": 1,
"explode": 0,
"foreignColor": 0
},
{
"id": 4,
"x": 860,
"y": 289,
"init": 0,
"label": "anxiety",
"hue": 0,
"size": 1,
"aggregationLatency": 0,
"overflow": 0,
"underflow": 1,
"explode": 0,
"foreignColor": 0
},
{
"id": 5,
"x": 699,
"y": 468,
"init": 0,
"label": "accepting mistakes",
"hue": 4,
"size": 1,
"aggregationLatency": 0,
"overflow": 0,
"underflow": 1,
"explode": 0,
"foreignColor": 0
},
{
"id": 6,
"x": 364,
"y": 473,
"init": 0,
"label": "feeling good",
"hue": 4,
"size": 1,
"aggregationLatency": 0,
"overflow": 0,
"underflow": 1,
"explode": 0,
"foreignColor": 0
}
],
"edges": [
{
"from": 1,
"to": 6,
"arc": 59,
"strength": 1,
"rotation": 0,
"signBehavior": 0,
"edgeFilterColor": -1,
"edgeTargetColor": -1,
"customLabel": "",
"quantitative": 0,
"filter": 0
},
{
"from": 1,
"to": 5,
"arc": -61,
"strength": 1,
"rotation": 0,
"signBehavior": 0,
"edgeFilterColor": -1,
"edgeTargetColor": -1,
"customLabel": "",
"quantitative": 0,
"filter": 0
},
{
"from": 5,
"to": 4,
"arc": -59,
"strength": -1,
"rotation": 0,
"signBehavior": 0,
"edgeFilterColor": -1,
"edgeTargetColor": -1,
"customLabel": "",
"quantitative": 0,
"filter": 0
},
{
"from": 4,
"to": 3,
"arc": -57,
"strength": 1,
"rotation": 0,
"signBehavior": 0,
"edgeFilterColor": -1,
"edgeTargetColor": -1,
"customLabel": "",
"quantitative": 0,
"filter": 0
},
{
"from": 3,
"to": 1,
"arc": -53,
"strength": -1,
"rotation": 0,
"signBehavior": 0,
"edgeFilterColor": -1,
"edgeTargetColor": -1,
"customLabel": "",
"quantitative": 0,
"filter": 0
},
{
"from": 2,
"to": 1,
"arc": 56,
"strength": -1,
"rotation": 0,
"signBehavior": 0,
"edgeFilterColor": -1,
"edgeTargetColor": -1,
"customLabel": "",
"quantitative": 0,
"filter": 0
},
{
"from": 0,
"to": 2,
"arc": 66,
"strength": 1,
"rotation": 0,
"signBehavior": 0,
"edgeFilterColor": -1,
"edgeTargetColor": -1,
"customLabel": "",
"quantitative": 0,
"filter": 0
},
{
"from": 6,
"to": 0,
"arc": 63,
"strength": -1,
"rotation": 0,
"signBehavior": 0,
"edgeFilterColor": -1,
"edgeTargetColor": -1,
"customLabel": "",
"quantitative": 0,
"filter": 0
}
],
"labels": [
{
"x": 365,
"y": 296,
"text": "a possible\nsystems-level\nexplanation for\nwhy depression &\nanxiety are not just\nco-morbid, but\nMUTUALLY SELF-\nREINFORCING",
"visibility": 0,
"textColor": -1,
"href": ""
},
{
"x": 695,
"y": 300,
"text": "CHALLENGE:\n\ndraw & simulate\nyour OWN mental\nfeedback loops",
"visibility": 0,
"textColor": -1,
"href": ""
}
]
}
does-it help you ? |
PS : in v1.1 these parameters doesn't exist so you can ignore them : On link/edge : On label : |
Commented on a year-old thread on a whim. Woke up to three insightful comments. Busy workday ahead of me, but I'm looking forward to digging into this after, and will get back with an update on my end, or any hangups I run into! Salt of the earth-- the whole lot of you :) |
I'd like to be able to use external data from a spreadsheet or text file to set starting conditions, and preferably to use live changes to that data source.
The text was updated successfully, but these errors were encountered: