2-SAT Implication Graph
author(s): Paweł Fus
by nim_a101
HTML
<link rel="stylesheet" href="style.css">
<script type="text/javascript" src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script>
<script type="text/javascript" src="script.js" defer></script>
<script src="https://use.fontawesome.com/c3ef28c600.js"></script>
<button id="genGraph"><span class="fa fa-play fa-large"></span></button>
<!-- Div to display the graph -->
<div id="network"></div>
CSS
#network {
width: 88%;
height: 800px;
border: 3px solid lightgray;
margin-top: 10px;
}
h3 {
text-align: center;
}
#satInput {
width: 40%;
padding: 8px;
margin-bottom: 10px;
}
button {
padding: 8px 12px;
font-size: 13px;
}
JavaScript
// Hardcoded DOT content from pydeps (replace this with your real deps.dot)
const DOT_SOURCE = `
digraph G {
concentrate = true;
rankdir = TB;
node [style=filled,fillcolor="#ffffff",fontcolor="#000000",fontname=Helvetica,fontsize=10];
discord_modules_ads [fillcolor="#f91010",fontcolor="#ffffff",label="discord\.\nmodules\.\nads"];
discord_modules_ads_conftest [fillcolor="#a13535",fontcolor="#ffffff",label="discord\.\nmodules\.\nads\.\nconftest"];
discord_modules_ads_definition [fillcolor="#9f5656",fontcolor="#ffffff",label="discord\.\nmodules\.\nads\.\ndefinition"];
discord_modules_ads_lib [fillcolor="blue",fontcolor="white",label="discord\.\nmodules\.\nads\.\nlib",shape="box"];
discord_modules_ads_models [fillcolor="blue",fontcolor="white",label="discord\.\nmodules\.\nads\.\nmodels",shape="box"];
discord_modules_ads_response_models [fillcolor="blue",fontcolor="white",label="discord\.\nmodules\.\nads\.\nresponse_models",shape="box"];
discord_modules_ads_scripts [fillcolor="#9f5656",fontcolor="#ffffff",label="discord\.\nmodules\.\nads\.\nscripts"];
discord_modules_ads_views [fillcolor="#822b2b",fontcolor="#ffffff",label="discord\.\nmodules\.\nads\.\nviews"];
discord_modules_quests [fillcolor="#f91010",fontcolor="#ffffff",label="discord\.\nmodules\.\nquests"];
discord_modules_quests_conftest [fillcolor="#8b4b4b",fontcolor="#ffffff",label="discord\.\nmodules\.\nquests\.\nconftest"];
discord_modules_quests_definition [fillcolor="#9f5656",fontcolor="#ffffff",label="discord\.\nmodules\.\nquests\.\ndefinition"];
discord_modules_quests_lib [fillcolor="blue",fontcolor="white",label="discord\.\nmodules\.\nquests\.\nlib",shape="box"];
discord_modules_quests_models [fillcolor="blue",fontcolor="white",label="discord\.\nmodules\.\nquests\.\nmodels",shape="box"];
discord_modules_quests_response_models...