Distortions GUI Configuration File Specification
Root structure
{ /* Configuration of the script environment the GUI should work with. */ "configurationSetup": { /* True if the files are in a zip archive the user provides, false if the user must provide files manually. */ "useZip": true, "commonFiles": [ /* String[] of relative paths to source code files defining the objects the Membrane is supposed to reflect and/or distort. */ ], /* a floating point number representing this format version */ "formatVersion": 1.0, /* UTC datetime stamp for when this was last generated. */ "lastUpdated": "", /* String[] of user comments. Optional. */ "comments": [], }, "membrane": { /* source code of membrane's passthrough function, or null */ "passThroughSource": "", "passThroughEnabled": false, "primordialsPass": false, /* String[] of user comments. Optional. */ "comments": [], }, "preGraphSources": [ ], "graphs": [ { "name": "", /* String for the graph name */ "isSymbol": false, /* true if the graph name is a Symbol */ /* source code of object graph's passthrough function, or null */ "passThroughSource": "", "passThroughEnabled": false, "primordialsPass": false, "distortions": [ /* Distortions configuration objects */ ], "proxyListeners": [ /* Source code for proxy listeners on this graph, after the distortions listener has run. */ ], "functionListeners": [ /* Source code for function listeners on this graph. */ ], /* String[] of user comments. Optional. */ "comments": [], } ], "postGraphSources": [ ] }
Distortions configuration objects
{ "about": { /* String name of the object in the source code. */ "valueName": "", /* True if the object is a function. */ "isFunction": true, /* Source code to get an example of the object in question. */ "getExample": "", "filterToMatch": "", /* Source code to get an instance of the constructor in question. */ "getInstance": "", /* String[] of user comments. Optional. */ "comments": [] }, "value": { "filterOwnKeys": [], "proxyTraps": [], "inheritFilter": false, "storeUnknownAsLocal": false, "requireLocalDelete": false, "useShadowTarget": false, "truncateArgList": false, "whitelistFilter": null, "notesPerKey": { }, "groupDistortions": {/* property name (string) : named group for DistortionsRules object (string) */} "comments": [] }, "proto": { /* same shape as "valueByName" above */ }, "instance": { /* same shape as "valueByName" above */ }, "valueByFilter": { /* same shape as "valueByName" above */ }, "argument:this": { /* same shape as "valueByName" above */ }, "argument:0" { /* same shape as "valueByName" above */ }, }