Created
June 18, 2025 09:40
-
-
Save eosfor/32346295832ee532fc0bcf1ce80d6f56 to your computer and use it in GitHub Desktop.
vegaTransformNotWorking
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"data": [ | |
{ | |
"name": "node-data", | |
"values": [ | |
{"name": "https://azazello.darkcity.dev", "group": 1, "index": 0}, | |
{ | |
"name": "https://azazello.darkcity.dev/system-account-report/index2", | |
"group": 1, | |
"index": 1 | |
}, | |
{ | |
"name": "https://azazello.darkcity.dev/system-account-report", | |
"group": 1, | |
"index": 2 | |
}, | |
{ | |
"name": "https://azazello.darkcity.dev/psrule-and-psquickgraph", | |
"group": 1, | |
"index": 3 | |
}, | |
{ | |
"name": "https://azazello.darkcity.dev/agentic-ai-infra-sim", | |
"group": 1, | |
"index": 4 | |
}, | |
{ | |
"name": "https://azazello.darkcity.dev/sankey-d3", | |
"group": 1, | |
"index": 5 | |
}, | |
{ | |
"name": "https://azazello.darkcity.dev/azure-networking-d3js", | |
"group": 1, | |
"index": 6 | |
}, | |
{ | |
"name": "https://azazello.darkcity.dev/no-caf-webapps", | |
"group": 1, | |
"index": 7 | |
}, | |
{ | |
"name": "https://azazello.darkcity.dev/aproach-to-optimizing-vm-costs", | |
"group": 1, | |
"index": 8 | |
}, | |
{ | |
"name": "https://azazello.darkcity.dev/aks-considerations", | |
"group": 1, | |
"index": 9 | |
}, | |
{ | |
"name": "https://azazello.darkcity.dev/observable-on-azure-static", | |
"group": 1, | |
"index": 10 | |
}, | |
{ | |
"name": "https://azazello.darkcity.dev/basicvis", | |
"group": 1, | |
"index": 11 | |
}, | |
{ | |
"name": "https://azazello.darkcity.dev/using-ipmgmt-more-samples", | |
"group": 1, | |
"index": 12 | |
}, | |
{ | |
"name": "https://azazello.darkcity.dev/ipmgmt-module", | |
"group": 1, | |
"index": 13 | |
}, | |
{ | |
"name": "https://azazello.darkcity.dev/powershell-graph-sysmon", | |
"group": 1, | |
"index": 14 | |
}, | |
{ | |
"name": "https://azazello.darkcity.dev/json-schema-code-generation", | |
"group": 1, | |
"index": 15 | |
}, | |
{ | |
"name": "https://azazello.darkcity.dev/nmap-smtp-user-enum", | |
"group": 1, | |
"index": 16 | |
}, | |
{ | |
"name": "https://azazello.darkcity.dev/how-to-deal-with-zscaler-and-azcli", | |
"group": 1, | |
"index": 17 | |
}, | |
{ | |
"name": "https://azazello.darkcity.dev/graphs-windows-firewall", | |
"group": 1, | |
"index": 18 | |
}, | |
{ | |
"name": "https://codespaces.new/eosfor/scripting-notes", | |
"group": 1, | |
"index": 19 | |
}, | |
{"name": "https://observablehq.com", "group": 1, "index": 20}, | |
{ | |
"name": "https://github.com/microsoft/PSRule", | |
"group": 1, | |
"index": 21 | |
}, | |
{ | |
"name": "https://github.com/Azure/PSRule.Rules.Azure", | |
"group": 1, | |
"index": 22 | |
}, | |
{ | |
"name": "https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Conventions", | |
"group": 1, | |
"index": 23 | |
}, | |
{"name": "https://github.com/codespaces/new", "group": 1, "index": 24}, | |
{ | |
"name": "https://github.com/eosfor/scripting-notes/blob/8d0af479302fd43f40b73627d16f72d8a12c7d79/notebooks/en/agentic-ai-infra-simulation/sim.ipynb", | |
"group": 1, | |
"index": 25 | |
}, | |
{ | |
"name": "https://azazello.darkcity.dev/index2", | |
"group": 1, | |
"index": 26 | |
}, | |
{"name": "https://vega.github.io", "group": 1, "index": 27}, | |
{ | |
"name": "https://docs.microsoft.com/en-us/azure/aks", | |
"group": 1, | |
"index": 28 | |
}, | |
{ | |
"name": "https://github.com/Azure/acs-engine", | |
"group": 1, | |
"index": 29 | |
}, | |
{"name": "https://www.docker.com", "group": 1, "index": 30}, | |
{ | |
"name": "https://kubernetes.io/docs/concepts/cluster-administration/networking", | |
"group": 1, | |
"index": 31 | |
}, | |
{"name": "https://www.youtube.com/watch", "group": 1, "index": 32}, | |
{ | |
"name": "https://github.com/Azure/azure-container-networking/blob/master/docs/cni.md", | |
"group": 1, | |
"index": 33 | |
}, | |
{ | |
"name": "https://docs.microsoft.com/en-us/azure/templates/microsoft.containerservice/managedclusters", | |
"group": 1, | |
"index": 34 | |
}, | |
{ | |
"name": "https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-forced-tunneling-rm", | |
"group": 1, | |
"index": 35 | |
}, | |
{ | |
"name": "https://github.com/Azure/acs-engine/blob/master/docs/clusterdefinition.md", | |
"group": 1, | |
"index": 36 | |
}, | |
{ | |
"name": "https://github.com/observablehq/framework", | |
"group": 1, | |
"index": 37 | |
}, | |
{ | |
"name": "https://github.com/observablehq/framework-codespace", | |
"group": 1, | |
"index": 38 | |
}, | |
{ | |
"name": "https://observablehq.com/framework/data-loaders", | |
"group": 1, | |
"index": 39 | |
}, | |
{"name": "https://github.com/microsoft/Oryx", "group": 1, "index": 40}, | |
{ | |
"name": "https://github.com/dotnet/interactive/pull/3671", | |
"group": 1, | |
"index": 41 | |
}, | |
{ | |
"name": "https://chromedevtools.github.io/devtools-protocol", | |
"group": 1, | |
"index": 42 | |
}, | |
{ | |
"name": "https://github.com/puppeteer/puppeteer", | |
"group": 1, | |
"index": 43 | |
}, | |
{ | |
"name": "https://github.com/microsoft/playwright", | |
"group": 1, | |
"index": 44 | |
}, | |
{ | |
"name": "https://github.com/BaristaLabs/chrome-dev-tools-generator", | |
"group": 1, | |
"index": 45 | |
}, | |
{ | |
"name": "https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/public/devtools_protocol/browser_protocol.pdl", | |
"group": 1, | |
"index": 46 | |
}, | |
{ | |
"name": "https://tonybaloney.github.io/CSnakes", | |
"group": 1, | |
"index": 47 | |
}, | |
{"name": "https://handlebarsjs.com", "group": 1, "index": 48}, | |
{"name": "https://vega.github.io/vega", "group": 1, "index": 49}, | |
{"name": "https://github.com/vega/schema", "group": 1, "index": 50}, | |
{"name": "https://quicktype.io", "group": 1, "index": 51}, | |
{ | |
"name": "https://github.com/eosfor/nmap/blob/smtp-enum/scripts/smtp-enum-users.nse", | |
"group": 1, | |
"index": 52 | |
}, | |
{ | |
"name": "https://learn.microsoft.com/en-us/cli/azure/use-cli-effectively", | |
"group": 1, | |
"index": 53 | |
}, | |
{ | |
"name": "https://technet.microsoft.com/en-us/library/cc947815(v=ws.10).aspx", | |
"group": 1, | |
"index": 54 | |
} | |
] | |
}, | |
{ | |
"name": "link-data", | |
"values": [ | |
{"source": 0, "target": 1, "value": 1}, | |
{"source": 0, "target": 2, "value": 1}, | |
{"source": 0, "target": 3, "value": 1}, | |
{"source": 0, "target": 4, "value": 1}, | |
{"source": 0, "target": 5, "value": 1}, | |
{"source": 0, "target": 6, "value": 1}, | |
{"source": 0, "target": 7, "value": 1}, | |
{"source": 0, "target": 8, "value": 1}, | |
{"source": 0, "target": 9, "value": 1}, | |
{"source": 0, "target": 10, "value": 1}, | |
{"source": 0, "target": 11, "value": 1}, | |
{"source": 0, "target": 12, "value": 1}, | |
{"source": 0, "target": 13, "value": 1}, | |
{"source": 0, "target": 14, "value": 1}, | |
{"source": 0, "target": 15, "value": 1}, | |
{"source": 0, "target": 16, "value": 1}, | |
{"source": 0, "target": 17, "value": 1}, | |
{"source": 0, "target": 18, "value": 1}, | |
{"source": 0, "target": 19, "value": 1}, | |
{"source": 0, "target": 20, "value": 1}, | |
{"source": 1, "target": 27, "value": 1}, | |
{"source": 2, "target": 26, "value": 1}, | |
{"source": 3, "target": 21, "value": 1}, | |
{"source": 3, "target": 22, "value": 1}, | |
{"source": 3, "target": 23, "value": 1}, | |
{"source": 3, "target": 24, "value": 1}, | |
{"source": 4, "target": 25, "value": 1}, | |
{"source": 9, "target": 28, "value": 1}, | |
{"source": 9, "target": 29, "value": 1}, | |
{"source": 9, "target": 30, "value": 1}, | |
{"source": 9, "target": 31, "value": 1}, | |
{"source": 9, "target": 32, "value": 1}, | |
{"source": 9, "target": 33, "value": 1}, | |
{"source": 9, "target": 34, "value": 1}, | |
{"source": 9, "target": 35, "value": 1}, | |
{"source": 9, "target": 36, "value": 1}, | |
{"source": 10, "target": 37, "value": 1}, | |
{"source": 10, "target": 38, "value": 1}, | |
{"source": 10, "target": 39, "value": 1}, | |
{"source": 10, "target": 40, "value": 1}, | |
{"source": 11, "target": 41, "value": 1}, | |
{"source": 15, "target": 42, "value": 1}, | |
{"source": 15, "target": 43, "value": 1}, | |
{"source": 15, "target": 44, "value": 1}, | |
{"source": 15, "target": 45, "value": 1}, | |
{"source": 15, "target": 46, "value": 1}, | |
{"source": 15, "target": 47, "value": 1}, | |
{"source": 15, "target": 48, "value": 1}, | |
{"source": 15, "target": 49, "value": 1}, | |
{"source": 15, "target": 50, "value": 1}, | |
{"source": 15, "target": 51, "value": 1}, | |
{"source": 16, "target": 52, "value": 1}, | |
{"source": 17, "target": 53, "value": 1}, | |
{"source": 18, "target": 54, "value": 1} | |
] | |
}, | |
{ | |
"name": "filtered-nodes", | |
"source": "link-data", | |
"transform": [{"type": "filter", "expr": "datum.source === hoverIndex"}] | |
} | |
], | |
"marks": [ | |
{ | |
"type": "text", | |
"encode": { | |
"enter": { | |
"fill": {"value": "black"}, | |
"fontSize": {"value": 14}, | |
"x": {"value": 10}, | |
"y": {"value": 20}, | |
"text": {"signal": "hoverIndex"} | |
}, | |
"update": {"text": {"signal": "hoverIndex"}} | |
} | |
}, | |
{ | |
"from": {"data": "node-data"}, | |
"type": "symbol", | |
"encode": { | |
"enter": { | |
"fill": {"scale": "color", "field": "group"}, | |
"stroke": {"value": "white"} | |
}, | |
"update": { | |
"cursor": {"value": "pointer"}, | |
"size": {"signal": "2 * nodeRadius * nodeRadius"} | |
} | |
}, | |
"name": "nodes", | |
"on": [ | |
{ | |
"modify": "node", | |
"trigger": "fix", | |
"values": "fix === true ? {fx: node.x, fy: node.y} : {fx: fix[0], fy: fix[1]}" | |
}, | |
{"modify": "node", "trigger": "!fix", "values": "{fx: null, fy: null}"} | |
], | |
"transform": [ | |
{ | |
"signal": "force", | |
"type": "force", | |
"forces": [ | |
{"force": "center", "x": {"signal": "cx"}, "y": {"signal": "cy"}}, | |
{"force": "collide", "radius": {"signal": "nodeRadius"}}, | |
{"force": "nbody", "strength": {"signal": "nodeCharge"}}, | |
{ | |
"force": "link", | |
"distance": {"signal": "linkDistance"}, | |
"links": "link-data" | |
} | |
], | |
"iterations": 300, | |
"restart": {"signal": "restart"}, | |
"static": {"signal": "static"} | |
} | |
], | |
"zindex": 1 | |
}, | |
{ | |
"name": "linkpaths", | |
"from": {"data": "link-data"}, | |
"type": "path", | |
"encode": { | |
"update": {"stroke": {"value": "#ccc"}, "strokeWidth": {"value": 0.5}} | |
}, | |
"interactive": false, | |
"transform": [ | |
{ | |
"type": "linkpath", | |
"require": {"signal": "force"}, | |
"shape": "line", | |
"sourceX": "datum.source.x", | |
"sourceY": "datum.source.y", | |
"targetX": "datum.target.x", | |
"targetY": "datum.target.y" | |
} | |
] | |
} | |
], | |
"scales": [ | |
{ | |
"domain": {"data": "node-data", "field": "group"}, | |
"name": "color", | |
"type": "ordinal", | |
"range": {"scheme": "category20c"} | |
} | |
], | |
"signals": [ | |
{ | |
"name": "hoverIndex", | |
"value": -1, | |
"on": [ | |
{"events": "symbol:mouseover", "update": "datum.index"}, | |
{"events": "symbol:mouseout", "update": "-1"} | |
] | |
}, | |
{ | |
"name": "hoverNode", | |
"value": null, | |
"on": [ | |
{"events": "symbol:mouseover", "update": "datum"}, | |
{"events": "symbol:mouseout", "update": "null"} | |
] | |
}, | |
{"name": "cx", "update": "width / 2"}, | |
{"name": "cy", "update": "height / 2"}, | |
{ | |
"name": "nodeRadius", | |
"bind": {"input": "range", "max": 50, "min": 1, "step": 1}, | |
"value": 8 | |
}, | |
{ | |
"name": "nodeCharge", | |
"bind": {"input": "range", "max": 10, "min": -100, "step": 1}, | |
"value": -30 | |
}, | |
{ | |
"name": "linkDistance", | |
"bind": {"input": "range", "max": 100, "min": 5, "step": 1}, | |
"value": 30 | |
}, | |
{"name": "static", "bind": {"input": "checkbox"}, "value": true}, | |
{ | |
"description": "State variable for active node fix status.", | |
"name": "fix", | |
"on": [ | |
{ | |
"events": "symbol:pointerout[!event.buttons], window:pointerup", | |
"update": "false" | |
}, | |
{"events": "symbol:pointerover", "update": "fix || true"}, | |
{ | |
"events": "[symbol:pointerdown, window:pointerup] > window:pointermove!", | |
"force": true, | |
"update": "xy()" | |
} | |
], | |
"value": false | |
}, | |
{ | |
"description": "Graph node most recently interacted with.", | |
"name": "node", | |
"on": [ | |
{ | |
"events": "symbol:pointerover", | |
"update": "fix === true ? item() : node" | |
} | |
] | |
}, | |
{ | |
"description": "Flag to restart Force simulation upon data changes.", | |
"name": "restart", | |
"on": [{"events": {"signal": "fix"}, "update": "fix && fix.length"}], | |
"value": false | |
} | |
], | |
"$schema": "https://vega.github.io/schema/vega/v5.json", | |
"autosize": "none", | |
"description": "A node-link diagram with force-directed layout, depicting character co-occurrence in the novel Les Misérables.", | |
"height": 500, | |
"padding": 0, | |
"width": 700 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment