import {nodes as htmlNodes} from "./json/html.js"; import {nodes as flowNodes} from "./json/flow.js"; import {nodes as debugNodes} from "./json/debug.js"; import {nodes as nodysseusNodes} from "./json/nodysseus.js"; const generic = { "id": "generic", "nodes": { ...Object.fromEntries(htmlNodes.map(node => [node.id, node])), ...Object.fromEntries(flowNodes.map(node => [node.id, node])), ...Object.fromEntries(debugNodes.map(node => [node.id, node])), ...Object.fromEntries(nodysseusNodes.map(node => [node.id, node])), "@templates.simple": { "id": "@templates.simple", "out": "out", "category": "templates", "edges": { "qgbinm2": { "from": "qgbinm2", "to": "8dy573e", "as": "children" }, "8dy573e": { "from": "8dy573e", "to": "out", "as": "display" }, "output_val": { "from": "output_val", "to": "out", "as": "value" }, "args": { "from": "args", "to": "out", "as": "args" } }, "nodes": { "args": { "id": "args", "ref": "@data.object" }, "qgbinm2": { "id": "qgbinm2", "value": "Hello, world!", "ref": "@html.html_text" }, "8dy573e": { "id": "8dy573e", "ref": "@html.html_element" }, "output_val": { "id": "output_val", "value": "some output" }, "out": { "id": "out", "ref": "return", "name": "@templates.simple" } } }, "@debug.log": { "id": "@debug.log", "description": "Prints value to console.log", "category": "debug", "out": "out", "nodes": { "in": { "id": "in" }, "value": { "id": "value", "ref": "arg", "value": "value" }, "graph_value": { "id": "graph_value", "ref": "arg", "value": "__graph_value" }, "out": { "id": "out", "args": [], "ref": "@js.script", "value": "graph_value ? console.log(graph_value, value) : console.log(value); return value", "name": "@debug.log" } }, "edges": [ { "from": "in", "to": "out", "as": "input", "type": "ref" }, { "from": "graph_value", "to": "out", "as": "graph_value" }, { "from": "value", "to": "out", "as": "value" } ] }, "@math.math": { "id": "@math.math", "category": "math", "description": "JS Math functions.", "ref": "extern", "value": "extern.math" }, "@debug.expect": { "id": "@debug.expect", "category": "debug", "ref": "extern", "value": "extern.expect" }, "@network.fetch": { "id": "@network.fetch", "category": "network", "name": "fetch", "description": "Uses the Fetch API to get data.", "ref": "extern", "value": "extern.fetch" }, "@js.call": { "id": "@js.call", "name": "call", "category": "js", "description": "Calls `self.fn` with `args`. If `self is not found, uses the node's context.", "ref": "extern", "value": "extern.call" }, "@nodysseus.nodeDisplay": { "id": "@nodysseus.nodeDisplay", "category": "nodysseus", "description": "Displys the \"display\" output of a node in the current graph", "ref": "extern", "value": "extern.nodeDisplay" }, "@data.stringify": { "id": "@data.stringify", "name": "stringify", "category": "data", "description": "JSON.stringify the `value` argument", "ref": "extern", "value": "extern.stringify" }, "@data.parse": { "id": "@data.parse", "name": "parse", "category": "data", "description": "JSON.parse the `value` argument", "ref": "extern", "value": "extern.parse" }, "@math.add": { "id": "@math.add", "ref": "extern", "category": "math", "value": "extern.add", "description": "The javascript + operator" }, "@math.mult": { "id": "@math.mult", "ref": "extern", "value": "extern.mult", "category": "math", "description": "The javascript * operator" }, "@math.divide": { "id": "@math.divide", "ref": "extern", "value": "extern.divide", "category": "math", "description": "The javascript / operator" }, "@math.negate": { "id": "@math.negate", "ref": "extern", "value": "extern.negate", "category": "math", "description": "The javascript - operator" }, "@math.and": { "id": "@math.and", "ref": "extern", "value": "extern.and", "category": "math", "description": "The javascript && operator" }, "@math.or": { "id": "@math.and", "ref": "extern", "value": "extern.or", "category": "math", "description": "The javascript || operator" }, "@math.convertAngle": { "id": "@math.and", "ref": "extern", "value": "extern.convertAngle", "category": "math", "description": "Convert either degrees or radians to the other one." }, "@math.random": { "id": "@math.random", "category": "math", "description": "Returns a seeded random function", "ref": "extern", "value": "extern.random" }, "@js.typeof": { "id": "@js.typeof", "ref": "extern", "category": "js", "value": "extern.typeofvalue", "description": "javascript typeof operator" }, "@js.new": { "id": "@js.new", "ref": "extern", "category": "js", "value": "extern.construct", "description": "javascript constructor" }, "@js.addEventListeners": { "id": "@js.addEventListeners", "ref": "extern", "category": "js", "value": "extern.addEventListeners", "description": "add js event listeners to a target" }, "@data.object": { "id": "@data.object", "ref": "extern", "category": "js", "value": "extern.data", "description": "create an object from the inputs" }, "@graph.ancestors": { "id": "@graph.ancestors", "out": "out", "category": "graph", "description": "Gets the ancestors of the `node` in `graph`", "nodes": { "in": { "id": "in" }, "graph": { "id": "graph", "ref": "arg", "value": "graph" }, "node": { "id": "node", "ref": "arg", "value": "node" }, "out": { "id": "out", "ref": "@js.script", "value": "const parents = (id) => (graph ?? _graph).edges.filter(e => e.to === id).flatMap(e => parents(e.from)).concat([id]); return parents(node ?? graph.out ?? 'out')", "name": "@graph.ancestors" } }, "edges": [ { "from": "in", "to": "out", "as": "_", "type": "ref" }, { "from": "graph", "to": "out", "as": "graph" }, { "from": "node", "to": "out", "as": "node" } ] }, "@data.append": { "id": "@data.append", "category": "data", "description": "Appends `item` to `array`. `item` can be a single item or an array.", "nodes": { "in": { "id": "in" }, "array": { "id": "array", "ref": "arg", "value": "array" }, "item": { "id": "item", "ref": "arg", "value": "item" }, "out": { "id": "out", "ref": "@js.script", "value": "return array.concat(Array.isArray(item) ? item : [item])", "name": "@data.append" } }, "edges": [ { "from": "in", "to": "out", "as": "_", "type": "ref" }, { "from": "array", "to": "out", "as": "array" }, { "from": "item", "to": "out", "as": "item" } ] }, "@data.concat": { "id": "@data.concat", "category": "data", "description": "Concats `items` to `array`.", "nodes": { "array": { "id": "array", "ref": "arg", "value": "array" }, "items": { "id": "items", "ref": "arg", "value": "items" }, "out": { "id": "out", "args": [ "item", "array" ], "ref": "@js.script", "value": "return (array ?? []).concat(items ?? [])", "name": "@data.concat" } }, "edges": [ { "from": "array", "to": "out", "as": "array" }, { "from": "items", "to": "out", "as": "items" } ] }, "@flow.default": { "id": "@flow.default", "out": "out", "category": "flow", "description": "Returns `value` if it's defined, if not then returns `otherwise`", "nodes": { "value": { "id": "value", "ref": "arg", "value": "value" }, "is_value_value": { "id": "is_value_value", "ref": "arg", "value": "value" }, "graph_value": { "id": "graph_value", "ref": "arg", "value": "__graph_value" }, "otherwise_is": { "id": "otherwise_is", "ref": "arg", "value": "otherwise" }, "otherwise_if": { "id": "otherwise_if", "ref": "arg", "value": "otherwise" }, "otherwise_value": { "id": "otherwise_value", "ref": "arg", "value": "otherwise" }, "is_otherwise": { "id": "is_otherwise", "ref": "@js.script", "value": "return otherwise !== undefined && otherwise !== null" }, "if_otherwise": { "id": "if_otherwise", "ref": "@flow.if" }, "is_value": { "id": "is_value", "ref": "@js.script", "value": "return value !== undefined" }, "if_value": { "id": "if_value", "ref": "@flow.if" }, "out": { "id": "out", "ref": "return", "name": "@flow.default" } }, "edges": [ { "from": "otherwise_if", "to": "if_otherwise", "as": "true" }, { "from": "otherwise_is", "to": "is_otherwise", "as": "otherwise" }, { "from": "is_otherwise", "to": "if_otherwise", "as": "pred" }, { "from": "graph_value", "to": "if_otherwise", "as": "false" }, { "from": "is_value_value", "to": "is_value", "as": "value" }, { "from": "value", "to": "if_value", "as": "true" }, { "from": "is_value", "to": "if_value", "as": "pred" }, { "from": "otherwise_value", "to": "if_value", "as": "false" }, { "from": "if_value", "to": "out", "as": "value" } ] }, "@flow.switch": { "id": "@flow.switch", "ref": "extern", "value": "extern.switch", "category": "flow", "description": "Returns the value of the input labeled the same as the 'input' input." }, "@data.compare": { "id": "@data.compare", "ref": "extern", "value": "compare", "category": "data", "description": "Returns true if the two inputs are the same" }, "@flow.if": { "id": "@flow.if", "out": "out", "category": "flow", "description": "If `pred` exists in the node's context, return the value from the `true` branch. Otherwise, return the value from the `false` branch.", "nodes": { "pred": { "id": "pred", "ref": "arg", "value": "pred" }, "true": { "id": "true", "ref": "arg", "value": "true" }, "false": { "id": "false", "ref": "arg", "value": "false" }, "predval": { "id": "predval", "ref": "@js.script", "value": "return !!pred ? 'true_val' : 'false_val'" }, "out": { "id": "out", "ref": "extern", "value": "extern.switch", "name": "@flow.if" } }, "edges": [ { "from": "true", "to": "out", "as": "true_val" }, { "from": "false", "to": "out", "as": "false_val" }, { "from": "pred", "to": "predval", "as": "pred" }, { "from": "predval", "to": "out", "as": "input" } ] }, "@html.svg_text": { "id": "@html.svg_text", "category": "html", "description": "Returns a hyperapp `svg` text element with `text` and `props`", "out": "out", "nodes": { "text": { "id": "text", "ref": "arg", "value": "text" }, "props": { "id": "props", "ref": "arg", "value": "props" }, "dom_type": { "id": "dom_type", "value": "text" }, "text_el": { "id": "text_el", "ref": "@html.html_text" }, "children": { "id": "children", "ref": "@js.script", "value": "return [text]" }, "out": { "id": "out", "ref": "@html.html_element", "name": "@html.svg_text" } }, "edges": [ { "from": "dom_type", "to": "out", "as": "dom_type" }, { "from": "text", "to": "text_el", "as": "text" }, { "from": "text_el", "to": "children", "as": "text" }, { "from": "props", "to": "out", "as": "props" }, { "from": "children", "to": "out", "as": "children" } ] }, "return": { "id": "return", "category": "flow", "description": "Creates an inline graph with args, pub/sub, etc. See docs for more detail.", "ref": "extern", "value": "extern.return" }, "@data.fold": { "id": "@data.fold", "category": "data", "ref": "extern", "value": "extern.fold" }, "@flow.runnable": { "id": "@flow.runnable", "category": "flow", "ref": "extern", "value": "extern.runnable", "description": "Creates a 'runnable' object that runs the fn node. The 'parameters' input determines any inputs to the graph like 'event' for javascript event listeners." }, "@flow.graphRunnable": { "id": "@flow.graphRunnable", "category": "flow", "ref": "extern", "value": "extern.graphRunnable", "description": "Creates a 'runnable' object that runs the input graph. The 'parameters' input determines any inputs to the graph like 'event' for javascript event listeners." }, "@flow.ap": { "id": "@flow.ap", "category": "flow", "ref": "extern", "value": "extern.ap", "description": "Applies the runnable to args." }, "@js.script": { "id": "@js.script", "category": "js", "description": "Runs this as a javascript function. `return` is needed at the end of the script to return anything.", "ref": "extern", "value": "extern.script" }, "extern": { "id": "extern", "category": "nodysseus", "description": "Uses a function from the nodysseus extern library directly" }, "@data.array": { "id": "@data.array", "name": "array", "category": "data", "description": "Create an array from all the inputs in alphabetical order", "ref": "extern", "value": "extern.new_array" }, "@js.compileFunction": { "id": "@js.compileFunction", "ref": "extern", "category": "js", "value": "extern.create_fn" }, "@data.merge_objects": { "id": "@data.merge_objects", "category": "data", "description": "Merge the keys of two objects, in descending alphabetical order priority (`Object.assign(...inputs)`).", "ref": "extern", "value": "extern.merge_objects" }, "@data.merge_objects_mutable": { "id": "@data.merge_objects_mutable", "category": "data", "description": "Merge the keys of one or more objects into the target object, in descending alphabetical order priority (`Object.assign(...inputs)`).", "ref": "extern", "value": "extern.merge_objects_mutable" }, "@data.get": { "id": "@data.get", "category": "data", "description": "Get the value at the path of object. Accepts a `.` separated path e.g. get(target, 'a.b.c') returns target.a.b.c", "out": "out", "ref": "extern", "value": "extern.get" }, "arg": { "id": "arg", "category": "flow", "description": "Get an input to the graph this is a part of.", "ref": "extern", "value": "extern.arg" }, "@data.set_mutable": { "id": "@data.set_mutable", "description": "Sets `target` value at `path` to `value` and returns the object.", "category": "data", "ref": "extern", "value": "extern.set_mutable", "_out": "out", "_nodes": [ { "id": "path", "ref": "arg", "value": "path" }, { "id": "target", "ref": "arg", "value": "target" }, { "id": "value", "ref": "arg", "value": "value" }, { "id": "out", "ref": "extern", "value": "extern.set_mutable" } ], "_edges": [ { "from": "path", "to": "out", "as": "path" }, { "from": "target", "to": "out", "as": "target" }, { "from": "value", "to": "out", "as": "value" } ] }, "@data.set": { "id": "@data.set", "category": "data", "description": "Returns a new object with the property at `path` (or the node's value) on `target` set to `value`. Accepts a `.` separated path e.g. set(target, 'a.b', 'c') returns {...target, a: {...target.a, b: 'c'}}", "type": "(target: any, value: any, path: string) => any", "ref": "extern", "value": "extern.set" }, "@data.modify": { "id": "@data.modify", "category": "data", "description": "Returns a new object with the property at `path` (or the node's value) on `target` modified with `fn`. Accepts a `.` separated path e.g. set(target, 'a.b', 'c') returns {...target, a: {...target.a, b: 'c'}}", "type": "(target: any, value: any, path: string) => any", "ref": "extern", "value": "extern.modify" }, "@data.delete": { "id": "@data.delete", "category": "data", "description": "Deletes `target` property at `path`", "ref": "extern", "value": "extern.delete" }, "@html.tapbutton": { "id": "@html.tapbutton", "category": "html", "nodes": { "args": { "id": "args", "ref": "extern", "value": "extern.data" }, "8dy573e": { "id": "8dy573e", "ref": "@html.html_element" }, "out": { "id": "out", "name": "@html.tapbutton", "ref": "return" }, "qgbinm2": { "id": "qgbinm2", "value": "button", "ref": "@html.html_element" }, "label": { "id": "label", "ref": "arg", "value": "__graph_value" }, "9fogdzn": { "id": "9fogdzn", "value": "signal", "ref": "@html.html_text" }, "ehximpo": { "id": "ehximpo" }, "4stvov8": { "id": "4stvov8", "ref": "@flow.ap" }, "8ywgts7": { "id": "8ywgts7", "ref": "@memory.state" }, "v089o3o": { "id": "v089o3o", "value": "signal.set", "ref": "arg" }, "k3rjgad": { "id": "k3rjgad" }, "76he898": { "id": "76he898", "value": "true" }, "nhmeamz": { "id": "nhmeamz", "ref": "@flow.ap" }, "7mj35x5": { "id": "7mj35x5" }, "bim5wsv": { "id": "bim5wsv", "value": "signal.set", "ref": "arg" }, "4mha35d": { "id": "4mha35d", "value": "false" }, "hbo5tmq": { "id": "hbo5tmq", "ref": "@data.array" }, "lgx7u5i": { "id": "lgx7u5i", "ref": "@html.html_text" }, "g19y12v": { "id": "g19y12v", "value": "signal.state", "ref": "arg" }, "9vqinsg": { "id": "9vqinsg" }, "i38qweq": { "id": "i38qweq", "value": "none" }, "eemfhib": { "id": "eemfhib", "value": "signal.state", "ref": "arg" }, "n2a984s_arr": { "id": "n2a984s_arr", "ref": "@data.array" }, "n2a984s": { "id": "n2a984s", "ref": "@flow.ap" }, "a14g4yc": { "id": "a14g4yc", "value": "ontap", "ref": "arg" } }, "edges": [ { "from": "8dy573e", "to": "out", "as": "display" }, { "from": "args", "to": "out", "as": "args" }, { "from": "label", "to": "9fogdzn", "as": "text" }, { "from": "9fogdzn", "to": "qgbinm2", "as": "children" }, { "from": "ehximpo", "to": "qgbinm2", "as": "props" }, { "from": "8ywgts7", "to": "args", "as": "signal" }, { "from": "v089o3o", "to": "4stvov8", "as": "fn" }, { "from": "k3rjgad", "to": "4stvov8", "as": "args" }, { "from": "76he898", "to": "k3rjgad", "as": "value" }, { "from": "4stvov8", "to": "ehximpo", "as": "onpointerdown" }, { "from": "bim5wsv", "to": "nhmeamz", "as": "fn" }, { "from": "7mj35x5", "to": "nhmeamz", "as": "args" }, { "from": "4mha35d", "to": "7mj35x5", "as": "value" }, { "from": "hbo5tmq", "to": "8dy573e", "as": "children" }, { "from": "qgbinm2", "to": "hbo5tmq", "as": "arg1" }, { "from": "lgx7u5i", "to": "_hbo5tmq", "as": "arg2" }, { "from": "g19y12v", "to": "lgx7u5i", "as": "text" }, { "from": "9vqinsg", "to": "ehximpo", "as": "style" }, { "from": "i38qweq", "to": "9vqinsg", "as": "userSelect" }, { "from": "eemfhib", "to": "8dy573e", "as": "value" }, { "from": "n2a984s", "to": "ehximpo", "as": "onpointerup" }, { "from": "nhmeamz", "to": "n2a984s_arr", "as": "arg0" }, { "from": "a14g4yc", "to": "n2a984s_arr", "as": "arg1" }, { "from": "n2a984s_arr", "to": "n2a984s", "as": "fn" } ], "out": "out" }, "@memory.graphchangecache": { "category": "memory", "edges": { "ap_cache_value": { "from": "ap_cache_value", "to": "ap_cache_args", "as": "value" }, "ap_cache_args": { "from": "ap_cache_args", "to": "cache", "as": "args" }, "ap_cache_fn": { "from": "ap_cache_fn", "to": "cache", "as": "fn" }, "pred_cachevalue_state": { "from": "pred_cachevalue_state", "to": "pred_cache_state", "as": "cachevaluestate" }, "recache": { "from": "recache", "to": "pred_cache_state", "as": "recache" }, "cachevalue_state": { "from": "cachevalue_state", "to": "if_cache_state", "as": "false" }, "cache": { "from": "cache", "to": "kqnga6d", "as": "arg0" }, "pred_cache_state": { "from": "pred_cache_state", "to": "if_cache_state", "as": "pred" }, "if_cache_state": { "from": "if_cache_state", "to": "out", "as": "value" }, "cache_state": { "from": "cache_state", "to": "cache_return_args", "as": "_cachevalue" }, "cache_return_args": { "from": "cache_return_args", "to": "out", "as": "args" }, "recache_button_fn_value": { "from": "recache_button_fn_value", "to": "recache_button_fn_args", "as": "value" }, "recache_button_fn_args": { "from": "recache_button_fn_args", "to": "recache_button_ap", "as": "args" }, "recache_button_fn": { "from": "recache_button_fn", "to": "recache_button_ap", "as": "fn" }, "recache_button_ap": { "from": "recache_button_ap", "to": "recache_button", "as": "ontap" }, "recache_button": { "from": "recache_button", "to": "out", "as": "display" }, "fy9ee3e": { "from": "fy9ee3e", "to": "out", "as": "subscribe" }, "h56r87n": { "from": "h56r87n", "to": "pred_cache_state", "as": "_reset" }, "xbhq0f0": { "from": "xbhq0f0", "to": "cache", "as": "run" }, "kqnga6d": { "from": "kqnga6d", "to": "9w2cqoc", "as": "target" }, "9w2cqoc": { "from": "9w2cqoc", "to": "if_cache_state", "as": "true" }, "2nhroiv": { "from": "2nhroiv", "to": "tebglqx", "as": "parameters" }, "dtfbfdm": { "from": "dtfbfdm", "to": "2nhroiv", "as": "dirtyNodes" }, "bxacisq": { "from": "bxacisq", "to": "zan0upq", "as": "dirtyNodes" }, "tebglqx": { "from": "tebglqx", "to": "fy9ee3e", "as": "graphchange" }, "g1lb9hq": { "from": "g1lb9hq", "to": "zan0upq", "as": "state" }, "zan0upq": { "from": "zan0upq", "to": "ockphl3", "as": "pred" }, "jonwhso": { "from": "jonwhso", "to": "zan0upq", "as": "graphid" }, "ockphl3": { "from": "ockphl3", "to": "tebglqx", "as": "fn" }, "ehb5iz5": { "from": "ehb5iz5", "to": "ockphl3", "as": "true" }, "4w9hxjv": { "from": "4w9hxjv", "to": "ehb5iz5", "as": "fn" }, "fr8wvzt": { "from": "fr8wvzt", "to": "ehb5iz5", "as": "run" }, "affc4bs": { "from": "affc4bs", "to": "ehb5iz5", "as": "args" }, "y4c3klu": { "from": "y4c3klu", "to": "affc4bs", "as": "value" }, "sc3gf99": { "from": "sc3gf99", "to": "2nhroiv", "as": "data" }, "juhzde2": { "from": "juhzde2", "to": "2nhroiv", "as": "graph" } }, "id": "@memory.graphchangecache", "nodes": { "value": { "id": "value", "ref": "arg", "value": "value" }, "graphid": { "id": "graphid", "ref": "arg", "value": "__graphid" }, "recache": { "id": "recache", "ref": "arg", "value": "recache" }, "cachevalue_state": { "id": "cachevalue_state", "value": "_cachevalue.state", "ref": "arg" }, "pred_cachevalue_state": { "id": "pred_cachevalue_state", "value": "_cachevalue.state", "ref": "arg" }, "pred_cache_state": { "id": "pred_cache_state", "value": "const docache = recache === undefined ? (cachevaluestate === undefined || cachevaluestate === null) : (recache !== false && (typeof recache !== 'object' || Object.keys(recache).length > 0))\n\nreturn docache;", "ref": "@js.script" }, "ap_cache_value": { "id": "ap_cache_value", "value": "value: default", "ref": "arg" }, "ap_cache_args": { "id": "ap_cache_args", "ref": "extern", "value": "extern.data" }, "ap_cache_fn": { "id": "ap_cache_fn", "value": "_cachevalue.set", "ref": "arg" }, "cache": { "id": "cache", "ref": "@flow.ap" }, "if_cache_state": { "id": "if_cache_state", "ref": "@flow.if" }, "cache_state": { "id": "cache_state", "ref": "@memory.state" }, "cache_return_args": { "id": "cache_return_args", "ref": "extern", "value": "extern.data" }, "recache_button_fn": { "id": "recache_button_fn", "value": "_cachevalue.set", "ref": "arg" }, "recache_button_fn_args": { "id": "recache_button_fn_args" }, "recache_button_fn_value": { "id": "recache_button_fn_value" }, "recache_button_ap": { "id": "recache_button_ap", "ref": "@flow.ap" }, "recache_button": { "id": "recache_button", "value": "reset", "ref": "@html.tapbutton" }, "out": { "id": "out", "name": "@memory.graphchangecache", "ref": "return" }, "fy9ee3e": { "id": "fy9ee3e", "ref": "extern", "value": "extern.data" }, "h56r87n": { "id": "h56r87n", "value": "_reset.state", "ref": "arg" }, "xbhq0f0": { "id": "xbhq0f0", "value": "true" }, "kqnga6d": { "id": "kqnga6d", "ref": "@data.array" }, "9w2cqoc": { "id": "9w2cqoc", "value": "0", "ref": "@data.get" }, "jmvzfm1": { "id": "jmvzfm1" }, "99ld3d7": { "id": "99ld3d7" }, "tebglqx": { "id": "tebglqx", "ref": "@flow.runnable" }, "2nhroiv": { "id": "2nhroiv" }, "dtfbfdm": { "id": "dtfbfdm" }, "bxacisq": { "id": "bxacisq", "value": "dirtyNodes", "ref": "arg" }, "zan0upq": { "id": "zan0upq", "value": "const ret = dirtyNodes && !dirtyNodes.every(n => !graphid.includes(n));\nreturn ret || state === undefined;", "ref": "@js.script" }, "jonwhso": { "id": "jonwhso", "value": "__graphid", "ref": "arg" }, "ockphl3": { "id": "ockphl3", "ref": "@flow.if" }, "ehb5iz5": { "id": "ehb5iz5", "ref": "@flow.ap" }, "4w9hxjv": { "id": "4w9hxjv", "value": "_cachevalue.set", "ref": "arg" }, "fr8wvzt": { "id": "fr8wvzt", "value": "true" }, "affc4bs": { "id": "affc4bs" }, "y4c3klu": { "id": "y4c3klu" }, "sc3gf99": { "id": "sc3gf99" }, "juhzde2": { "id": "juhzde2" }, "g7fudn7": { "id": "g7fudn7" }, "z5jrs71": { "id": "z5jrs71" }, "crkuagp": { "id": "crkuagp" }, "g1lb9hq": { "id": "g1lb9hq", "value": "_cachevalue.state", "ref": "arg" } }, "out": "out", }, "@memory.cache": { "id": "@memory.cache", "out": "out", "ref": "extern", "value": "extern.cache", "_nodes": { "value": { "id": "value", "ref": "arg", "value": "value" }, "graphid": { "id": "graphid", "ref": "arg", "value": "__graphid" }, "recache": { "id": "recache", "ref": "arg", "value": "recache" }, "cachevalue_state": { "id": "cachevalue_state", "value": "_cachevalue.state", "ref": "arg" }, "pred_cachevalue_state": { "id": "pred_cachevalue_state", "value": "_cachevalue.state", "ref": "arg" }, "pred_cachevalue": { "id": "pred_cachevalue", "value": "_cachevalue", "ref": "arg" }, "pred_cache_state": { "id": "pred_cache_state", "value": "const docache = recache === true || cachevaluestate === undefined || cachevaluestate === null;\n\nreturn docache;", "ref": "@js.script" }, "ap_cache_value": { "id": "ap_cache_value", "ref": "arg", "value": "value: default" }, "ap_cache_args": { "id": "ap_cache_args", "ref": "extern", "value": "extern.data" }, "ap_cache_run": { "id": "ap_cache_run", "value": "true" }, "ap_cache_fn": { "id": "ap_cache_fn", "value": "_cachevalue.set", "ref": "arg" }, "cache": { "id": "cache", "ref": "@flow.ap" }, "if_cache_state": { "id": "if_cache_state", "ref": "@flow.if" }, "cache_state": { "id": "cache_state", "ref": "@memory.state" }, "cache_return_args": { "id": "cache_return_args", "ref": "extern", "value": "extern.data" }, "recache_button_fn": { "id": "recache_button_fn", "value": "_cachevalue.set", "ref": "arg" }, "recache_button_fn_args": { "id": "recache_button_fn_args" }, "recache_button_fn_value": { "id": "recache_button_fn_value", "value": "undefined" }, "recache_button_ap": { "id": "recache_button_ap", "ref": "@flow.ap" }, "recache_button": { "id": "recache_button", "value": "recache", "ref": "@html.tapbutton" }, "out": { "id": "out", "ref": "return", "name": "@memory.cache" }, "jb9ua5s": { "id": "jb9ua5s", "ref": "@memory.reference" } }, "_edges": { "ap_cache_value": { "from": "ap_cache_value", "to": "ap_cache_args", "as": "value" }, "ap_cache_args": { "from": "ap_cache_args", "to": "cache", "as": "args" }, "ap_cache_run": { "from": "ap_cache_run", "to": "cache", "as": "run" }, "ap_cache_fn": { "from": "ap_cache_fn", "to": "cache", "as": "fn" }, "pred_cachevalue_state": { "from": "pred_cachevalue_state", "to": "pred_cache_state", "as": "cachevaluestate" }, "recache": { "from": "recache", "to": "pred_cache_state", "as": "recache" }, "cachevalue_state": { "from": "cachevalue_state", "to": "if_cache_state", "as": "false" }, "cache": { "from": "cache", "to": "if_cache_state", "as": "true" }, "pred_cachevalue": { "from": "pred_cachevalue", "to": "pred_cache_state", "as": "cachevalue" }, "pred_cache_state": { "from": "pred_cache_state", "to": "if_cache_state", "as": "pred" }, "if_cache_state": { "from": "if_cache_state", "to": "out", "as": "value" }, "cache_state": { "from": "cache_state", "to": "cache_return_args", "as": "_cachevalue" }, "cache_return_args": { "from": "cache_return_args", "to": "out", "as": "args" }, "recache_button_fn_value": { "from": "recache_button_fn_value", "to": "recache_button_fn_args", "as": "value" }, "recache_button_fn_args": { "from": "recache_button_fn_args", "to": "recache_button_ap", "as": "args" }, "recache_button_fn": { "from": "recache_button_fn", "to": "recache_button_ap", "as": "fn" }, "recache_button_ap": { "from": "recache_button_ap", "to": "recache_button", "as": "ontap" }, "recache_button": { "from": "recache_button", "to": "out", "as": "display" } }, "category": "memory" }, "@data.isunchanged": { "id": "@data.isunchanged", "nodes": { "in": { "id": "in" }, "eq_fn_value": { "id": "eq_fn_value", "ref": "arg", "value": "value" }, "eq_fn_if": { "id": "eq_fn_if", "ref": "arg", "value": "eq_fn" }, "fn": { "id": "fn", "ref": "arg", "value": "fn" }, "cached": { "id": "cached", "ref": "arg", "value": "cached", "type": "internal" }, "eq_default": { "id": "eq_default", "ref": "eq" }, "eq_runnable": { "id": "eq_runnable", "ref": "@flow.runnable" }, "fn_runnable": { "id": "fn_runnable", "ref": "@flow.default" }, "eq_fn_runnable": { "id": "eq_fn_runnable", "ref": "@js.script", "value": "return {...fn, args: {...(fn.args ?? {}), a, b}}" }, "eq_fn": { "id": "eq_fn", "ref": "run" }, "eq_fn_return_args": { "id": "eq_fn_return_args" }, "if_eq_fn": { "id": "if_eq_fn", "ref": "@flow.if" }, "out": { "id": "out", "ref": "return", "name": "@data.isunchanged" }, "yp2q57b": { "id": "yp2q57b" }, "tpe5t4z": { "id": "tpe5t4z", "ref": "@memory.reference" }, "cy1tm8s": { "id": "cy1tm8s", "value": "const iseq = saved.value !== value;\n\nif(!iseq) {\n saved.set.fn(value);\n}\n\nreturn iseq;", "ref": "@js.script" }, "khdzxds": { "id": "khdzxds", "value": "_saved", "ref": "arg" }, "lv2gcpk": { "id": "lv2gcpk", "value": "value", "ref": "arg" } }, "edges": { "eq_default": { "from": "eq_default", "to": "eq_runnable", "as": "fn" }, "eq_runnable": { "from": "eq_runnable", "to": "fn_runnable", "as": "otherwise" }, "fn": { "from": "fn", "to": "fn_runnable", "as": "value" }, "fn_runnable": { "from": "fn_runnable", "to": "eq_fn_runnable", "as": "fn" }, "eq_fn_value": { "from": "eq_fn_value", "to": "eq_fn_runnable", "as": "a" }, "cached": { "from": "cached", "to": "eq_fn_runnable", "as": "b" }, "eq_fn_runnable": { "from": "eq_fn_runnable", "to": "eq_fn", "as": "runnable" }, "eq_fn_if": { "from": "eq_fn_if", "to": "if_eq_fn", "as": "pred" }, "eq_fn": { "from": "eq_fn", "to": "eq_fn_return_args", "as": "eq_fn" }, "yp2q57b": { "from": "yp2q57b", "to": "out", "as": "args" }, "tpe5t4z": { "from": "tpe5t4z", "to": "yp2q57b", "as": "_saved" }, "cy1tm8s": { "from": "cy1tm8s", "to": "out", "as": "value" }, "khdzxds": { "from": "khdzxds", "to": "cy1tm8s", "as": "saved" }, "lv2gcpk": { "from": "lv2gcpk", "to": "cy1tm8s", "as": "value" } }, "category": "data" }, "@memory.reference": { "id": "@memory.reference", "ref": "extern", "value": "extern.reference", "category": "memory" }, "@memory.state": { "id": "@memory.reference", "ref": "extern", "value": "extern.reference", "category": "memory", "description": "Deprecated: use @memory.reference" }, "@memory.readReference": { "id": "@memory.readReference", "ref": "extern", "value": "extern.readReference", "category": "memory" }, "@memory.unwrap": { "id": "@memory.unwrap", "ref": "extern", "value": "extern.memoryUnwrap" }, "@event.publish_event": { "id": "@event.publish_event", "out": "out", "nodes": { "output_val": { "id": "output_val", "ref": "@flow.runnable" }, "out": { "id": "out", "ref": "return", "name": "@event.publish_event" }, "i5m8bp1": { "id": "i5m8bp1", "value": "_lib.runtime.publish(name, {data})", "ref": "@js.script" }, "3pnfu3c": { "id": "3pnfu3c", "ref": "@flow.default" }, "smopce2": { "id": "smopce2", "value": "event", "ref": "arg" }, "mz8rw6m": { "id": "mz8rw6m", "value": "__graph_value", "ref": "arg" }, "6sffwk9": { "id": "6sffwk9", "value": "data", "ref": "arg" }, "xiqo1q0": { "id": "xiqo1q0", "ref": "extern", "value": "extern.data" }, "k36to2l": { "id": "k36to2l" } }, "edges": { "output_val": { "from": "output_val", "to": "out", "as": "value" }, "i5m8bp1": { "from": "i5m8bp1", "to": "output_val", "as": "fn" }, "3pnfu3c": { "from": "3pnfu3c", "to": "i5m8bp1", "as": "name" }, "smopce2": { "from": "smopce2", "to": "3pnfu3c", "as": "value" }, "mz8rw6m": { "from": "mz8rw6m", "to": "3pnfu3c", "as": "otherwise" }, "6sffwk9": { "from": "6sffwk9", "to": "i5m8bp1", "as": "data" }, "xiqo1q0": { "from": "xiqo1q0", "to": "output_val", "as": "parameters" }, "k36to2l": { "from": "k36to2l", "to": "xiqo1q0", "as": "data" } } }, "@event.event_publisher_onchange": { "id": "@event.event_publisher_onchange", "category": "event", "description": "Publishes a `name` (or this node's value) event with the data `value` when `value` changes.", "out": "out", "nodes": { "value": { "id": "value", "ref": "arg", "value": "value" }, "value_out": { "id": "value_out", "ref": "arg", "value": "value" }, "value_eq_a": { "id": "value_eq_a", "ref": "arg", "value": "a" }, "value_eq_b": { "id": "value_eq_b", "ref": "arg", "value": "b" }, "value_eq_fn": { "id": "value_eq_fn", "ref": "@js.script", "value": "return _lib.compare(a, b)" }, "value_eq": { "id": "value_eq", "ref": "@flow.runnable" }, "value_unchanged": { "id": "value_unchanged", "ref": "@data.isunchanged" }, "publisher": { "id": "publisher", "ref": "event_publisher" }, "out": { "id": "out", "ref": "@flow.if", "name": "@event.event_publisher_onchange" } }, "edges": [ { "from": "value", "to": "value_eq", "as": "value" }, { "from": "value_eq_a", "to": "value_eq_fn", "as": "a" }, { "from": "value_eq_b", "to": "value_eq_fn", "as": "b" }, { "from": "value_eq_fn", "to": "value_eq", "as": "fn" }, { "from": "value_eq", "to": "value_unchanged", "as": "fn" }, { "from": "value_unchanged", "to": "out", "as": "pred" }, { "from": "publisher", "to": "out", "as": "false" }, { "from": "value_out", "to": "out", "as": "true" } ] }, "@data.reduce": { "id": "@data.reduce", "category": "data", "description": "Aray.reduce the `array` with `fn`. Arguments for `fn` are `previous`, `current`, `index`, `array`, and a unique per nested loop `key`.", "name": "reduce", "in": "m3b5wg3", "out": "tgurdpo", "nodes": { "tgurdpo": { "id": "tgurdpo", "ref": "@js.call", "name": "@data.reduce" }, "key": { "id": "key", "ref": "arg", "value": "key" }, "rielyq8": { "id": "rielyq8", "value": "reduce", "name": "rielyq8" }, "1rre4bx": { "ref": "arg", "id": "1rre4bx", "value": "array", "name": "1rre4bx" }, "6g75abk": { "ref": "arg", "id": "6g75abk", "value": "fn", "name": "6g75abk" }, "w0zzawl": { "id": "w0zzawl", "ref": "@data.array", "name": "w0zzawl" }, "args": { "id": "args", "ref": "arg", "value": "args", "type": "local" }, "initial": { "id": "initial", "ref": "arg", "value": "initial" }, "pdljod1": { "id": "pdljod1", "name": "pdljod1", "ref": "@js.script", "value": "return (previous, current, index, array) => _lib.no.run(fn?.graph ?? _graph, fn?.fn ?? fn, Object.assign({}, args ?? {}, fn.args ?? {}, {previous, current, index, array, key: outer_key ? `${index}_${outer_key}` : `${index}`}), _lib);" }, "2lvs5dj": { "id": "2lvs5dj", "ref": "@js.script", "value": "return _graph", "name": "2lvs5dj" } }, "edges": [ { "from": "rielyq8", "to": "tgurdpo", "as": "fn" }, { "from": "1rre4bx", "to": "tgurdpo", "as": "self" }, { "from": "w0zzawl", "to": "tgurdpo", "as": "args", "type": "resolve" }, { "from": "pdljod1", "to": "w0zzawl", "as": "a0" }, { "from": "initial", "to": "w0zzawl", "as": "a1" }, { "from": "2lvs5dj", "to": "pdljod1", "as": "graph" }, { "from": "key", "to": "pdljod1", "as": "outer_key" }, { "from": "args", "to": "pdljod1", "as": "args" }, { "from": "6g75abk", "to": "pdljod1", "as": "fn" } ] }, "@data.map": { "id": "@data.map", "out": "out", "category": "data", "ref": "extern", "value": "extern.map", "description": "Aray.map the `array` with `fn`. Arguments for `fn` are `element`, `index`, `array`, and a unique per nested loop `key`." }, "@data.filter": { "id": "@data.filter", "category": "data", "description": "Aray.filter the `array` with `fn`. Arguments for `fn` are `element`, `index`, `array`, and a unique per nested loop `key`.", "out": "out", "nodes": { "object": { "id": "object", "ref": "arg", "value": "array" }, "pred_fn": { "id": "pred_fn", "ref": "arg", "value": "fn" }, "el_currentValue": { "id": "el_currentValue", "ref": "arg", "value": "currentValue" }, "pred_fn_args": { "id": "pred_fn_args", "ref": "extern", "value": "extern.data" }, "run_pred": { "id": "run_pred", "value": "true" }, "pred_element_fn": { "id": "pred_element_fn", "ref": "extern", "value": "extern.ap" }, "currentValue": { "id": "currentValue", "ref": "arg", "value": "currentValue" }, "previousValue": { "id": "previousValue", "ref": "arg", "value": "previousValue" }, "pred_append": { "id": "pred_append", "ref": "@js.script", "value": "if(pred !== false && pred !== undefined && pred !== null){ return arr.concat([value]); } return arr;" }, "pred_append_fn_args": { "id": "pred_append_fn_args", "value": "{\"previousValue\": \"undefined\", \"currentValue\": \"undefined\"}" }, "pred_append_fn": { "id": "pred_append_fn", "ref": "@flow.runnable" }, "initial": { "id": "initial", "value": "[]" }, "fold": { "id": "fold", "ref": "extern", "value": "extern.fold" }, "out": { "id": "out", "ref": "return", "name": "@data.filter" } }, "edges": [ { "from": "el_currentValue", "to": "pred_fn_args", "as": "element" }, { "from": "pred_fn_args", "to": "pred_element_fn", "as": "args" }, { "from": "pred_fn", "to": "pred_element_fn", "as": "fn" }, { "from": "run_pred", "to": "pred_element_fn", "as": "run" }, { "from": "currentValue", "to": "pred_append", "as": "value" }, { "from": "previousValue", "to": "pred_append", "as": "arr" }, { "from": "pred_element_fn", "to": "pred_append", "as": "pred" }, { "from": "pred_append", "to": "pred_append_fn", "as": "fn" }, { "from": "pred_append_fn_args", "to": "pred_append_fn", "as": "parameters" }, { "from": "pred_append_fn", "to": "fold", "as": "fn" }, { "from": "object", "to": "fold", "as": "object" }, { "from": "initial", "to": "fold", "as": "initial" }, { "from": "fold", "to": "out", "as": "value" } ] }, "@nodysseus.importUrl": { "id": "@nodysseus.importUrl", "description": "Imports the node or nodes found at the `url`.", "name": "@nodysseus.importUrl", "category": "nodysseus", "out": "out", "nodes": { "lapeojg": { "id": "lapeojg", "ref": "@js.script", "value": "return _lib.runtime.addRefsFromUrl(url).then(gs => _lib.runtime.change_graph(graphid, _lib))", "name": "out" }, "graphid": { "id": "graphid", "ref": "arg", "value": "__graphid" }, "out": { "id": "out", "ref": "return", "name": "@nodysseus.importUrl" }, "05eag47": { "id": "05eag47", "ref": "arg", "value": "name" }, "irr99xz": { "id": "irr99xz", "ref": "arg", "value": "url" } }, "edges": [ { "from": "graphid", "to": "lapeojg", "as": "graphid" }, { "from": "05eag47", "to": "lapeojg", "as": "name" }, { "from": "lapeojg", "to": "out", "as": "value" }, { "from": "irr99xz", "to": "lapeojg", "as": "url" }, {"from": "graphid", "to": "lapeojg", "as": "graphid"} ] }, "@data.object_entries": { "id": "@data.object_entries", "category": "data", "description": "Calls Object.entries on `object`.", "name": "object_entries", "in": "tkd4tqn", "out": "j8c79uf", "nodes": { "j8c79uf": { "name": "@data.object_entries", "id": "j8c79uf", "ref": "@data.filter" }, "hfexsuu": { "id": "hfexsuu", "ref": "@js.script", "value": "return !key?.startsWith('_');" }, "runnable_args": { "id": "runnable_args", "value": "{\"element\": \"undefined\"}" }, "runnable": { "id": "runnable", "ref": "@flow.runnable" }, "bgi2g37": { "id": "bgi2g37", "ref": "@js.script", "value": "return obj instanceof Map ? [...obj.entries()] : Object.entries(obj)" }, "7gqcw0o": { "id": "7gqcw0o", "ref": "arg", "value": "0.0" }, "kpakw50": { "id": "kpakw50", "ref": "arg", "value": "object: default" } }, "edges": [ { "from": "runnable_args", "to": "runnable", "as": "parameters" }, { "from": "hfexsuu", "to": "runnable", "as": "fn" }, { "from": "runnable", "to": "j8c79uf", "as": "fn" }, { "from": "bgi2g37", "to": "j8c79uf", "as": "array" }, { "from": "7gqcw0o", "to": "hfexsuu", "as": "key" }, { "from": "kpakw50", "to": "bgi2g37", "as": "obj" } ] }, "@html.css_styles": { "id": "@html.css_styles", "category": "html", "description": "Creates a style element from `css_object`. Inputs to the object should be labeled with css selectors, and inputs to those objects with css properties.", "name": "css_styles", "in": "xw3pmx7", "out": "out", "nodes": { "out": { "id": "out", "ref": "return", "name": "@html.css_styles" }, "5yxmxua": { "id": "5yxmxua", "ref": "@html.html_element", "name": "out" }, "vgv61zj": { "id": "vgv61zj", "ref": "@html.html_text" }, "jstjx7g": { "id": "jstjx7g", "ref": "extern", "value": "extern.data" }, "h40e3j9": { "id": "h40e3j9", "value": "style" }, "xw3pmx7": { "id": "xw3pmx7", "name": "in" }, "jlgp7uy": { "id": "jlgp7uy", "ref": "@js.call", "name": "named_obj/out" }, "o1j78dd": { "id": "o1j78dd", "value": "result-view" }, "ij4z84e": { "id": "ij4z84e", "ref": "@data.map" }, "q3pwj9j": { "id": "q3pwj9j", "value": "join" }, "d6h3gdw": { "id": "d6h3gdw", "ref": "@data.array" }, "j8c79uf": { "id": "j8c79uf", "name": "object_entries", "ref": "@data.object_entries" }, "n9g4wyq": { "id": "n9g4wyq", "ref": "@flow.runnable" }, "z63iaay": { "id": "z63iaay", "ref": "@js.script", "value": "return \"\\n\";" }, "vwsgweb": { "id": "vwsgweb", "ref": "@flow.default" }, "aelf1a7": { "id": "aelf1a7", "ref": "@js.script", "value": "return key + '{' + value + '}'", "name": "out" }, "mkwx4yx": { "id": "mkwx4yx" }, "fzr4mkv": { "id": "fzr4mkv", "ref": "arg", "value": "css_object" }, "5eqf77t": { "id": "5eqf77t", "value": "element.0", "ref": "arg" }, "5pwetw5": { "id": "5pwetw5", "ref": "@flow.if" }, "o5ojdyc": { "id": "o5ojdyc", "ref": "@js.script", "value": "return key?.startsWith(\"@keyframes\")" }, "1hpnid4": { "id": "1hpnid4", "ref": "@js.call" }, "slj7ynn/jlgp7uy": { "id": "slj7ynn/jlgp7uy", "ref": "@js.call", "name": "named_obj/out" }, "ft1oksl": { "id": "ft1oksl", "ref": "arg", "value": "element.0" }, "bbbp82v": { "id": "bbbp82v", "ref": "@data.map" }, "cp66ig5": { "id": "cp66ig5", "value": "join" }, "uwq9u81": { "id": "uwq9u81", "ref": "@data.array" }, "slj7ynn/ij4z84e": { "id": "slj7ynn/ij4z84e", "ref": "@data.map" }, "slj7ynn/q3pwj9j": { "id": "slj7ynn/q3pwj9j", "value": "join" }, "slj7ynn/d6h3gdw": { "id": "slj7ynn/d6h3gdw", "ref": "@data.array" }, "i1ifamx": { "id": "i1ifamx", "ref": "@data.object_entries" }, "druspar_args": { "id": "druspar_args", "value": "{\"element\": \"\"}" }, "n9g4wyq_args": { "id": "n9g4wyq_args", "value": "{\"element\": \"\"}" }, "slj7ynn/n9g4wyq_args": { "id": "slj7ynn/n9g4wyq_args", "value": "{\"element\": \"\"}" }, "slj7ynn/druspar_args": { "id": "slj7ynn/druspar_args", "value": "{\"element\": \"\"}" }, "druspar": { "id": "druspar", "ref": "@flow.runnable" }, "gth1wc2": { "id": "gth1wc2", "ref": "@js.script", "value": "return \"\\n\";" }, "slj7ynn/j8c79uf": { "id": "slj7ynn/j8c79uf", "name": "object_entries", "ref": "@data.object_entries" }, "slj7ynn/n9g4wyq": { "id": "slj7ynn/n9g4wyq", "ref": "@flow.runnable" }, "slj7ynn/z63iaay": { "id": "slj7ynn/z63iaay", "ref": "@js.script", "value": "return \"\\n\";" }, "y25dg2n": { "id": "y25dg2n", "value": "element.1", "ref": "arg" }, "0d4yh8u": { "id": "0d4yh8u", "ref": "@js.script", "value": "return key + ': ' + value + \";\";" }, "slj7ynn/vwsgweb": { "id": "slj7ynn/vwsgweb", "ref": "@flow.default" }, "slj7ynn/aelf1a7": { "id": "slj7ynn/aelf1a7", "ref": "@js.script", "value": "return key + '{' + value + '}'", "name": "out" }, "h13a9fd": { "id": "h13a9fd", "ref": "arg", "value": "element.0" }, "h7me3v8": { "id": "h7me3v8", "ref": "arg", "value": "element.1" }, "slj7ynn/mkwx4yx": { "id": "slj7ynn/mkwx4yx" }, "slj7ynn/fzr4mkv": { "id": "slj7ynn/fzr4mkv", "ref": "arg", "value": "element.1" }, "slj7ynn/5eqf77t": { "id": "slj7ynn/5eqf77t", "value": "element.0", "ref": "arg" }, "slj7ynn/1hpnid4": { "id": "slj7ynn/1hpnid4", "ref": "@js.call" }, "slj7ynn/bbbp82v": { "id": "slj7ynn/bbbp82v", "ref": "@data.map" }, "slj7ynn/cp66ig5": { "id": "slj7ynn/cp66ig5", "value": "join" }, "slj7ynn/uwq9u81": { "id": "slj7ynn/uwq9u81", "ref": "@data.array" }, "slj7ynn/i1ifamx": { "id": "slj7ynn/i1ifamx", "ref": "@data.object_entries" }, "slj7ynn/druspar": { "id": "slj7ynn/druspar", "ref": "@flow.runnable" }, "slj7ynn/gth1wc2": { "id": "slj7ynn/gth1wc2", "ref": "@js.script", "value": "return \"\\n\";" }, "slj7ynn/y25dg2n": { "id": "slj7ynn/y25dg2n", "value": "element.1", "ref": "arg" }, "slj7ynn/0d4yh8u": { "id": "slj7ynn/0d4yh8u", "ref": "@js.script", "value": "return key + ': ' + value + \";\";" }, "slj7ynn/h13a9fd": { "id": "slj7ynn/h13a9fd", "ref": "arg", "value": "element.0" }, "slj7ynn/h7me3v8": { "id": "slj7ynn/h7me3v8", "ref": "arg", "value": "element.1" } }, "edges": [ { "from": "5yxmxua", "to": "out", "as": "value" }, { "from": "vgv61zj", "to": "5yxmxua", "as": "children" }, { "from": "jstjx7g", "to": "5yxmxua", "as": "props" }, { "from": "h40e3j9", "to": "5yxmxua", "as": "dom_type" }, { "from": "xw3pmx7", "to": "5yxmxua", "as": "arg3" }, { "from": "jlgp7uy", "to": "vgv61zj", "as": "text" }, { "from": "o1j78dd", "to": "jstjx7g", "as": "key" }, { "from": "ij4z84e", "to": "jlgp7uy", "as": "self" }, { "from": "q3pwj9j", "to": "jlgp7uy", "as": "fn" }, { "from": "d6h3gdw", "to": "jlgp7uy", "as": "args" }, { "from": "j8c79uf", "to": "ij4z84e", "as": "array" }, { "as": "fn", "from": "n9g4wyq", "to": "ij4z84e" }, { "from": "z63iaay", "to": "d6h3gdw", "as": "arg0" }, { "from": "vwsgweb", "to": "j8c79uf", "as": "object" }, { "as": "fn", "from": "aelf1a7", "to": "n9g4wyq" }, { "from": "mkwx4yx", "to": "vwsgweb", "as": "otherwise" }, { "from": "fzr4mkv", "to": "vwsgweb", "as": "value" }, { "from": "5eqf77t", "to": "aelf1a7", "as": "key" }, { "from": "5pwetw5", "to": "aelf1a7", "as": "value" }, { "from": "o5ojdyc", "to": "5pwetw5", "as": "pred" }, { "as": "false", "from": "1hpnid4", "to": "5pwetw5" }, { "from": "slj7ynn/jlgp7uy", "to": "5pwetw5", "as": "true" }, { "as": "key", "from": "ft1oksl", "to": "o5ojdyc" }, { "from": "bbbp82v", "to": "1hpnid4", "as": "self" }, { "from": "cp66ig5", "to": "1hpnid4", "as": "fn" }, { "from": "uwq9u81", "to": "1hpnid4", "as": "args" }, { "from": "slj7ynn/ij4z84e", "to": "slj7ynn/jlgp7uy", "as": "self" }, { "from": "slj7ynn/q3pwj9j", "to": "slj7ynn/jlgp7uy", "as": "fn" }, { "from": "slj7ynn/d6h3gdw", "to": "slj7ynn/jlgp7uy", "as": "args" }, { "from": "i1ifamx", "to": "bbbp82v", "as": "array" }, { "from": "slj7ynn/druspar_args", "as": "parameters", "to": "slj7ynn/druspar" }, { "from": "slj7ynn/n9g4wyq_args", "as": "parameters", "to": "slj7ynn/n9g4wyq" }, { "from": "n9g4wyq_args", "as": "parameters", "to": "n9g4wyq" }, { "from": "druspar_args", "as": "parameters", "to": "druspar" }, { "as": "fn", "from": "druspar", "to": "bbbp82v" }, { "from": "gth1wc2", "to": "uwq9u81", "as": "arg0" }, { "from": "slj7ynn/j8c79uf", "to": "slj7ynn/ij4z84e", "as": "array" }, { "as": "fn", "from": "slj7ynn/n9g4wyq", "to": "slj7ynn/ij4z84e" }, { "from": "slj7ynn/z63iaay", "to": "slj7ynn/d6h3gdw", "as": "arg0" }, { "from": "y25dg2n", "to": "i1ifamx", "as": "object" }, { "as": "fn", "from": "0d4yh8u", "to": "druspar" }, { "from": "slj7ynn/vwsgweb", "to": "slj7ynn/j8c79uf", "as": "object" }, { "as": "fn", "from": "slj7ynn/aelf1a7", "to": "slj7ynn/n9g4wyq" }, { "from": "h13a9fd", "to": "0d4yh8u", "as": "key" }, { "from": "h7me3v8", "to": "0d4yh8u", "as": "value" }, { "from": "slj7ynn/mkwx4yx", "to": "slj7ynn/vwsgweb", "as": "otherwise" }, { "from": "slj7ynn/fzr4mkv", "to": "slj7ynn/vwsgweb", "as": "value" }, { "from": "slj7ynn/5eqf77t", "to": "slj7ynn/aelf1a7", "as": "key" }, { "as": "value", "from": "slj7ynn/1hpnid4", "to": "slj7ynn/aelf1a7" }, { "from": "slj7ynn/bbbp82v", "to": "slj7ynn/1hpnid4", "as": "self" }, { "from": "slj7ynn/cp66ig5", "to": "slj7ynn/1hpnid4", "as": "fn" }, { "from": "slj7ynn/uwq9u81", "to": "slj7ynn/1hpnid4", "as": "args" }, { "from": "slj7ynn/i1ifamx", "to": "slj7ynn/bbbp82v", "as": "array" }, { "as": "fn", "from": "slj7ynn/druspar", "to": "slj7ynn/bbbp82v" }, { "from": "slj7ynn/gth1wc2", "to": "slj7ynn/uwq9u81", "as": "arg0" }, { "from": "slj7ynn/y25dg2n", "to": "slj7ynn/i1ifamx", "as": "object" }, { "as": "fn", "from": "slj7ynn/0d4yh8u", "to": "slj7ynn/druspar" }, { "from": "slj7ynn/h13a9fd", "to": "slj7ynn/0d4yh8u", "as": "key" }, { "from": "slj7ynn/h7me3v8", "to": "slj7ynn/0d4yh8u", "as": "value" } ] }, "@html.css_anim": { "id": "@html.css_anim", "category": "html", "description": "Creates a css animation string. For use with `css_styles`.", "name": "css_anim", "in": "cawqofn", "out": "spy9h48", "nodes": { "spy9h48": { "name": "@html.css_anim", "id": "spy9h48", "ref": "@js.script", "value": "return Object.fromEntries((Array.isArray(arr[0]) ? arr[0] : arr).map((v, i, a) => [Math.floor((i / a.length)*100) + \"%\", v]))" }, "cawqofn": { "id": "cawqofn", "ref": "@data.array", "name": "in" } }, "edges": [ { "as": "arr", "from": "cawqofn", "to": "spy9h48", "type": "resolve" } ] }, "@html.input": { "category": "html", "edges": [ { "from": "gvkhkfw", "to": "nn4twx9", "as": "children" }, { "from": "7rhq0q5", "to": "nn4twx9", "as": "_" }, { "from": "4972gx3", "to": "gvkhkfw", "as": "arg1" }, { "from": "1ldhfah", "to": "gvkhkfw", "as": "arg0" }, { "from": "ee5i5r2", "to": "4972gx3", "as": "dom_type" }, { "from": "ro8n2gc", "to": "4972gx3", "as": "props" }, { "from": "wet0jdv", "to": "1ldhfah", "as": "children" }, { "from": "gcuxiw9", "to": "1ldhfah", "as": "props" }, { "from": "875c1wk", "to": "1ldhfah", "as": "dom_type" }, { "from": "t6q6rvf", "to": "ro8n2gc", "as": "arg0" }, { "from": "rjwtb3c", "to": "ro8n2gc", "as": "props" }, { "from": "utkc9o6", "to": "wet0jdv", "as": "arg0" }, { "from": "jxl9r29", "to": "gcuxiw9", "as": "for" }, { "from": "2zxw9oo", "to": "t6q6rvf", "as": "onkeydown" }, { "from": "i7y9dyy", "to": "t6q6rvf", "as": "onchange" }, { "from": "vks4vul", "to": "rjwtb3c", "as": "value" }, { "from": "ddfgy2s", "to": "rjwtb3c", "as": "otherwise" }, { "from": "trd8ptp", "to": "utkc9o6", "as": "text" }, { "from": "zfrrk0z", "to": "jxl9r29", "as": "value" }, { "to": "2zxw9oo", "from": "qseh2tb", "as": "fn", "type": "ref" }, { "from": "b0j8nyq", "to": "i7y9dyy", "as": "dispatch" }, { "from": "eotod0l", "to": "i7y9dyy", "as": "seq" }, { "from": "qxwvdfe", "to": "i7y9dyy", "as": "value" }, { "from": "0dnqo5l", "to": "i7y9dyy", "as": "onchange_fn" }, { "from": "1wps21n", "to": "qseh2tb", "as": "a1" }, { "from": "y5q7mbn", "to": "qseh2tb", "as": "a0" }, { "from": "qjc0zt6", "to": "eotod0l", "as": "arg" }, { "from": "widk6u6", "to": "qjc0zt6", "as": "fn" }, { "from": "506ntvb", "to": "qjc0zt6", "as": "value" }, { "from": "4ck1vaf", "to": "widk6u6", "as": "fn" } ], "nodes": { "nn4twx9": { "id": "nn4twx9", "ref": "@html.html_element", "inputs": [ { "from": "bw4iez5/gvkhkfw", "to": "bw4iez5/nn4twx9", "as": "children" }, { "from": "bw4iez5/7rhq0q5", "to": "bw4iez5/nn4twx9", "as": "props" } ], "name": "@html.input" }, "gvkhkfw": { "id": "gvkhkfw", "ref": "@data.array" }, "7rhq0q5": { "id": "7rhq0q5", "name": "in" }, "1ldhfah": { "id": "1ldhfah", "ref": "@html.html_element", "name": "label" }, "4972gx3": { "id": "4972gx3", "ref": "@html.html_element" }, "wet0jdv": { "id": "wet0jdv", "ref": "@data.array" }, "gcuxiw9": { "id": "gcuxiw9" }, "875c1wk": { "id": "875c1wk", "value": "label" }, "ee5i5r2": { "id": "ee5i5r2", "value": "input" }, "ro8n2gc": { "id": "ro8n2gc", "ref": "@data.merge_objects" }, "n1qcxu2": { "id": "n1qcxu2", "value": "true" }, "utkc9o6": { "id": "utkc9o6", "ref": "@html.html_text" }, "jxl9r29": { "id": "jxl9r29", "ref": "@js.script", "value": "return \"input-\" + name;" }, "t6q6rvf": { "id": "t6q6rvf" }, "rjwtb3c": { "id": "rjwtb3c", "ref": "@flow.default" }, "varubwp": { "id": "varubwp" }, "trd8ptp": { "id": "trd8ptp", "ref": "arg", "value": "name" }, "zfrrk0z": { "id": "zfrrk0z", "ref": "arg", "value": "name" }, "2zxw9oo": { "id": "2zxw9oo", "ref": "run", "name": "stop_propagation" }, "sjw3rie": { "id": "sjw3rie", "ref": "@flow.default" }, "vks4vul": { "id": "vks4vul", "ref": "arg", "value": "props" }, "ddfgy2s": { "id": "ddfgy2s" }, "671rzr9": { "id": "671rzr9", "ref": "arg", "value": "name" }, "ccir2fl": { "id": "ccir2fl", "ref": "arg", "value": "name" }, "qseh2tb": { "id": "qseh2tb", "ref": "@data.array" }, "i7y9dyy": { "id": "i7y9dyy", "ref": "@flow.runnable" }, "fihihz0": { "id": "fihihz0", "ref": "arg", "value": "oninput" }, "1wps21n": { "id": "1wps21n", "name": "stop propagation effect", "out": "hj2cig0", "nodes": [ { "id": "hj2cig0", "ref": "array", "name": "stop propagation effect" }, { "id": "1pvaim9", "ref": "run" }, { "id": "0o86xp3", "ref": "arg", "value": "1" }, { "id": "d60jwms", "ref": "@js.script", "value": "payload.stopPropagation();" }, { "id": "xgbubrq", "ref": "arg", "value": "1" } ], "edges": [ { "from": "1pvaim9", "to": "hj2cig0", "as": "a0" }, { "from": "0o86xp3", "to": "hj2cig0", "as": "a1" }, { "from": "d60jwms", "to": "1pvaim9", "as": "fn", "type": "ref" }, { "from": "xgbubrq", "to": "d60jwms", "as": "payload" } ] }, "y5q7mbn": { "id": "y5q7mbn", "ref": "arg", "value": "0" }, "y9bkhqc": { "id": "y9bkhqc" }, "6m6m1hq_1/ocuonub/qjc0zt6": { "id": "6m6m1hq_1/ocuonub/qjc0zt6", "ref": "event_publisher" }, "nb2sswc": { "id": "nb2sswc", "ref": "arg", "value": "name" }, "6m6m1hq_1/ocuonub/506ntvb": { "id": "6m6m1hq_1/ocuonub/506ntvb", "value": "event.target.value", "ref": "arg" }, "6m6m1hq_1/ocuonub/4ck1vaf": { "id": "6m6m1hq_1/ocuonub/4ck1vaf", "ref": "arg", "value": "name" } }, "out": "nn4twx9", "in": "7rhq0q5", "name": "input", "id": "@html.input" }, "@html.html_text": { "id": "@html.html_text", "category": "html", "description": "Some HTML plaintext of `text` (or this node's value). Usually used as a child of html_element.", "out": "out", "nodes": { "arg_text": { "id": "arg_text", "ref": "arg", "value": "text" }, "value_text": { "id": "value_text", "ref": "arg", "value": "__graph_value" }, "text": { "id": "text", "ref": "@flow.default" }, "text_value": { "id": "text_value", "value": "text_value" }, "out": { "id": "out", "name": "@html.html_text" } }, "edges": [ { "from": "text_value", "to": "out", "as": "dom_type" }, { "from": "arg_text", "to": "text", "as": "value" }, { "from": "value_text", "to": "text", "as": "otherwise" }, { "from": "text", "to": "out", "as": "text" } ] }, "@html.html_element": { "id": "@html.html_element", "category": "html", "description": "An HTML Element. `children` is an array of html_element or html_text, `props` are the attributes for the html element as an object, `dom_type` (or this node's value) is the dom type, `memo` refers to hyperapp's memo.", "ref": "extern", "value": "extern.html_element" }, "@html.jsx" : { "id": "@html.jsx", "ref": "extern", "value": "extern.jsx" }, "@html.icon": { "id": "@html.icon", "description": "A ionicon in hyperapp format.", "category": "html", "name": "icon", "out": "c2sko9c", "nodes": { "c2sko9c": { "id": "c2sko9c", "ref": "@html.html_element", "name": "@html.icon" }, "2lr3ihi": { "id": "2lr3ihi", "value": "span" }, "empty_obj": { "id": "empty_obj", "value": {} }, "props": { "id": "props", "ref": "arg", "value": "props" }, "props_pred": { "id": "props_pred", "ref": "arg", "value": "props" }, "iconclass": { "id": "iconclass", "value": "material-symbols-outlined" }, "defined_props": { "id": "defined_props", "ref": "@flow.if" }, "name_path": { "id": "name_path", "value": "name" }, "a0jb5es": { "id": "a0jb5es", "ref": "@data.set", "value": "class" }, "s5x2r1f": { "id": "s5x2r1f", "ref": "arg", "value": "icon" } }, "edges": [ { "from": "2lr3ihi", "to": "c2sko9c", "as": "dom_type" }, { "from": "props", "to": "defined_props", "as": "true" }, { "from": "props_pred", "to": "defined_props", "as": "pred" }, { "from": "empty_obj", "to": "defined_props", "as": "false" }, { "from": "defined_props", "to": "a0jb5es", "as": "target" }, { "from": "iconclass", "to": "a0jb5es", "as": "value" }, { "from": "a0jb5es", "to": "c2sko9c", "as": "props" }, { "from": "s5x2r1f", "to": "c2sko9c", "as": "children" } ] }, "@data.not": { "id": "@data.not", "ref": "extern", "category": "data", "value": "extern.not" }, "@html.canvas_behind_editor": { "id": "@html.canvas_behind_editor", "out": "out", "nodes": { "args": { "id": "args", "ref": "extern", "value": "extern.data" }, "5a6pljw": { "id": "5a6pljw", "ref": "@html.html_element" }, "h2e7s9l": { "id": "h2e7s9l", "value": "canvas" }, "imr2dvi": { "id": "imr2dvi", "ref": "@html.html_element" }, "09epq8r": { "id": "09epq8r", "ref": "@data.array" }, "af9fknz": { "id": "af9fknz", "value": "canvas", "ref": "@html.html_element" }, "cilv4od": { "id": "cilv4od" }, "zvop9wi": { "id": "zvop9wi", "value": "canvas_id", "ref": "arg" }, "zvop9wi_2": { "id": "zvop9wi_2", "value": "canvas_id", "ref": "arg" }, "qe7qvud": { "id": "qe7qvud", "ref": "@html.css_styles" }, "45uuwjl": { "id": "45uuwjl" }, "ejd0zjg": { "id": "ejd0zjg" }, "50811j9": { "id": "50811j9", "ref": "@data.set" }, "vmabx98": { "id": "vmabx98", "value": "return `#${canvas_id}`", "ref": "@js.script" }, "ah2tu3m": { "id": "ah2tu3m", "value": "canvas_id", "ref": "arg" }, "cxwaij4": { "id": "cxwaij4" }, "8cq1yfs": { "id": "8cq1yfs", "value": "return window.innerWidth", "ref": "@js.script" }, "q96l549": { "id": "q96l549", "value": "return window.innerHeight", "ref": "@js.script" }, "icdi8jh": { "id": "icdi8jh", "value": "1" }, "b6e9ux3": { "id": "b6e9ux3", "value": "relative" }, "zq4ni3x": { "id": "zq4ni3x" }, "uzulnsq": { "id": "uzulnsq", "value": "absolute" }, "aoi9bi9": { "id": "aoi9bi9", "value": "unset" }, "3ucsio2": { "id": "3ucsio2", "ref": "extern", "value": "extern.data" }, "jzduiha": { "id": "jzduiha", "value": "32" }, "kup95dw": { "id": "kup95dw", "value": "64" }, "75jvde6": { "id": "75jvde6", "value": "fixed", "name": "" }, "0uhor53": { "id": "0uhor53", "value": "100%" }, "ag93b9f": { "id": "ag93b9f", "value": "100%" }, "zgmfuzy": { "id": "zgmfuzy", "value": "0" }, "dx3qg99": { "id": "dx3qg99", "value": "0", "name": "" }, "z54r0bl": { "id": "z54r0bl" }, "tok49em": { "id": "tok49em", "value": "12" }, "tok49eq": { "id": "tok49eq", "value": "relative" }, "out": { "id": "out", "name": "@html.canvas_behind_editor", "ref": "return" }, "hzvlwu7": { "id": "hzvlwu7", "ref": "extern", "value": "extern.data" }, "mcpndlx": { "id": "mcpndlx", "value": "48" } }, "edges": { "args": { "from": "args", "to": "out", "as": "args" }, "imr2dvi": { "from": "imr2dvi", "to": "out", "as": "value" }, "h2e7s9l": { "from": "h2e7s9l", "to": "args", "as": "canvas_id" }, "09epq8r": { "from": "09epq8r", "to": "imr2dvi", "as": "children" }, "af9fknz": { "from": "af9fknz", "to": "09epq8r", "as": "arg0" }, "cilv4od": { "from": "cilv4od", "to": "af9fknz", "as": "props" }, "zvop9wi": { "from": "zvop9wi", "to": "cilv4od", "as": "id" }, "zvop9wi_2": { "from": "zvop9wi_2", "to": "cilv4od", "as": "key" }, "qe7qvud": { "from": "qe7qvud", "to": "09epq8r", "as": "arg1" }, "50811j9": { "from": "50811j9", "to": "qe7qvud", "as": "css_object" }, "45uuwjl": { "from": "45uuwjl", "to": "50811j9", "as": "target" }, "vmabx98": { "from": "vmabx98", "to": "50811j9", "as": "path" }, "ah2tu3m": { "from": "ah2tu3m", "to": "vmabx98", "as": "canvas_id" }, "cxwaij4": { "from": "cxwaij4", "to": "50811j9", "as": "value" }, "75jvde6": { "from": "75jvde6", "to": "cxwaij4", "as": "position" }, "8cq1yfs": { "from": "8cq1yfs", "to": "cilv4od", "as": "width" }, "q96l549": { "from": "q96l549", "to": "cilv4od", "as": "height" }, "icdi8jh": { "from": "icdi8jh", "to": "cxwaij4", "as": "z-index" }, "jzduiha": { "from": "jzduiha", "to": "ejd0zjg", "as": "z-index" }, "b6e9ux3": { "from": "b6e9ux3", "to": "ejd0zjg", "as": "position" }, "zq4ni3x": { "from": "zq4ni3x", "to": "45uuwjl", "as": "#node-editor-result" }, "uzulnsq": { "from": "uzulnsq", "to": "zq4ni3x", "as": "position" }, "aoi9bi9": { "from": "aoi9bi9", "to": "zq4ni3x", "as": "z-index" }, "kup95dw": { "from": "kup95dw", "to": "3ucsio2", "as": "z-index" }, "3ucsio2": { "from": "3ucsio2", "to": "45uuwjl", "as": "#node-info-wrapper" }, "0uhor53": { "from": "0uhor53", "to": "cxwaij4", "as": "width" }, "ag93b9f": { "from": "ag93b9f", "to": "cxwaij4", "as": "height" }, "dx3qg99": { "from": "dx3qg99", "to": "cxwaij4", "as": "top" }, "zgmfuzy": { "from": "zgmfuzy", "to": "cxwaij4", "as": "left" }, "ejd0zjg": { "from": "ejd0zjg", "to": "45uuwjl", "as": "#node-editor-editor" }, "z54r0bl": { "from": "z54r0bl", "to": "45uuwjl", "as": "#node-editor-error .message" }, "tok49em": { "from": "tok49em", "to": "z54r0bl", "as": "z-index" }, "tok49eq": { "from": "tok49eq", "to": "z54r0bl", "as": "position" }, "hzvlwu7": { "from": "hzvlwu7", "to": "45uuwjl", "as": "#graph-actions" }, "mcpndlx": { "from": "mcpndlx", "to": "hzvlwu7", "as": "z-index" } }, "category": "html" }, "@js.import_module": { "id": "@js.import_module", "category": "js", "description": "Dynamically import an es6 module", "ref": "extern", "value": "extern.import_module" }, "@graphics.offscreenCanvas": { "id": "@graphics.offscreenCanvas", "category": "html", "description": "Creates an offscreen canvas for rendering WebGL content. Multiple canvases can be created to allow switching content on a canvas behind the node editor or the info popup canvas.", "name": "@graphics.offscreenCanvas", "nodes": { "0g1zopd": { "id": "0g1zopd", "name": "@graphics.offscreenCanvas", "ref": "return" }, "ein7naf": { "id": "ein7naf", "ref": "@flow.if" }, "9p0focj": { "id": "9p0focj" }, "98f35dl": { "id": "98f35dl", "value": "return !!window.OffscreenCanvas", "ref": "@js.script" }, "dzb8l3m": { "id": "dzb8l3m", "value": "canvas", "ref": "@html.html_element" }, "c2vbqba": { "id": "c2vbqba" }, "hdn9zr5": { "id": "hdn9zr5", "value": "offscreen" }, "o40rphy": { "id": "o40rphy" }, "p6vd4i7": { "id": "p6vd4i7", "value": "canvas_id", "ref": "arg" }, "lik4fr6": { "id": "lik4fr6", "value": "return window.innerWidth;", "ref": "@js.script" }, "5q5ltj4": { "id": "5q5ltj4", "value": "return window.innerHeight", "ref": "@js.script" }, "w7dugd7": { "id": "w7dugd7", "value": "return window.innerWidth;", "ref": "@js.script" }, "1wirpfe": { "id": "1wirpfe", "value": "return window.innerHeight", "ref": "@js.script" }, "16rxy2o": { "id": "16rxy2o", "value": "hidden" } }, "edges": [ { "from": "ein7naf", "to": "0g1zopd", "as": "value" }, { "from": "9p0focj", "to": "0g1zopd", "as": "args" }, { "from": "98f35dl", "to": "ein7naf", "as": "pred" }, { "from": "dzb8l3m", "to": "ein7naf", "as": "false" }, { "from": "c2vbqba", "to": "dzb8l3m", "as": "props" }, { "from": "hdn9zr5", "to": "c2vbqba", "as": "key" }, { "from": "o40rphy", "to": "c2vbqba", "as": "style" }, { "from": "p6vd4i7", "to": "c2vbqba", "as": "id" }, { "from": "lik4fr6", "to": "c2vbqba", "as": "width" }, { "from": "5q5ltj4", "to": "c2vbqba", "as": "height" }, { "from": "w7dugd7", "to": "o40rphy", "as": "width" }, { "from": "1wirpfe", "to": "o40rphy", "as": "height" }, { "from": "16rxy2o", "to": "o40rphy", "as": "visibility" } ], "out": "0g1zopd" }, "@data.changed": { "id": "@data.changed", "category": "data", "description": "Returns true if `value` has changed", "name": "changed", "nodes": { "p8v5ed5": { "id": "p8v5ed5", "name": "@data.changed", "ref": "return" }, "14mzqe3": { "id": "14mzqe3" }, "vs4opfd": { "id": "vs4opfd", "ref": "return" }, "3l4ufol": { "id": "3l4ufol" }, "jlmvbt7": { "id": "jlmvbt7", "value": "comparison", "ref": "@data.get" }, "izbtl3g": { "id": "izbtl3g", "value": "value", "ref": "arg" }, "mm880mz": { "id": "mm880mz", "ref": "@memory.cache" }, "kw0x0bm": { "id": "kw0x0bm", "value": "state.value", "ref": "@data.set_mutable" }, "qqzgl4i": { "id": "qqzgl4i" }, "f0ticbo": { "id": "f0ticbo" }, "fvvux6n": { "id": "fvvux6n", "value": "value", "ref": "arg" }, "2cvrnm9": { "id": "2cvrnm9", "value": "initial", "ref": "arg" }, "uqm4o4b": { "id": "uqm4o4b", "value": "state", "ref": "arg" }, "a59coum": { "id": "a59coum", "value": "return state != value;", "ref": "@js.script" }, "pt5nb1r": { "id": "pt5nb1r", "value": "state.value", "ref": "arg" }, "hkxrk6s": { "id": "hkxrk6s", "value": "value", "ref": "arg" } }, "edges": [ { "from": "14mzqe3", "to": "p8v5ed5", "as": "args" }, { "from": "vs4opfd", "to": "p8v5ed5", "as": "value" }, { "from": "3l4ufol", "to": "vs4opfd", "as": "args" }, { "from": "jlmvbt7", "to": "vs4opfd", "as": "value" }, { "from": "izbtl3g", "to": "3l4ufol", "as": "value" }, { "from": "mm880mz", "to": "3l4ufol", "as": "state" }, { "from": "kw0x0bm", "to": "jlmvbt7", "as": "target" }, { "from": "qqzgl4i", "to": "mm880mz", "as": "value" }, { "from": "f0ticbo", "to": "kw0x0bm", "as": "target" }, { "from": "fvvux6n", "to": "kw0x0bm", "as": "value" }, { "from": "2cvrnm9", "to": "qqzgl4i", "as": "value" }, { "from": "uqm4o4b", "to": "f0ticbo", "as": "state" }, { "from": "a59coum", "to": "f0ticbo", "as": "comparison" }, { "from": "pt5nb1r", "to": "a59coum", "as": "state" }, { "from": "hkxrk6s", "to": "a59coum", "as": "value" } ], "out": "p8v5ed5" }, "@graphics.webgl": { "id": "@graphics.webgl", "category": "graphics", "description": "Creates a webgl program with vertex shader `vtx`, fragment shader `frg`, in gl context `gl`.", "nodes": { "j219svq": { "id": "j219svq" }, "04xuprq": { "id": "04xuprq" }, "jidlrdv": { "id": "jidlrdv", "value": "return document.getElementById(\"node-editor-info-canvas\").getContext('webgl2')", "ref": "@js.script" }, "gkv4bqi": { "id": "gkv4bqi", "ref": "@memory.cache" }, "ea0tgct": { "id": "ea0tgct", "value": "vtx", "ref": "arg" }, "rh45l5q": { "id": "rh45l5q", "value": "gl", "ref": "arg" }, "hzz1ww4": { "id": "hzz1ww4", "value": "return gl.VERTEX_SHADER;", "ref": "@js.script" }, "qjktjzv": { "id": "qjktjzv", "value": "gl", "ref": "arg" }, "bu3m3jq": { "id": "bu3m3jq", "ref": "@graphics.load_shader" }, "camgxqu": { "id": "camgxqu", "ref": "@graphics.load_shader" }, "3j7l8wk": { "id": "3j7l8wk", "value": "gl", "ref": "arg" }, "wrpwzyg": { "id": "wrpwzyg", "value": "gl", "ref": "arg" }, "l41589j": { "id": "l41589j", "value": "frg", "ref": "arg" }, "5luq4y5": { "id": "5luq4y5", "value": "return gl.FRAGMENT_SHADER;", "ref": "@js.script" }, "esayius": { "id": "esayius", "value": "gl", "ref": "arg" }, "2mgzzwp": { "id": "2mgzzwp", "ref": "return" }, "bkeent2": { "id": "bkeent2", "value": "shaderProgram", "ref": "arg" }, "qbj2tl2": { "id": "qbj2tl2", "value": "gl", "ref": "arg" }, "wyb1z00": { "id": "wyb1z00", "name": "" }, "8njh1mx": { "id": "8njh1mx", "value": "gl", "ref": "arg" }, "ca17ykm": { "id": "ca17ykm", "value": "gl", "ref": "arg" }, "out": { "id": "out", "name": "@graphics.webgl", "ref": "return" }, "ng2kjpd": { "id": "ng2kjpd", "value": "buffer", "ref": "arg" }, "7i0o3pn": { "id": "7i0o3pn", "value": "return `#version 300 es\n\n precision highp float;\n\n\n\n out vec2 texCoord;\n\n void main() {\n float x = float((gl_VertexID & 1) << 2);\n float y = float((gl_VertexID & 2) << 1);\n texCoord.x = x * 0.5;\n texCoord.y = y * 0.5;\n gl_Position = vec4(x - 1.0, y - 1.0, 0, 1);\n }\n `;", "ref": "@js.script" }, "p2ibbe3": { "id": "p2ibbe3", "value": "return {\n program: shaderProgram,\n attribLocations: {\n },\n uniformLocations: {\n dataBuffer: gl.getUniformLocation(shaderProgram, 'uData')\n },\n };\n", "ref": "@js.script" }, "8dy573e/8dy573e": { "id": "8dy573e/8dy573e", "out": "8dy573e/8dy573e", "nodes": [ { "id": "8dy573e/8dy573e", "ref": "html_element" }, { "id": "8dy573e/576gi1y", "ref": "array" }, { "id": "8dy573e/t6fz346", "ref": "css_styles" }, { "id": "8dy573e/21xxdy8" }, { "id": "8dy573e/cuio21r" }, { "id": "8dy573e/dx424v3", "value": "block" } ], "edges": [ { "from": "8dy573e/576gi1y", "to": "8dy573e/8dy573e", "as": "children" }, { "from": "8dy573e/t6fz346", "to": "8dy573e/576gi1y", "as": "arg2" }, { "from": "8dy573e/21xxdy8", "to": "8dy573e/t6fz346", "as": "css_object" }, { "from": "8dy573e/cuio21r", "to": "8dy573e/21xxdy8", "as": "#node-editor-info-canvas" }, { "from": "8dy573e/dx424v3", "to": "8dy573e/cuio21r", "as": "display" } ] }, "1lgkj23": { "id": "1lgkj23", "value": "gl", "ref": "arg" }, "derz1cv": { "id": "derz1cv", "value": "vtx", "ref": "arg" }, "duubxl9": { "id": "duubxl9", "value": "frg", "ref": "arg" }, "5pjjo2a": { "id": "5pjjo2a", "value": "return `#version 300 es\n\n precision highp float;\n\n uniform int uData[1024];\n\n in vec2 texCoord;\n\n out vec4 fragmentColor;\n \n void main() {\n int idx = int(floor(1024.*gl_FragCoord.x/300.0));\n float val = float(uData[idx]) / 128.;\n fragmentColor = vec4(val,val,val, 1.0);\n }\n `;", "ref": "@js.script" }, "4r5fc0b": { "id": "4r5fc0b", "value": "buffer", "ref": "arg" }, "fbru2p5": { "id": "fbru2p5", "value": "const shaderProgram = gl.createProgram();\n gl.attachShader(shaderProgram, vertexShader);\n gl.attachShader(shaderProgram, fragmentShader);\n gl.linkProgram(shaderProgram);\n\n // If creating the shader program failed, alert\n\n if (!gl.getProgramParameter(shaderProgram, gl.LINK_STATUS)) {\n throw new Error(gl.getProgramInfoLog(shaderProgram));\n return null;\n }\n\n return shaderProgram;", "ref": "@js.script" }, "01l4ilv": { "id": "01l4ilv", "value": " gl.clearColor(0.0, 0.0, 0.0, 1.0); // Clear to black, fully opaque\n gl.clearDepth(1.0); // Clear everything\n\n // Clear the canvas before we start drawing on it.\n\n gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);\n\n // Tell WebGL to use our program when drawing\n \n\n gl.useProgram(programInfo.program);\ngl.uniform1fv(programInfo.uniformLocations.dataBuffer, buffers.data);\n\n {\n const offset = 0;\n const vertexCount = 3;\n gl.drawArrays(gl.TRIANGLE_STRIP, offset, vertexCount);\n }", "name": "", "ref": "@js.script" }, "tfz84l0": { "id": "tfz84l0", "ref": "@memory.cache" }, "5bt6mgs": { "id": "5bt6mgs", "ref": "@memory.cache" }, "njrst9d": { "id": "njrst9d", "value": "const valBuffer = gl.createBuffer();\ngl.bindBuffer(gl.ARRAY_BUFFER, valBuffer);\n\ngl.bufferData(gl.ARRAY_BUFFER, buffer.data, gl.STATIC_DRAW);\n\nreturn {\n val: valBuffer,\n data: buffer.data\n}", "name": "", "ref": "@js.script" } }, "edges": [ { "from": "8dy573e/8dy573e", "to": "out", "as": "display" }, { "from": "j219svq", "to": "out", "as": "subscribe" }, { "from": "04xuprq", "to": "out", "as": "args" }, { "from": "jidlrdv", "to": "gkv4bqi", "as": "value" }, { "from": "gkv4bqi", "to": "04xuprq", "as": "gl" }, { "from": "7i0o3pn", "to": "04xuprq", "as": "vtx" }, { "from": "5pjjo2a", "to": "04xuprq", "as": "frg" }, { "from": "ea0tgct", "to": "bu3m3jq", "as": "source" }, { "from": "hzz1ww4", "to": "bu3m3jq", "as": "shader_type" }, { "from": "rh45l5q", "to": "hzz1ww4", "as": "gl" }, { "from": "qjktjzv", "to": "bu3m3jq", "as": "gl" }, { "from": "l41589j", "to": "camgxqu", "as": "source" }, { "from": "5luq4y5", "to": "camgxqu", "as": "shader_type" }, { "from": "3j7l8wk", "to": "camgxqu", "as": "gl" }, { "from": "wrpwzyg", "to": "5luq4y5", "as": "gl" }, { "from": "2mgzzwp", "to": "out", "as": "value" }, { "from": "wyb1z00", "to": "2mgzzwp", "as": "args" }, { "from": "bkeent2", "to": "p2ibbe3", "as": "shaderProgram" }, { "from": "qbj2tl2", "to": "p2ibbe3", "as": "gl" }, { "from": "esayius", "to": "fbru2p5", "as": "gl" }, { "from": "01l4ilv", "to": "2mgzzwp", "as": "value" }, { "from": "8njh1mx", "to": "njrst9d", "as": "gl" }, { "from": "ca17ykm", "to": "01l4ilv", "as": "gl" }, { "from": "camgxqu", "to": "fbru2p5", "as": "fragmentShader" }, { "from": "bu3m3jq", "to": "fbru2p5", "as": "vertexShader" }, { "from": "ng2kjpd", "to": "njrst9d", "as": "buffer" }, { "from": "1lgkj23", "to": "wyb1z00", "as": "gl" }, { "from": "derz1cv", "to": "wyb1z00", "as": "vtx" }, { "from": "duubxl9", "to": "wyb1z00", "as": "frg" }, { "from": "njrst9d", "to": "01l4ilv", "as": "buffers" }, { "from": "4r5fc0b", "to": "wyb1z00", "as": "buffer" }, { "from": "tfz84l0", "to": "wyb1z00", "as": "shaderProgram" }, { "from": "fbru2p5", "to": "tfz84l0", "as": "value" }, { "from": "5bt6mgs", "to": "01l4ilv", "as": "programInfo" }, { "from": "p2ibbe3", "to": "5bt6mgs", "as": "value" } ], "out": "out" }, "@graphics.load_shader": { "id": "@graphics.load_shader", "category": "graphics", "description": "Loads the `source` shader program in webgl context `gl`", "name": "load_shader", "nodes": { "37nc07d": { "id": "37nc07d" }, "c0cr54c": { "id": "c0cr54c", "value": "const shader = gl.createShader(shader_type);\n\n // Send the source to the shader object\n\n gl.shaderSource(shader, source);\n\n // Compile the shader program\n\n gl.compileShader(shader);\n\n // See if it compiled successfully\n\n if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {\n alert('An error occurred compiling the shaders: ' + gl.getShaderInfoLog(shader));\n gl.deleteShader(shader);\n return null;\n }\n\n return shader;", "name": "", "ref": "@js.script" }, "l3qddzc": { "id": "l3qddzc", "value": "gl", "ref": "arg" }, "e5uhxrd": { "id": "e5uhxrd", "value": "source", "ref": "arg" }, "6o4os08": { "id": "6o4os08", "value": "shader_type", "ref": "arg" }, "bu3m3jq": { "id": "bu3m3jq", "name": "@graphics.load_shader", "ref": "return" } }, "edges": [ { "from": "37nc07d", "to": "bu3m3jq", "as": "args" }, { "from": "c0cr54c", "to": "bu3m3jq", "as": "value" }, { "from": "l3qddzc", "to": "c0cr54c", "as": "gl" }, { "from": "e5uhxrd", "to": "c0cr54c", "as": "source" }, { "from": "6o4os08", "to": "c0cr54c", "as": "shader_type" } ], "out": "bu3m3jq" }, "@event.subscribe_many": { "id": "@event.subscribe_many", "name": "subscribe_many", "nodes": { "ld37qq4": { "id": "ld37qq4", "name": "@event.subscribe_many", "ref": "return" }, "ndna6vl": { "id": "ndna6vl" }, "r0v26jn": { "id": "r0v26jn", "name": "", "ref": "@data.reduce" }, "0n8k0b7": { "id": "0n8k0b7", "value": "events", "ref": "arg" }, "kd528s8": { "id": "kd528s8", "name": "", "ref": "@flow.runnable" }, "rxoook3": { "id": "rxoook3", "ref": "@data.merge_objects" }, "daykk9b": { "id": "daykk9b" }, "6kwqo8l": { "id": "6kwqo8l", "value": "previous", "name": "", "ref": "arg" }, "bzkaiyo": { "id": "bzkaiyo", "name": "", "ref": "@data.set" }, "hsq8vrp": { "id": "hsq8vrp", "value": "base", "ref": "arg" }, "5mzlv42": { "id": "5mzlv42" }, "pkd8b0p": { "id": "pkd8b0p", "value": "current", "ref": "arg" }, "8zi1gzy": { "id": "8zi1gzy", "value": "runnable", "ref": "arg" }, "9716t7q": { "id": "9716t7q", "name": "", "ref": "sequence" }, "hi50l05": { "id": "hi50l05", "ref": "@data.get" }, "opox5xi": { "id": "opox5xi", "value": "base", "ref": "arg" }, "5szjf17": { "id": "5szjf17", "value": "current", "ref": "arg" }, "it3evdr": { "id": "it3evdr" }, "qd1bvw9": { "id": "qd1bvw9" }, "6barb7g": { "id": "6barb7g", "ref": "@memory.cache" }, "i7tgtne": { "id": "i7tgtne", "value": "evt_runnable", "ref": "arg" }, "7rpfcmk": { "id": "7rpfcmk", "ref": "@memory.cache" }, "xk6e7zh": { "id": "xk6e7zh" }, "pf10ku6": { "id": "pf10ku6", "ref": "@flow.runnable" }, "km7iwa0": { "id": "km7iwa0", "ref": "@data.set_mutable" }, "zyqw0ko": { "id": "zyqw0ko", "value": "datacache", "ref": "arg" }, "f0roa3q": { "id": "f0roa3q", "value": "current", "ref": "arg" }, "rat3zkt": { "id": "rat3zkt", "value": "data", "ref": "arg" }, "2mcffa6": { "id": "2mcffa6", "value": "base", "ref": "arg" } }, "edges": [ { "from": "ndna6vl", "to": "ld37qq4", "as": "args" }, { "from": "r0v26jn", "to": "ld37qq4", "as": "return" }, { "from": "0n8k0b7", "to": "r0v26jn", "as": "array" }, { "from": "kd528s8", "to": "r0v26jn", "as": "fn" }, { "from": "2mcffa6", "to": "r0v26jn", "as": "initial" }, { "from": "rxoook3", "to": "kd528s8", "as": "fn" }, { "from": "daykk9b", "to": "kd528s8", "as": "args" }, { "from": "hsq8vrp", "to": "daykk9b", "as": "base" }, { "from": "5mzlv42", "to": "bzkaiyo", "as": "target" }, { "from": "pkd8b0p", "to": "bzkaiyo", "as": "path" }, { "from": "opox5xi", "to": "hi50l05", "as": "target" }, { "from": "5szjf17", "to": "hi50l05", "as": "path" }, { "from": "9716t7q", "to": "bzkaiyo", "as": "value" }, { "from": "8zi1gzy", "to": "daykk9b", "as": "evt_runnable" }, { "from": "it3evdr", "to": "9716t7q", "as": "args" }, { "from": "6barb7g", "to": "it3evdr", "as": "data" }, { "from": "qd1bvw9", "to": "6barb7g", "as": "value" }, { "from": "xk6e7zh", "to": "7rpfcmk", "as": "value" }, { "from": "7rpfcmk", "to": "daykk9b", "as": "datacache" }, { "from": "hi50l05", "to": "9716t7q", "as": "arg2" }, { "from": "pf10ku6", "to": "9716t7q", "as": "arg0" }, { "from": "km7iwa0", "to": "pf10ku6", "as": "fn" }, { "from": "zyqw0ko", "to": "km7iwa0", "as": "target" }, { "from": "f0roa3q", "to": "km7iwa0", "as": "path" }, { "from": "rat3zkt", "to": "km7iwa0", "as": "value" }, { "from": "6kwqo8l", "to": "rxoook3", "as": "arg0" }, { "from": "bzkaiyo", "to": "rxoook3", "as": "arg1" }, { "from": "i7tgtne", "to": "9716t7q", "as": "arg1" } ], "out": "ld37qq4", "category": "event" }, // "@html.slider": , "@nodysseus.export": { "category": "nodysseus", "edges": { "args": { "as": "args", "from": "args", "to": "out" }, "jklqh38": { "as": "display", "from": "jklqh38", "to": "out" }, "6qkew20": { "as": "children", "from": "6qkew20", "to": "jklqh38" }, "3y8pyc2": { "as": "arg3", "from": "3y8pyc2", "to": "6qkew20" }, "8dy573e": { "as": "arg0", "from": "8dy573e", "to": "6qkew20" }, "pcx97n4": { "as": "arg2", "from": "pcx97n4", "to": "6qkew20" }, "rk7hcxc": { "as": "props", "from": "rk7hcxc", "to": "pcx97n4" }, "91lhfar": { "as": "onchange", "from": "91lhfar", "to": "rk7hcxc" }, "b8wohxv": { "as": "type", "from": "b8wohxv", "to": "rk7hcxc" }, "x200f4j": { "as": "list", "from": "x200f4j", "to": "rk7hcxc" }, "91lhfar_arr": { "as": "fn", "from": "91lhfar_arr", "to": "91lhfar" }, "zpv5bk2": { "as": "args", "from": "zpv5bk2", "to": "91lhfar" }, "6dadrg0": { "as": "event", "from": "6dadrg0", "to": "zpv5bk2" }, "898n6f7": { "as": "arg0", "from": "898n6f7", "to": "91lhfar_arr" }, "i5wnhvh": { "as": "arg1", "from": "i5wnhvh", "to": "91lhfar_arr" }, "mp0ce5t": { "as": "fn", "from": "mp0ce5t", "to": "i5wnhvh" }, "zucq3k4": { "as": "args", "from": "zucq3k4", "to": "i5wnhvh" }, "8470sfe": { "as": "value", "from": "8470sfe", "to": "zucq3k4" }, "hke54sp": { "as": "file", "from": "hke54sp", "to": "8470sfe" }, "syfso39": { "as": "json", "from": "syfso39", "to": "hke54sp" }, "5ym155p": { "as": "object", "from": "5ym155p", "to": "syfso39" }, "aem1lk9": { "as": "state", "from": "aem1lk9", "to": "5ym155p" }, "kaiwusy": { "as": "graphs", "from": "kaiwusy", "to": "5ym155p" }, "0pnyh3t": { "as": "array", "from": "0pnyh3t", "to": "db0reg4" }, "959i120": { "as": "fn", "from": "959i120", "to": "db0reg4" }, "i60dlmh": { "as": "parameters", "from": "i60dlmh", "to": "959i120" }, "x8ik3x4": { "as": "fn", "from": "x8ik3x4", "to": "959i120" }, "g7pa2bl": { "as": "element", "from": "g7pa2bl", "to": "i60dlmh" }, "l4o1umt": { "as": "value", "from": "l4o1umt", "to": "0pnyh3t" }, "refspromise": { "as": "refs", "from": "refspromise", "to": "l4o1umt" }, "w78q6vm": { "as": "namespace", "from": "w78q6vm", "to": "l4o1umt" }, "1axuplc": { "as": "value", "from": "1axuplc", "to": "w78q6vm" }, "47sbfib": { "as": "value", "from": "47sbfib", "to": "aem1lk9" }, "obg8j8v": { "as": "graphid", "from": "obg8j8v", "to": "47sbfib" }, "690ivn1": { "as": "args", "from": "690ivn1", "to": "898n6f7" }, "9jvfgj1": { "as": "fn", "from": "9jvfgj1", "to": "898n6f7" }, "j2c518b": { "as": "value", "from": "j2c518b", "to": "690ivn1" }, "qpiqhgp": { "as": "value", "from": "qpiqhgp", "to": "j2c518b" }, "n7aaoju": { "as": "children", "from": "n7aaoju", "to": "8dy573e" }, "zihm1kd": { "as": "props", "from": "zihm1kd", "to": "8dy573e" }, "2dz33fg": { "as": "target", "from": "2dz33fg", "to": "zihm1kd" }, "jdoak4g": { "as": "download", "from": "jdoak4g", "to": "zihm1kd" }, "pni2xuu": { "as": "href", "from": "pni2xuu", "to": "zihm1kd" }, "ug26ugw": { "as": "reference", "from": "ug26ugw", "to": "hrefread" }, "hrefread": { "as": "value", "from": "hrefread", "to": "pni2xuu" }, "nsrefread": { "as": "ns", "from": "nsrefread", "to": "jdoak4g" }, "jdufmth": { "as": "reference", "from": "jdufmth", "to": "nsrefread" }, "et5g0m1": { "as": "children", "from": "et5g0m1", "to": "3y8pyc2" }, "xdot36k": { "as": "props", "from": "xdot36k", "to": "3y8pyc2" }, "tfwqhqf": { "as": "id", "from": "tfwqhqf", "to": "xdot36k" }, "2yur4h7": { "as": "fn", "from": "2yur4h7", "to": "et5g0m1" }, "9tv13iq": { "as": "array", "from": "9tv13iq", "to": "et5g0m1" }, "1edrrwq": { "as": "fn", "from": "1edrrwq", "to": "2yur4h7" }, "6ag8lnc": { "as": "parameters", "from": "6ag8lnc", "to": "2yur4h7" }, "9rf8bds": { "as": "element", "from": "9rf8bds", "to": "6ag8lnc" }, "skqnl08": { "as": "children", "from": "skqnl08", "to": "1edrrwq" }, "xp4pv1h": { "as": "text", "from": "xp4pv1h", "to": "skqnl08" }, "dd6st1b": { "as": "element", "from": "dd6st1b", "to": "xp4pv1h" }, "3b7bnzm": { "as": "hrefstate", "from": "3b7bnzm", "to": "args" }, "tad7830": { "as": "namespace", "from": "tad7830", "to": "args" }, "a1vqjzz": { "from": "a1vqjzz", "to": "8zvzwb5", "as": "ref" }, "8zvzwb5": { "from": "8zvzwb5", "to": "x8ik3x4", "as": "graphs" }, "o7cn2a9": { "from": "o7cn2a9", "to": "kaiwusy", "as": "value" }, "db0reg4": { "from": "db0reg4", "to": "o7cn2a9", "as": "graphs" } }, "id": "@nodysseus.export", "nodes": { "out": { "id": "out", "name": "@nodysseus.export", "ref": "return" }, "jklqh38": { "id": "jklqh38", "ref": "@html.html_element" }, "6qkew20": { "id": "6qkew20", "ref": "@data.array" }, "pcx97n4": { "id": "pcx97n4", "ref": "@html.html_element", "value": "input" }, "rk7hcxc": { "id": "rk7hcxc" }, "x200f4j": { "id": "x200f4j", "value": "export-list" }, "b8wohxv": { "id": "b8wohxv", "value": "select" }, "91lhfar": { "id": "91lhfar", "ref": "@flow.ap" }, "zpv5bk2": { "id": "zpv5bk2" }, "6dadrg0": { "id": "6dadrg0", "ref": "arg", "value": "event" }, "91lhfar_arr": { "id": "91lhfar_arr", "ref": "@data.array" }, "i5wnhvh": { "id": "i5wnhvh", "ref": "@flow.ap" }, "zucq3k4": { "id": "zucq3k4" }, "8470sfe": { "id": "8470sfe", "ref": "@js.script", "value": "return URL.createObjectURL(file)" }, "hke54sp": { "id": "hke54sp", "ref": "@js.script", "value": "return new Blob([json], {type: \"application/json\"})" }, "syfso39": { "id": "syfso39", "ref": "@data.stringify" }, "5ym155p": { "id": "5ym155p" }, "kaiwusy": { "id": "kaiwusy", "ref": "@debug.log", "value": "mapout" }, "db0reg4": { "id": "db0reg4", "ref": "@data.map" }, "959i120": { "id": "959i120", "ref": "@flow.runnable" }, "x8ik3x4": { "id": "x8ik3x4", "value": "return graphs.map(ref => {const ret = {...ref}; delete ret['edges_in']; return ret;});", "ref": "@js.script" }, "8zvzwb5": { "id": "8zvzwb5", "value": "return _lib.runtime.graphExport(ref)", "ref": "@js.script" }, "a1vqjzz": { "id": "a1vqjzz", "ref": "arg", "value": "element" }, "i60dlmh": { "id": "i60dlmh" }, "g7pa2bl": { "id": "g7pa2bl" }, "0pnyh3t": { "id": "0pnyh3t", "ref": "@debug.log", "value": "mapin" }, "l4o1umt": { "id": "l4o1umt", "ref": "@js.script", "value": "return refs.filter(r => r.startsWith('@' + namespace + '.') || r === namespace)" }, "w78q6vm": { "id": "w78q6vm", "ref": "@debug.log", "value": "ns" }, "1axuplc": { "id": "1axuplc", "ref": "arg", "value": "event.target.value" }, "refspromise": { "id": "refspromise", "ref": "@js.script", "value": "return _lib.runtime.refs()" }, "aem1lk9": { "id": "aem1lk9", "ref": "@debug.log", "value": "state?" }, "47sbfib": { "id": "47sbfib", "ref": "extern", "value": "extern.graphState" }, "obg8j8v": { "id": "obg8j8v", "ref": "arg", "value": "event.target.value" }, "mp0ce5t": { "id": "mp0ce5t", "ref": "arg", "value": "hrefstate.set" }, "898n6f7": { "id": "898n6f7", "ref": "@flow.ap" }, "9jvfgj1": { "id": "9jvfgj1", "ref": "arg", "value": "namespace.set" }, "690ivn1": { "id": "690ivn1", "ref": "@debug.log", "value": "val" }, "j2c518b": { "id": "j2c518b" }, "qpiqhgp": { "id": "qpiqhgp", "ref": "arg", "value": "event.target.value" }, "8dy573e": { "id": "8dy573e", "ref": "@html.html_element", "value": "a" }, "zihm1kd": { "id": "zihm1kd" }, "pni2xuu": { "id": "pni2xuu", "ref": "@debug.log", "value": "href" }, "ug26ugw": { "id": "ug26ugw", "name": "", "ref": "arg", "value": "hrefstate" }, "jdoak4g": { "id": "jdoak4g", "ref": "@js.script", "value": "return ns + '.json';" }, "jdufmth": { "id": "jdufmth", "ref": "arg", "value": "namespace" }, "nsrefread": { "id": "nsrefread", "ref": "@memory.readReference", }, "hrefread": { "id": "hrefread", "ref": "@memory.readReference", }, "2dz33fg": { "id": "2dz33fg", "value": "_new" }, "n7aaoju": { "id": "n7aaoju", "ref": "@html.html_text", "value": "Export" }, "3y8pyc2": { "id": "3y8pyc2", "ref": "@html.html_element", "value": "datalist" }, "xdot36k": { "id": "xdot36k" }, "tfwqhqf": { "id": "tfwqhqf", "value": "export-list" }, "et5g0m1": { "id": "et5g0m1", "ref": "@data.map" }, "9tv13iq": { "id": "9tv13iq", "ref": "@js.script", "value": "return _lib.runtime.refs()" }, "2yur4h7": { "id": "2yur4h7", "ref": "@flow.runnable" }, "6ag8lnc": { "id": "6ag8lnc" }, "9rf8bds": { "id": "9rf8bds" }, "1edrrwq": { "id": "1edrrwq", "ref": "@html.html_element", "value": "option" }, "skqnl08": { "id": "skqnl08", "ref": "@html.html_text" }, "xp4pv1h": { "id": "xp4pv1h", "ref": "@js.script", "value": "return element" }, "dd6st1b": { "id": "dd6st1b", "ref": "arg", "value": "element" }, "args": { "id": "args", }, "tad7830": { "id": "tad7830", "ref": "@memory.state" }, "3b7bnzm": { "id": "3b7bnzm", "ref": "@memory.state" }, "o7cn2a9": { "id": "o7cn2a9", "value": "return Object.values(graphs.flat().reduce((acc, graph) => acc[graph.id] ? acc : {...acc, [graph.id]: graph}, {}));", "ref": "@js.script" } }, "out": "out" }, "@nodysseus.export_html": {"category":"nodysseus","edges":{"args":{"as":"args","from":"args","to":"out"},"jklqh38":{"as":"display","from":"jklqh38","to":"out"},"6qkew20":{"as":"children","from":"6qkew20","to":"jklqh38"},"3y8pyc2":{"as":"arg3","from":"3y8pyc2","to":"6qkew20"},"8dy573e":{"as":"arg0","from":"8dy573e","to":"6qkew20"},"pcx97n4":{"as":"arg2","from":"pcx97n4","to":"6qkew20"},"rk7hcxc":{"as":"props","from":"rk7hcxc","to":"pcx97n4"},"91lhfar":{"as":"onchange","from":"91lhfar","to":"rk7hcxc"},"b8wohxv":{"as":"type","from":"b8wohxv","to":"rk7hcxc"},"x200f4j":{"as":"list","from":"x200f4j","to":"rk7hcxc"},"91lhfar_arr":{"as":"fn","from":"91lhfar_arr","to":"91lhfar"},"zpv5bk2":{"as":"args","from":"zpv5bk2","to":"91lhfar"},"6dadrg0":{"as":"event","from":"6dadrg0","to":"zpv5bk2"},"898n6f7":{"as":"arg0","from":"898n6f7","to":"91lhfar_arr"},"i5wnhvh":{"as":"arg1","from":"i5wnhvh","to":"91lhfar_arr"},"mp0ce5t":{"as":"fn","from":"mp0ce5t","to":"i5wnhvh"},"zucq3k4":{"as":"args","from":"zucq3k4","to":"i5wnhvh"},"8470sfe":{"as":"value","from":"8470sfe","to":"zucq3k4"},"hke54sp":{"as":"file","from":"hke54sp","to":"8470sfe"},"4s3ayzq":{"as":"json","from":"4s3ayzq","to":"hke54sp"},"j7059cv":{"as":"graphId","from":"j7059cv","to":"4s3ayzq"},"syfso39":{"as":"json","from":"syfso39","to":"4s3ayzq"},"5ym155p":{"as":"object","from":"5ym155p","to":"syfso39"},"aem1lk9":{"as":"state","from":"aem1lk9","to":"5ym155p"},"kaiwusy":{"as":"graphs","from":"kaiwusy","to":"5ym155p"},"o7cn2a9":{"as":"value","from":"o7cn2a9","to":"kaiwusy"},"db0reg4":{"as":"graphs","from":"db0reg4","to":"o7cn2a9"},"0pnyh3t":{"as":"array","from":"0pnyh3t","to":"db0reg4"},"959i120":{"as":"fn","from":"959i120","to":"db0reg4"},"i60dlmh":{"as":"parameters","from":"i60dlmh","to":"959i120"},"x8ik3x4":{"as":"fn","from":"x8ik3x4","to":"959i120"},"8zvzwb5":{"as":"graphs","from":"8zvzwb5","to":"x8ik3x4"},"a1vqjzz":{"as":"ref","from":"a1vqjzz","to":"8zvzwb5"},"g7pa2bl":{"as":"element","from":"g7pa2bl","to":"i60dlmh"},"l4o1umt":{"as":"value","from":"l4o1umt","to":"0pnyh3t"},"refspromise":{"as":"refs","from":"refspromise","to":"l4o1umt"},"w78q6vm":{"as":"namespace","from":"w78q6vm","to":"l4o1umt"},"1axuplc":{"as":"value","from":"1axuplc","to":"w78q6vm"},"47sbfib":{"as":"value","from":"47sbfib","to":"aem1lk9"},"obg8j8v":{"as":"graphid","from":"obg8j8v","to":"47sbfib"},"690ivn1":{"as":"args","from":"690ivn1","to":"898n6f7"},"9jvfgj1":{"as":"fn","from":"9jvfgj1","to":"898n6f7"},"j2c518b":{"as":"value","from":"j2c518b","to":"690ivn1"},"qpiqhgp":{"as":"value","from":"qpiqhgp","to":"j2c518b"},"n7aaoju":{"as":"children","from":"n7aaoju","to":"8dy573e"},"zihm1kd":{"as":"props","from":"zihm1kd","to":"8dy573e"},"2dz33fg":{"as":"target","from":"2dz33fg","to":"zihm1kd"},"jdoak4g":{"as":"download","from":"jdoak4g","to":"zihm1kd"},"pni2xuu":{"as":"href","from":"pni2xuu","to":"zihm1kd"},"ug26ugw":{"as":"value","from":"ug26ugw","to":"pni2xuu"},"jdufmth":{"as":"ns","from":"jdufmth","to":"jdoak4g"},"et5g0m1":{"as":"children","from":"et5g0m1","to":"3y8pyc2"},"xdot36k":{"as":"props","from":"xdot36k","to":"3y8pyc2"},"tfwqhqf":{"as":"id","from":"tfwqhqf","to":"xdot36k"},"2yur4h7":{"as":"fn","from":"2yur4h7","to":"et5g0m1"},"9tv13iq":{"as":"array","from":"9tv13iq","to":"et5g0m1"},"1edrrwq":{"as":"fn","from":"1edrrwq","to":"2yur4h7"},"6ag8lnc":{"as":"parameters","from":"6ag8lnc","to":"2yur4h7"},"9rf8bds":{"as":"element","from":"9rf8bds","to":"6ag8lnc"},"skqnl08":{"as":"children","from":"skqnl08","to":"1edrrwq"},"xp4pv1h":{"as":"text","from":"xp4pv1h","to":"skqnl08"},"dd6st1b":{"as":"element","from":"dd6st1b","to":"xp4pv1h"},"3b7bnzm":{"as":"hrefstate","from":"3b7bnzm","to":"args"},"tad7830":{"as":"namespace","from":"tad7830","to":"args"}},"id":"@nodysseus.export_html","nodes":{"out":{"id":"out","name":"@nodysseus.export_html","ref":"return"},"jklqh38":{"id":"jklqh38","ref":"@html.html_element"},"6qkew20":{"id":"6qkew20","ref":"@data.array"},"pcx97n4":{"id":"pcx97n4","ref":"@html.html_element","value":"input"},"rk7hcxc":{"id":"rk7hcxc"},"x200f4j":{"id":"x200f4j","value":"export-list"},"b8wohxv":{"id":"b8wohxv","value":"select"},"91lhfar":{"id":"91lhfar","ref":"@flow.ap"},"zpv5bk2":{"id":"zpv5bk2"},"6dadrg0":{"id":"6dadrg0","ref":"arg","value":"event"},"91lhfar_arr":{"id":"91lhfar_arr","ref":"@data.array"},"i5wnhvh":{"id":"i5wnhvh","ref":"@flow.ap"},"zucq3k4":{"id":"zucq3k4"},"8470sfe":{"id":"8470sfe","ref":"@js.script","value":"return URL.createObjectURL(file)"},"hke54sp":{"id":"hke54sp","ref":"@js.script","value":"return new Blob([json], {type: \"application/html\"})"},"4s3ayzq":{"id":"4s3ayzq","value":"return `\n\n\n\n
\n