fix: D2 module renderer missing direct module-to-module edges from project deps
This commit is contained in:
@@ -117,6 +117,14 @@ fn render_module(graph: &CodeGraph) -> String {
|
|||||||
if rel.kind() == RelationshipKind::Import {
|
if rel.kind() == RelationshipKind::Import {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
// Direct module-to-module edge (from merged project deps)
|
||||||
|
if modules.contains(rel.source())
|
||||||
|
&& modules.contains(rel.target())
|
||||||
|
&& rel.source() != rel.target()
|
||||||
|
{
|
||||||
|
edges.insert((rel.source().to_string(), rel.target().to_string()));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
let src_mod = name_to_module.get(rel.source());
|
let src_mod = name_to_module.get(rel.source());
|
||||||
let tgt_mod = name_to_module.get(rel.target());
|
let tgt_mod = name_to_module.get(rel.target());
|
||||||
if let (Some(s), Some(t)) = (src_mod, tgt_mod)
|
if let (Some(s), Some(t)) = (src_mod, tgt_mod)
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
|
Presentation: Presentation
|
||||||
|
Application: Application
|
||||||
Adapters: Adapters
|
Adapters: Adapters
|
||||||
Domain: Domain
|
Domain: Domain
|
||||||
Application: Application
|
Adapters -> Domain
|
||||||
Presentation: Presentation
|
|
||||||
Application -> Domain
|
Application -> Domain
|
||||||
Adapters -> Domain
|
Presentation -> Adapters
|
||||||
|
Presentation -> Domain
|
||||||
|
Presentation -> Application
|
||||||
95
docs/arch/d2/module.svg
Normal file
95
docs/arch/d2/module.svg
Normal file
@@ -0,0 +1,95 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" data-d2-version="0.7.1" preserveAspectRatio="xMinYMin meet" viewBox="0 0 695 434"><svg class="d2-2851621290 d2-svg" width="695" height="434" viewBox="-101 -101 695 434"><rect x="-101.000000" y="-101.000000" width="695.000000" height="434.000000" rx="0.000000" fill="#FFFFFF" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
|
||||||
|
.d2-2851621290 .text-bold {
|
||||||
|
font-family: "d2-2851621290-font-bold";
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: d2-2851621290-font-bold;
|
||||||
|
src: url("data:application/font-woff;base64,d09GRgABAAAAAAp4AAoAAAAAEIgAAguFAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAAA9AAAAGAAAABgXxHXrmNtYXAAAAFUAAAAbQAAAIYCFAJFZ2x5ZgAAAcQAAAR7AAAFuJ1AmSJoZWFkAAAGQAAAADYAAAA2G38e1GhoZWEAAAZ4AAAAJAAAACQKfwXSaG10eAAABpwAAABMAAAATCPwAzFsb2NhAAAG6AAAACgAAAAoDjYPtm1heHAAAAcQAAAAIAAAACAAKwD3bmFtZQAABzAAAAMoAAAIKgjwVkFwb3N0AAAKWAAAAB0AAAAg/9EAMgADAioCvAAFAAACigJYAAAASwKKAlgAAAFeADIBKQAAAgsHAwMEAwICBGAAAvcAAAADAAAAAAAAAABBREJPACAAIP//Au7/BgAAA9gBESAAAZ8AAAAAAfAClAAAACAAA3icXMxNCgEBAIbhZ378DyY3Ug7gCpLFlIVk5SykOIK93OxTFhbe5bt4UKgUaNTOWGhVSksraxs7nYNTwu9tdfaOSd555ZlH7rnlmstX+q9QqtR6+gaGRsYmGlMzcy0fAAAA//8BAAD//+VVGEoAAAB4nGRUS2zTdhj//v8m9hoMxXFsx2ne/8ZO0sVt4tgmtMUNTR9A0qdoYRTCqmljK7QI0rXjsgubtNEJjXKYxrRdNmk77IB2YUjsyia4gcQJiUnTztVU7YDSZHLc8tAO9nfy7/X9PoMbJgHwAr4JbdAOHeAFHkBjY2xCUxRCm5ppErHNVBBLT2Jv44fvlZQrlXKlo19FrlSrqHIG39w+f6qysPBvta+v8e2vdxtfoMt3AXDzOQAewuvQDiwAR2uKLCuEoto4jSMKof/ef61jb+deFyM9f3j74TfJ+0l0tL8/u6TlLzQ+wevbtVu3AAAwVABwGa+Dx1Gm5QSB91EUUbScYeh5WSakcuedG1OT189mggdmVHXmQBCvl65fvHhjdDU5Pz5+MvECpxevAwO+13AIz2o5PW/DPBtbGRmpDU+NrQ32l/C6Mj9RXuh5iqbPaWlHS7q5hR6jOkhAAMS4rOcNU5ZJnKIVw9ByAs8S26OZM0ydonif8Ftp8uoGJqnIYJfes3iw+u6axxUZfUNKcOP9EWbOGj/REVP8/NuhrqVLjb+0ILkkcnOe7pBfBAAEXc0tdA/VIQDgjss2nc0i0jYl7xO0nGGKFIWk4eXi2IcldTQ4TKK6ZfX6Ve5gYpYZWJmeqQ2ExWqoXBys8B1no52OD6W5her4HnAQ3fXRAlZ07RUH8g7NP/PLfdV86oBEbax5XIER7Fe8XLePGD3MtY+mVg4F/eWftoeyAbLmkx549w2NHhkG3NL+J6qDHyKvqbdTp2OCoOVs7W1a3mZBkdFLh4fO942e7nHhxhPPSFY3svKZr39R3owbzKHa9FTNshZLXKLd0GInA2F0MKX3AECzCSYAPMWPsGz3DGjwwuet7IrNLeTF96DDcchq7IvAfi/3bbDtbpryMgnm1DFMtp+IXoQuuGn7O4C2EKpDrNUSUXOS2V0va8ulX8yivc+RrF7kYkezk8c2QtFEr/3qQZuDkUx3Mp5dPN14iGJGsrdxe2c4HBhQfaeJOxy76JQDG63kpo5shKLBpB9tWuHMLpAkNm6Dky+mUR06oPN/+VJKzj4NZ31IsJZLpWXLWiqVlqyMqmbUTGanGwO1memVgdXKYLFsV8TGLTbHsIDqwEEYQHypzr6VuKyIPGdjkzjNC4KtM3REeetcf9WI9gfcE7Ix2532Je/gH7MB8tnl42tWpzTxJeoaKX+aeeDdB453dB3VwftavrT80nlnWeaDHv9eaX9wwIc253JZt/tjlyuVazwDBHxzC32H6qC09qqYdpNa/wFFxXr+JRjvE8Qw5n3Uo+x78uG4FYmFQ2og3Jd8/3hhLnI4kA8UCnJ0IHWOkSPzUqfIsQLnYboKqeFZxX/CJyh+ad8eUlCHTkOrT2xzCy3hGoittHWd6Kap8RpPXjlEmJ8oldkrq6skxEgekTOZD2b/uEBdvXr5fjpBuRYpxsEqAsBjtAltrQzY4gbabOwH1PwZF2AGP4I9AGzrKp3gE6qaSKgqLqQJSdsP/AcAAP//AQAA//9ELCvFAAABAAAAAguF5qpWxV8PPPUAAQPoAAAAANhdoIQAAAAA3WYvNv43/sQIbQPxAAEAAwACAAAAAAAAAAEAAAPY/u8AAAiY/jf+NwhtAAEAAAAAAAAAAAAAAAAAAAATArIAUAI9//oCewBNAlQATQIPACoB0wAkAj0AJwIGACQBFAA3AR4AQQNZAEECPABBAisAJAI9AEEBjgBBAbsAFQF/ABEBFABBAAD/rQAAACwAUAB0AJYAzgD6ASwBYAFsAYgBugHcAggCOAJYApQCugLGAtwAAQAAABMAkAAMAGMABwABAAAAAAAAAAAAAAAAAAQAA3icnJTPbhtVFMZ/TmzTCsECRVW6ie6CRZHo2FRJ1TYrh9SKRRQHjwtCQkgTz/iPMp4ZeSYO4QlY8xa8RVc8BM+BWKP5fOzYBdEmipJ8d+75851zvnOBHf5mm0r1IfBHPTFcYa9+bniLB/UTw9u061uGqzyp/Wm4RlibG67zea1n+CPeVn8z/ID96k+GH7JbbRv+mGfVHcOfbDv+Mvwp+7xd4Aq84FfDFXbJDG+xw4+Gt3mExaxUeUTTcI3P2DNcZw/oM6EgZkLCCMeQCSOumBGR4xMxY8KQiBBHhxYxhb4mBEKO0X9+DfApmBEo4pgCR4xPTEDO2CL+Iq+Uc2Uc6jSzuxYFYwIu5HFJQIIjZURKQsSl4hQUZLyiQYOcgfhmFOR45EyI8UiZMaJBlzan9BkzIcfRVqSSmU/KkIJrAuV3ZlF2ZkBEQm6srkgIxdOJXyTvDqc4umSyXY98uhHhSxzfybvklsr2Kzz9ujVmm3mXbALm6mesrsS6udYEx7ot87b4VrjgFe5e/dlk8v4ehfpfKPIFV5p/qEklYpLg3C4tfCnId49xHOncwVdHvqdDnxO6vKGvc4sePVqc0afDa/l26eH4mi5nHMujI7y4a0sxZ/yA4xs6siljR9afxcQifiYzdefiOFMdUzL1vGTuqdZIFd59wuUOpRvqyOUz0B6Vlk7zS7RnASNTRSaGU/VyqY3c+heaIqaqpZzt7X25DXPbveUW35Bqh0u1LjiVk1swet9UvXc0c60fj4CQlAtZDEiZ0qDgRrzPCbgixnGs7p1oSwpaK58yz41UEjEVgw6J4szI9Dcw3fjGfbChe2dvSSj/kunlqqr7ZHHq1e2M3qh7yzvfuhytTaBhU03X1DQQ18S0H2mn1vn78s31uqU85YiUmPBfL8AzPJrsc8AhY2UY6GZur0NTL0STlxyq+ksiWQ2l58giHODxnAMOeMnzd/q4ZOKMi1txWc/d4pgjuhx+UBUL+y5HvF59+/+sv4tpU7U4nq5OL+49xSd3UOsX2rPb97KniZWTmFu02604I2BacnG76zW5x3j/AAAA//8BAAD///S3T1F4nGJgZgCD/+cYjBiwAAAAAAD//wEAAP//LwECAwAAAA==");
|
||||||
|
}]]></style><style type="text/css"><![CDATA[.shape {
|
||||||
|
shape-rendering: geometricPrecision;
|
||||||
|
stroke-linejoin: round;
|
||||||
|
}
|
||||||
|
.connection {
|
||||||
|
stroke-linecap: round;
|
||||||
|
stroke-linejoin: round;
|
||||||
|
}
|
||||||
|
.blend {
|
||||||
|
mix-blend-mode: multiply;
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.d2-2851621290 .fill-N1{fill:#0A0F25;}
|
||||||
|
.d2-2851621290 .fill-N2{fill:#676C7E;}
|
||||||
|
.d2-2851621290 .fill-N3{fill:#9499AB;}
|
||||||
|
.d2-2851621290 .fill-N4{fill:#CFD2DD;}
|
||||||
|
.d2-2851621290 .fill-N5{fill:#DEE1EB;}
|
||||||
|
.d2-2851621290 .fill-N6{fill:#EEF1F8;}
|
||||||
|
.d2-2851621290 .fill-N7{fill:#FFFFFF;}
|
||||||
|
.d2-2851621290 .fill-B1{fill:#0D32B2;}
|
||||||
|
.d2-2851621290 .fill-B2{fill:#0D32B2;}
|
||||||
|
.d2-2851621290 .fill-B3{fill:#E3E9FD;}
|
||||||
|
.d2-2851621290 .fill-B4{fill:#E3E9FD;}
|
||||||
|
.d2-2851621290 .fill-B5{fill:#EDF0FD;}
|
||||||
|
.d2-2851621290 .fill-B6{fill:#F7F8FE;}
|
||||||
|
.d2-2851621290 .fill-AA2{fill:#4A6FF3;}
|
||||||
|
.d2-2851621290 .fill-AA4{fill:#EDF0FD;}
|
||||||
|
.d2-2851621290 .fill-AA5{fill:#F7F8FE;}
|
||||||
|
.d2-2851621290 .fill-AB4{fill:#EDF0FD;}
|
||||||
|
.d2-2851621290 .fill-AB5{fill:#F7F8FE;}
|
||||||
|
.d2-2851621290 .stroke-N1{stroke:#0A0F25;}
|
||||||
|
.d2-2851621290 .stroke-N2{stroke:#676C7E;}
|
||||||
|
.d2-2851621290 .stroke-N3{stroke:#9499AB;}
|
||||||
|
.d2-2851621290 .stroke-N4{stroke:#CFD2DD;}
|
||||||
|
.d2-2851621290 .stroke-N5{stroke:#DEE1EB;}
|
||||||
|
.d2-2851621290 .stroke-N6{stroke:#EEF1F8;}
|
||||||
|
.d2-2851621290 .stroke-N7{stroke:#FFFFFF;}
|
||||||
|
.d2-2851621290 .stroke-B1{stroke:#0D32B2;}
|
||||||
|
.d2-2851621290 .stroke-B2{stroke:#0D32B2;}
|
||||||
|
.d2-2851621290 .stroke-B3{stroke:#E3E9FD;}
|
||||||
|
.d2-2851621290 .stroke-B4{stroke:#E3E9FD;}
|
||||||
|
.d2-2851621290 .stroke-B5{stroke:#EDF0FD;}
|
||||||
|
.d2-2851621290 .stroke-B6{stroke:#F7F8FE;}
|
||||||
|
.d2-2851621290 .stroke-AA2{stroke:#4A6FF3;}
|
||||||
|
.d2-2851621290 .stroke-AA4{stroke:#EDF0FD;}
|
||||||
|
.d2-2851621290 .stroke-AA5{stroke:#F7F8FE;}
|
||||||
|
.d2-2851621290 .stroke-AB4{stroke:#EDF0FD;}
|
||||||
|
.d2-2851621290 .stroke-AB5{stroke:#F7F8FE;}
|
||||||
|
.d2-2851621290 .background-color-N1{background-color:#0A0F25;}
|
||||||
|
.d2-2851621290 .background-color-N2{background-color:#676C7E;}
|
||||||
|
.d2-2851621290 .background-color-N3{background-color:#9499AB;}
|
||||||
|
.d2-2851621290 .background-color-N4{background-color:#CFD2DD;}
|
||||||
|
.d2-2851621290 .background-color-N5{background-color:#DEE1EB;}
|
||||||
|
.d2-2851621290 .background-color-N6{background-color:#EEF1F8;}
|
||||||
|
.d2-2851621290 .background-color-N7{background-color:#FFFFFF;}
|
||||||
|
.d2-2851621290 .background-color-B1{background-color:#0D32B2;}
|
||||||
|
.d2-2851621290 .background-color-B2{background-color:#0D32B2;}
|
||||||
|
.d2-2851621290 .background-color-B3{background-color:#E3E9FD;}
|
||||||
|
.d2-2851621290 .background-color-B4{background-color:#E3E9FD;}
|
||||||
|
.d2-2851621290 .background-color-B5{background-color:#EDF0FD;}
|
||||||
|
.d2-2851621290 .background-color-B6{background-color:#F7F8FE;}
|
||||||
|
.d2-2851621290 .background-color-AA2{background-color:#4A6FF3;}
|
||||||
|
.d2-2851621290 .background-color-AA4{background-color:#EDF0FD;}
|
||||||
|
.d2-2851621290 .background-color-AA5{background-color:#F7F8FE;}
|
||||||
|
.d2-2851621290 .background-color-AB4{background-color:#EDF0FD;}
|
||||||
|
.d2-2851621290 .background-color-AB5{background-color:#F7F8FE;}
|
||||||
|
.d2-2851621290 .color-N1{color:#0A0F25;}
|
||||||
|
.d2-2851621290 .color-N2{color:#676C7E;}
|
||||||
|
.d2-2851621290 .color-N3{color:#9499AB;}
|
||||||
|
.d2-2851621290 .color-N4{color:#CFD2DD;}
|
||||||
|
.d2-2851621290 .color-N5{color:#DEE1EB;}
|
||||||
|
.d2-2851621290 .color-N6{color:#EEF1F8;}
|
||||||
|
.d2-2851621290 .color-N7{color:#FFFFFF;}
|
||||||
|
.d2-2851621290 .color-B1{color:#0D32B2;}
|
||||||
|
.d2-2851621290 .color-B2{color:#0D32B2;}
|
||||||
|
.d2-2851621290 .color-B3{color:#E3E9FD;}
|
||||||
|
.d2-2851621290 .color-B4{color:#E3E9FD;}
|
||||||
|
.d2-2851621290 .color-B5{color:#EDF0FD;}
|
||||||
|
.d2-2851621290 .color-B6{color:#F7F8FE;}
|
||||||
|
.d2-2851621290 .color-AA2{color:#4A6FF3;}
|
||||||
|
.d2-2851621290 .color-AA4{color:#EDF0FD;}
|
||||||
|
.d2-2851621290 .color-AA5{color:#F7F8FE;}
|
||||||
|
.d2-2851621290 .color-AB4{color:#EDF0FD;}
|
||||||
|
.d2-2851621290 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-2851621290);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-2851621290);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-2851621290);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-2851621290);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-2851621290);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-2851621290);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-2851621290);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-2851621290);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-2851621290);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-2851621290);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-2851621290);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-2851621290);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-2851621290);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-2851621290);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-2851621290);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-2851621290);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-2851621290);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-2851621290);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g class="QWRhcHRlcnM="><g class="shape" ><rect x="187.000000" y="0.000000" width="110.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="242.000000" y="38.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Adapters</text></g><g class="RG9tYWlu"><g class="shape" ><rect x="103.000000" y="166.000000" width="99.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="152.500000" y="204.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Domain</text></g><g class="QXBwbGljYXRpb24="><g class="shape" ><rect x="0.000000" y="0.000000" width="127.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="63.500000" y="38.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Application</text></g><g class="UHJlc2VudGF0aW9u"><g class="shape" ><rect x="357.000000" y="0.000000" width="136.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="425.000000" y="38.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Presentation</text></g><g class="KEFwcGxpY2F0aW9uIC0mZ3Q7IERvbWFpbilbMF0="><marker id="mk-d2-2851621290-3488378134" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" fill="#0D32B2" class="connection fill-B1" stroke-width="2" /> </marker><path d="M 63.500000 68.000000 C 63.500000 106.000000 74.300003 126.000000 114.564957 163.282368" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2851621290-3488378134)" mask="url(#d2-2851621290)" /></g><g class="KEFkYXB0ZXJzIC0mZ3Q7IERvbWFpbilbMF0="><path d="M 242.000000 68.000000 C 242.000000 106.000000 231.199997 126.000000 190.935043 163.282368" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-2851621290-3488378134)" mask="url(#d2-2851621290)" /></g><mask id="d2-2851621290" maskUnits="userSpaceOnUse" x="-101" y="-101" width="695" height="434">
|
||||||
|
<rect x="-101" y="-101" width="695" height="434" fill="white"></rect>
|
||||||
|
|
||||||
|
</mask></svg></svg>
|
||||||
|
After Width: | Height: | Size: 12 KiB |
@@ -15,19 +15,19 @@ archlens_domain: archlens-domain
|
|||||||
archlens_application: archlens-application
|
archlens_application: archlens-application
|
||||||
archlens: archlens
|
archlens: archlens
|
||||||
archlens_application -> archlens_domain
|
archlens_application -> archlens_domain
|
||||||
archlens -> archlens_domain
|
archlens -> archlens_walkdir
|
||||||
archlens -> archlens_file_writer
|
|
||||||
archlens -> archlens_mermaid
|
archlens -> archlens_mermaid
|
||||||
archlens -> archlens_html
|
archlens -> archlens_html
|
||||||
archlens -> archlens_python_project
|
archlens -> archlens_domain
|
||||||
archlens -> archlens_walkdir
|
|
||||||
archlens -> archlens_ascii
|
|
||||||
archlens -> archlens_toml_config
|
|
||||||
archlens -> archlens_stdout_writer
|
|
||||||
archlens -> archlens_application
|
|
||||||
archlens -> archlens_d2
|
archlens -> archlens_d2
|
||||||
|
archlens -> archlens_file_writer
|
||||||
|
archlens -> archlens_toml_config
|
||||||
|
archlens -> archlens_application
|
||||||
archlens -> archlens_tree_sitter
|
archlens -> archlens_tree_sitter
|
||||||
|
archlens -> archlens_python_project
|
||||||
archlens -> archlens_cargo_workspace
|
archlens -> archlens_cargo_workspace
|
||||||
|
archlens -> archlens_stdout_writer
|
||||||
|
archlens -> archlens_ascii
|
||||||
archlens_tree_sitter -> archlens_domain
|
archlens_tree_sitter -> archlens_domain
|
||||||
archlens_walkdir -> archlens_domain
|
archlens_walkdir -> archlens_domain
|
||||||
archlens_mermaid -> archlens_domain
|
archlens_mermaid -> archlens_domain
|
||||||
|
|||||||
102
docs/arch/d2/project.svg
Normal file
102
docs/arch/d2/project.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 33 KiB |
109
docs/arch/d2/type.svg
Normal file
109
docs/arch/d2/type.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 179 KiB |
Reference in New Issue
Block a user