Repository navigation
Expand file tree
/
Copy pathecosystem.html
More file actions
190 lines (180 loc) · 78.1 KB
/
Copy pathecosystem.html
File metadata and controls
190 lines (180 loc) · 78.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Offscale Ecosystem - ML Translation, Rapid Deployment, and c-multiplatform. Automating the API lifecycle.">
<title>Offscale - High-Performance Ecosystem</title>
<link rel="stylesheet" href="styles.css">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/gh/devicons/devicon@latest/devicon.min.css" />
<noscript>
<style>
#theme-toggle { display: none !important; }
</style>
</noscript>
</head>
<body>
<a href="#main-content" class="skip-link sr-only focusable">Skip to main content</a>
<header class="header">
<div class="container">
<a href="index.html" class="text-inherit no-underline"><h1 class="logo">Offscale</h1></a>
<nav class="main-nav align-center" aria-label="Main Navigation" >
<a href="index.html">SDKs & Docs</a>
<a href="ecosystem.html" class="active opacity-1">Ecosystem</a>
<button type="button" popovertarget="consulting-popover" id="consulting-link" class="nav-consulting-btn" aria-label="Consulting (Closed)">Consulting</button>
<a href="https://github.com/SamuelMarks/cdd-ctl" target="_blank" rel="noopener" aria-label="cdd-ctl on GitHub" class="nav-icon-link">
<svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" class="icon-24">
<path d="M12 2C6.477 2 2 6.477 2 12c0 4.42 2.865 8.166 6.839 9.489.5.092.682-.217.682-.482 0-.237-.008-.866-.013-1.7-2.782.603-3.369-1.34-3.369-1.34-.454-1.156-1.11-1.462-1.11-1.462-.908-.62.069-.608.069-.608 1.003.07 1.531 1.03 1.531 1.03.892 1.529 2.341 1.087 2.91.831.092-.646.35-1.086.636-1.336-2.22-.253-4.555-1.11-4.555-4.943 0-1.091.39-1.984 1.029-2.683-.103-.253-.446-1.27.098-2.647 0 0 .84-.269 2.75 1.025A9.578 9.578 0 0112 6.836c.85.004 1.705.114 2.504.336 1.909-1.294 2.747-1.025 2.747-1.025.546 1.377.203 2.394.1 2.647.64.699 1.028 1.592 1.028 2.683 0 3.842-2.339 4.687-4.566 4.935.359.309.678.919.678 1.852 0 1.336-.012 2.415-.012 2.743 0 .267.18.578.688.48C19.138 20.161 22 16.418 22 12c0-5.523-4.477-10-10-10z"/>
</svg>
</a>
<button type="button" id="theme-toggle" class="theme-toggle theme-toggle-btn" aria-label="Toggle theme">
<span class="light-icon" aria-hidden="true">☀️</span>
<span class="dark-icon" aria-hidden="true">🌙</span>
</button>
</nav>
</div>
</header>
<main id="main-content">
<section class="hero">
<div class="container">
<h2 class="hero-title">
<span class="static-text m-ie-8">Rapid Application</span>
<span id="rotating-text-container" class="rotating-text-wrapper">
<span class="rotating-text" aria-hidden="true">
<span class="word">Development</span>
<span class="word">Deployment</span>
<span class="word">Documentation</span>
<span class="word">Devices</span>
<span class="word">Deep-learning</span>
<span class="word">Dependability</span>
<span class="word">Development</span>
</span>
<span class="sr-only">Development, Deployment, Documentation, Devices, Deep-learning, Dependability.</span>
</span>
</h2>
<p class="hero-subtitle">New compilers to ‘solve’ software</p>
</div>
</section>
<section class="features" aria-label="Key Features">
<div class="container features-grid">
<!-- Column 1 -->
<article class="feature-card">
<div class="lang-icons lang-icons-container" aria-hidden="true">
<i class="devicon-c-plain" title="C" role="img" aria-label="C"></i>
<i class="devicon-cplusplus-plain" title="C++" role="img" aria-label="C++"></i>
<i class="devicon-csharp-plain" title="C#" role="img" aria-label="C#"></i>
<i class="devicon-go-plain" title="Go" role="img" aria-label="Go"></i>
<i class="devicon-java-plain" title="Java" role="img" aria-label="Java"></i>
<i class="devicon-kotlin-plain" title="Kotlin" role="img" aria-label="Kotlin"></i>
<i class="devicon-php-plain" title="PHP" role="img" aria-label="PHP"></i>
<i class="devicon-python-plain" title="Python" role="img" aria-label="Python"></i>
<i class="devicon-ruby-plain" title="Ruby" role="img" aria-label="Ruby"></i>
<i class="devicon-rust-plain" title="Rust" role="img" aria-label="Rust"></i>
<i class="devicon-bash-plain" title="Shell" role="img" aria-label="Shell"></i>
<i class="devicon-swift-plain" title="Swift" role="img" aria-label="Swift"></i>
<i class="devicon-typescript-plain" title="TypeScript" role="img" aria-label="TypeScript"></i>
</div>
<h3>OpenAPI ↔ Language</h3>
<p><a href="https://github.com/SamuelMarks?tab=repositories&q=cdd-&type=&language=&sort=" target="_blank" rel="noopener" class="link-primary">13 new bidirectional compilers</a> (C, C++, C#, Go, Java, Kotlin, PHP, Python, Ruby, Rust, Shell, Swift, TS). Includes code to AND from OpenAPI 3.2.0 for: servers, clients, CLIs, and auto-admin UIs.</p>
</article>
<!-- Column 2 -->
<article class="feature-card" >
<div class="card-diagram" aria-hidden="true">
<svg id="svg-rapid-deploy" width="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="flowchart inline-svg svg-996" viewBox="0 0 996.8125 168"><style>#svg-rapid-deploy{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:14px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#svg-rapid-deploy .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#svg-rapid-deploy .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#svg-rapid-deploy .error-icon{fill:hsl(206.4, 100%, 100%);}#svg-rapid-deploy .error-text{fill:#000000;stroke:#000000;}#svg-rapid-deploy .edge-thickness-normal{stroke-width:1px;}#svg-rapid-deploy .edge-thickness-thick{stroke-width:3.5px;}#svg-rapid-deploy .edge-pattern-solid{stroke-dasharray:0;}#svg-rapid-deploy .edge-thickness-invisible{stroke-width:0;fill:none;}#svg-rapid-deploy .edge-pattern-dashed{stroke-dasharray:3;}#svg-rapid-deploy .edge-pattern-dotted{stroke-dasharray:2;}#svg-rapid-deploy .marker{fill:#ff6a00;stroke:#ff6a00;}#svg-rapid-deploy .marker.cross{stroke:#ff6a00;}#svg-rapid-deploy svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:14px;}#svg-rapid-deploy p{margin:0;}#svg-rapid-deploy .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#svg-rapid-deploy .cluster-label text{fill:#000000;}#svg-rapid-deploy .cluster-label span{color:#000000;}#svg-rapid-deploy .cluster-label span p{}#svg-rapid-deploy .label text,#svg-rapid-deploy span{fill:#333;color:#333;}#svg-rapid-deploy .node rect,#svg-rapid-deploy .node circle,#svg-rapid-deploy .node ellipse,#svg-rapid-deploy .node polygon,#svg-rapid-deploy .node path{fill:#fff1e6;stroke:#ff6a00;stroke-width:1px;}#svg-rapid-deploy .rough-node .label text,#svg-rapid-deploy .node .label text,#svg-rapid-deploy .image-shape .label,#svg-rapid-deploy .icon-shape .label{text-anchor:middle;}#svg-rapid-deploy .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#svg-rapid-deploy .rough-node .label,#svg-rapid-deploy .node .label,#svg-rapid-deploy .image-shape .label,#svg-rapid-deploy .icon-shape .label{text-align:center;}#svg-rapid-deploy .node.clickable{cursor:pointer;}#svg-rapid-deploy .root .anchor path{fill:#ff6a00!important;stroke-width:0;stroke:#ff6a00;}#svg-rapid-deploy .arrowheadPath{fill:#0b0b0b;}#svg-rapid-deploy .edgePath .path{stroke:#ff6a00;stroke-width:2.0px;}#svg-rapid-deploy .flowchart-link{stroke:#ff6a00;fill:none;}#svg-rapid-deploy .edgeLabel{background-color:hsl(-93.6, 100%, 95.0980392157%);text-align:center;}#svg-rapid-deploy .edgeLabel p{background-color:hsl(-93.6, 100%, 95.0980392157%);}#svg-rapid-deploy .edgeLabel rect{opacity:0.5;background-color:hsl(-93.6, 100%, 95.0980392157%);fill:hsl(-93.6, 100%, 95.0980392157%);}#svg-rapid-deploy .labelBkg{background-color:rgba(241, 230.0000000001, 255, 0.5);}#svg-rapid-deploy .cluster rect{fill:hsl(206.4, 100%, 100%);stroke:hsl(206.4, 60%, 90%);stroke-width:1px;}#svg-rapid-deploy .cluster text{fill:#000000;}#svg-rapid-deploy .cluster span{color:#000000;}#svg-rapid-deploy div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(206.4, 100%, 100%);border:1px solid hsl(206.4, 60%, 90%);border-radius:2px;pointer-events:none;z-index:100;}#svg-rapid-deploy .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#svg-rapid-deploy rect.text{fill:none;stroke-width:0;}#svg-rapid-deploy .icon-shape,#svg-rapid-deploy .image-shape{background-color:hsl(-93.6, 100%, 95.0980392157%);text-align:center;}#svg-rapid-deploy .icon-shape p,#svg-rapid-deploy .image-shape p{background-color:hsl(-93.6, 100%, 95.0980392157%);padding:2px;}#svg-rapid-deploy .icon-shape .label rect,#svg-rapid-deploy .image-shape .label rect{opacity:0.5;background-color:hsl(-93.6, 100%, 95.0980392157%);fill:hsl(-93.6, 100%, 95.0980392157%);}#svg-rapid-deploy .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#svg-rapid-deploy .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#svg-rapid-deploy :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}
#svg-rapid-deploy .mindmap-node span { color: #333 !important; }
#svg-rapid-deploy .mindmap-node p { color: #333 !important; }
#svg-rapid-deploy .node span { color: #333 !important; }
#svg-rapid-deploy .node p { color: #333 !important; }
</style><g><marker id="svg-rapid-deploy_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="svg-rapid-deploy_flowchart-v2-pointStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="svg-rapid-deploy_flowchart-v2-circleEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="svg-rapid-deploy_flowchart-v2-circleStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="svg-rapid-deploy_flowchart-v2-crossEnd" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"/></marker><marker id="svg-rapid-deploy_flowchart-v2-crossStart" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"/></marker><g class="root"><g class="clusters"/><g class="edgePaths"><path d="M99.328,84L103.495,84C107.661,84,115.995,84,123.661,84C131.328,84,138.328,84,141.828,84L145.328,84" id="svg-rapid-deploy_L_C_L_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_C_L_0" data-points="W3sieCI6OTkuMzI4MTI1LCJ5Ijo4NH0seyJ4IjoxMjQuMzI4MTI1LCJ5Ijo4NH0seyJ4IjoxNDkuMzI4MTI1LCJ5Ijo4NH1d" marker-end="url(#svg-rapid-deploy_flowchart-v2-pointEnd)"/><path d="M207.519,62.261L213.04,57.467C218.56,52.674,229.6,43.087,238.857,38.293C248.115,33.5,255.589,33.5,259.326,33.5L263.063,33.5" id="svg-rapid-deploy_L_L_N_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_L_N_0" data-points="W3sieCI6MjA3LjUxOTMxODEwMzY1ODQzLCJ5Ijo2Mi4yNjA4OTg0MTE4Njg4OH0seyJ4IjoyNDAuNjQwNjI1LCJ5IjozMy41fSx7IngiOjI2Ny4wNjI1LCJ5IjozMy41fV0=" marker-end="url(#svg-rapid-deploy_flowchart-v2-pointEnd)"/><path d="M207.519,105.739L213.04,110.533C218.56,115.326,229.6,124.913,238.62,129.707C247.641,134.5,254.641,134.5,258.141,134.5L261.641,134.5" id="svg-rapid-deploy_L_L_D_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_L_D_0" data-points="W3sieCI6MjA3LjUxOTMxODEwMzY1ODQzLCJ5IjoxMDUuNzM5MTAxNTg4MTMxMTJ9LHsieCI6MjQwLjY0MDYyNSwieSI6MTM0LjV9LHsieCI6MjY1LjY0MDYyNSwieSI6MTM0LjV9XQ==" marker-end="url(#svg-rapid-deploy_flowchart-v2-pointEnd)"/><path d="M367.391,33.5L371.794,33.5C376.198,33.5,385.005,33.5,396.192,35.71C407.38,37.92,420.947,42.341,427.731,44.551L434.514,46.761" id="svg-rapid-deploy_L_N_OS_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_N_OS_0" data-points="W3sieCI6MzY3LjM5MDYyNSwieSI6MzMuNX0seyJ4IjozOTMuODEyNSwieSI6MzMuNX0seyJ4Ijo0MzguMzE3NDUwNDk1MDQ5NSwieSI6NDh9XQ==" marker-end="url(#svg-rapid-deploy_flowchart-v2-pointEnd)"/><path d="M368.813,134.5L372.979,134.5C377.146,134.5,385.479,134.5,396.429,132.29C407.38,130.08,420.947,125.659,427.731,123.449L434.514,121.239" id="svg-rapid-deploy_L_D_OS_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_D_OS_0" data-points="W3sieCI6MzY4LjgxMjUsInkiOjEzNC41fSx7IngiOjM5My44MTI1LCJ5IjoxMzQuNX0seyJ4Ijo0MzguMzE3NDUwNDk1MDQ5NSwieSI6MTIwfV0=" marker-end="url(#svg-rapid-deploy_flowchart-v2-pointEnd)"/><path d="M678.813,84L682.979,84C687.146,84,695.479,84,703.146,84C710.813,84,717.813,84,721.313,84L724.813,84" id="svg-rapid-deploy_L_OS_Pkg_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_OS_Pkg_0" data-points="W3sieCI6Njc4LjgxMjUsInkiOjg0fSx7IngiOjcwMy44MTI1LCJ5Ijo4NH0seyJ4Ijo3MjguODEyNSwieSI6ODR9XQ==" marker-end="url(#svg-rapid-deploy_flowchart-v2-pointEnd)"/></g><g class="edgeLabels"><g class="edgeLabel"><g class="label" data-id="L_C_L_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_L_N_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_L_D_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_N_OS_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_D_OS_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_OS_Pkg_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g></g><g class="nodes"><g class="node default" id="svg-rapid-deploy_flowchart-C-0" transform="translate(53.6640625, 84)"><rect class="basic label-container" x="-45.6640625" y="-25.5" width="91.328125" height="51"/><g class="label" transform="translate(-15.6640625, -10.5)"><rect/><foreignObject width="31.328125" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel" ><p>Code</p></span></div></foreignObject></g></g><g class="node default" id="svg-rapid-deploy_flowchart-L-1" transform="translate(182.484375, 84)"><circle class="basic label-container" r="33.15625" cx="0" cy="0"/><g class="label" transform="translate(-25.65625, -10.5)"><rect/><foreignObject width="51.3125" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel" ><p>libscript</p></span></div></foreignObject></g></g><g class="node default" id="svg-rapid-deploy_flowchart-N-3" transform="translate(317.2265625, 33.5)"><rect class="basic label-container" x="-50.1640625" y="-25.5" width="100.328125" height="51"/><g class="label" transform="translate(-20.1640625, -10.5)"><rect/><foreignObject width="40.328125" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel" ><p>Native</p></span></div></foreignObject></g></g><g class="node default" id="svg-rapid-deploy_flowchart-D-5" transform="translate(317.2265625, 134.5)"><rect class="basic label-container" x="-51.5859375" y="-25.5" width="103.171875" height="51"/><g class="label" transform="translate(-21.5859375, -10.5)"><rect/><foreignObject width="43.171875" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel" ><p>Docker</p></span></div></foreignObject></g></g><g class="node default" id="svg-rapid-deploy_flowchart-OS-8" transform="translate(548.8125, 84)"><rect class="basic label-container" x="-130" y="-36" width="260" height="72"/><g class="label" transform="translate(-100, -21)"><rect/><foreignObject width="200" height="42"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;"><span class="nodeLabel" ><p>SunOS, Linux, macOS, Windows, DOS</p></span></div></foreignObject></g></g><g class="node default" id="svg-rapid-deploy_flowchart-Pkg-10" transform="translate(858.8125, 84)"><rect class="basic label-container" x="-130" y="-36" width="260" height="72"/><g class="label" transform="translate(-100, -21)"><rect/><foreignObject width="200" height="42"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;"><span class="nodeLabel" ><p>.msi, .exe, .deb, .pkg, .rpm, etc.</p></span></div></foreignObject></g></g></g></g></g></svg>
</div>
<h3><a href="https://github.com/SamuelMarks/libscript" target="_blank" rel="noopener" class="text-inherit no-underline">Rapid Deployment</a></h3>
<p>Deploy databases, servers, and whole stacks. Natively (DOS, SunOS, Windows, Linux, macOS) or with Docker. Instantly export to <code>.msi</code>, <code>.exe</code>, <code>.deb</code>, <code>.pkg</code>, <code>.rpm</code>, or even <code>.Dockerfile</code></p>
</article>
<!-- Column 3 -->
<article class="feature-card" >
<div class="card-diagram" aria-hidden="true">
<svg id="svg-sdk-cli-docs" width="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="flowchart inline-svg svg-483" viewBox="0 0 483.953125 269"><style>#svg-sdk-cli-docs{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:14px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#svg-sdk-cli-docs .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#svg-sdk-cli-docs .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#svg-sdk-cli-docs .error-icon{fill:hsl(206.4, 100%, 100%);}#svg-sdk-cli-docs .error-text{fill:#000000;stroke:#000000;}#svg-sdk-cli-docs .edge-thickness-normal{stroke-width:1px;}#svg-sdk-cli-docs .edge-thickness-thick{stroke-width:3.5px;}#svg-sdk-cli-docs .edge-pattern-solid{stroke-dasharray:0;}#svg-sdk-cli-docs .edge-thickness-invisible{stroke-width:0;fill:none;}#svg-sdk-cli-docs .edge-pattern-dashed{stroke-dasharray:3;}#svg-sdk-cli-docs .edge-pattern-dotted{stroke-dasharray:2;}#svg-sdk-cli-docs .marker{fill:#ff6a00;stroke:#ff6a00;}#svg-sdk-cli-docs .marker.cross{stroke:#ff6a00;}#svg-sdk-cli-docs svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:14px;}#svg-sdk-cli-docs p{margin:0;}#svg-sdk-cli-docs .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#svg-sdk-cli-docs .cluster-label text{fill:#000000;}#svg-sdk-cli-docs .cluster-label span{color:#000000;}#svg-sdk-cli-docs .cluster-label span p{}#svg-sdk-cli-docs .label text,#svg-sdk-cli-docs span{fill:#333;color:#333;}#svg-sdk-cli-docs .node rect,#svg-sdk-cli-docs .node circle,#svg-sdk-cli-docs .node ellipse,#svg-sdk-cli-docs .node polygon,#svg-sdk-cli-docs .node path{fill:#fff1e6;stroke:#ff6a00;stroke-width:1px;}#svg-sdk-cli-docs .rough-node .label text,#svg-sdk-cli-docs .node .label text,#svg-sdk-cli-docs .image-shape .label,#svg-sdk-cli-docs .icon-shape .label{text-anchor:middle;}#svg-sdk-cli-docs .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#svg-sdk-cli-docs .rough-node .label,#svg-sdk-cli-docs .node .label,#svg-sdk-cli-docs .image-shape .label,#svg-sdk-cli-docs .icon-shape .label{text-align:center;}#svg-sdk-cli-docs .node.clickable{cursor:pointer;}#svg-sdk-cli-docs .root .anchor path{fill:#ff6a00!important;stroke-width:0;stroke:#ff6a00;}#svg-sdk-cli-docs .arrowheadPath{fill:#0b0b0b;}#svg-sdk-cli-docs .edgePath .path{stroke:#ff6a00;stroke-width:2.0px;}#svg-sdk-cli-docs .flowchart-link{stroke:#ff6a00;fill:none;}#svg-sdk-cli-docs .edgeLabel{background-color:hsl(-93.6, 100%, 95.0980392157%);text-align:center;}#svg-sdk-cli-docs .edgeLabel p{background-color:hsl(-93.6, 100%, 95.0980392157%);}#svg-sdk-cli-docs .edgeLabel rect{opacity:0.5;background-color:hsl(-93.6, 100%, 95.0980392157%);fill:hsl(-93.6, 100%, 95.0980392157%);}#svg-sdk-cli-docs .labelBkg{background-color:rgba(241, 230.0000000001, 255, 0.5);}#svg-sdk-cli-docs .cluster rect{fill:hsl(206.4, 100%, 100%);stroke:hsl(206.4, 60%, 90%);stroke-width:1px;}#svg-sdk-cli-docs .cluster text{fill:#000000;}#svg-sdk-cli-docs .cluster span{color:#000000;}#svg-sdk-cli-docs div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(206.4, 100%, 100%);border:1px solid hsl(206.4, 60%, 90%);border-radius:2px;pointer-events:none;z-index:100;}#svg-sdk-cli-docs .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#svg-sdk-cli-docs rect.text{fill:none;stroke-width:0;}#svg-sdk-cli-docs .icon-shape,#svg-sdk-cli-docs .image-shape{background-color:hsl(-93.6, 100%, 95.0980392157%);text-align:center;}#svg-sdk-cli-docs .icon-shape p,#svg-sdk-cli-docs .image-shape p{background-color:hsl(-93.6, 100%, 95.0980392157%);padding:2px;}#svg-sdk-cli-docs .icon-shape .label rect,#svg-sdk-cli-docs .image-shape .label rect{opacity:0.5;background-color:hsl(-93.6, 100%, 95.0980392157%);fill:hsl(-93.6, 100%, 95.0980392157%);}#svg-sdk-cli-docs .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#svg-sdk-cli-docs .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#svg-sdk-cli-docs :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}
#svg-sdk-cli-docs .mindmap-node span { color: #333 !important; }
#svg-sdk-cli-docs .mindmap-node p { color: #333 !important; }
#svg-sdk-cli-docs .node span { color: #333 !important; }
#svg-sdk-cli-docs .node p { color: #333 !important; }
</style><g><marker id="svg-sdk-cli-docs_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="svg-sdk-cli-docs_flowchart-v2-pointStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="svg-sdk-cli-docs_flowchart-v2-circleEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="svg-sdk-cli-docs_flowchart-v2-circleStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="svg-sdk-cli-docs_flowchart-v2-crossEnd" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"/></marker><marker id="svg-sdk-cli-docs_flowchart-v2-crossStart" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"/></marker><g class="root"><g class="clusters"/><g class="edgePaths"><path d="M145.453,134.5L152.391,134.5C159.328,134.5,173.203,134.5,186.411,134.5C199.62,134.5,212.161,134.5,218.432,134.5L224.703,134.5" id="svg-sdk-cli-docs_L_C_G_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_C_G_0" data-points="W3sieCI6MTQ1LjQ1MzEyNSwieSI6MTM0LjV9LHsieCI6MTg3LjA3ODEyNSwieSI6MTM0LjV9LHsieCI6MjI4LjcwMzEyNSwieSI6MTM0LjV9XQ==" marker-end="url(#svg-sdk-cli-docs_flowchart-v2-pointEnd)"/><path d="M294.243,99.38L301.546,88.4C308.849,77.42,323.456,55.46,336.246,44.48C349.036,33.5,360.01,33.5,365.497,33.5L370.984,33.5" id="svg-sdk-cli-docs_L_G_S_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_G_S_0" data-points="W3sieCI6Mjk0LjI0Mjg5MjgyNjc4MzgsInkiOjk5LjM3OTczOTY4MzE0MjA5fSx7IngiOjMzOC4wNjI1LCJ5IjozMy41fSx7IngiOjM3NC45ODQzNzUsInkiOjMzLjV9XQ==" marker-end="url(#svg-sdk-cli-docs_flowchart-v2-pointEnd)"/><path d="M313.063,134.5L317.229,134.5C321.396,134.5,329.729,134.5,339.717,134.5C349.706,134.5,361.349,134.5,367.171,134.5L372.992,134.5" id="svg-sdk-cli-docs_L_G_CL_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_G_CL_0" data-points="W3sieCI6MzEzLjA2MjUsInkiOjEzNC41fSx7IngiOjMzOC4wNjI1LCJ5IjoxMzQuNX0seyJ4IjozNzYuOTkyMTg3NSwieSI6MTM0LjV9XQ==" marker-end="url(#svg-sdk-cli-docs_flowchart-v2-pointEnd)"/><path d="M294.243,169.62L301.546,180.6C308.849,191.58,323.456,213.54,334.259,224.52C345.063,235.5,352.063,235.5,355.563,235.5L359.063,235.5" id="svg-sdk-cli-docs_L_G_D_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_G_D_0" data-points="W3sieCI6Mjk0LjI0Mjg5MjgyNjc4MzgsInkiOjE2OS42MjAyNjAzMTY4NTc5Mn0seyJ4IjozMzguMDYyNSwieSI6MjM1LjV9LHsieCI6MzYzLjA2MjUsInkiOjIzNS41fV0=" marker-end="url(#svg-sdk-cli-docs_flowchart-v2-pointEnd)"/></g><g class="edgeLabels"><g class="edgeLabel" transform="translate(187.078125, 134.5)"><g class="label" data-id="L_C_G_0" transform="translate(-16.625, -10.5)"><foreignObject width="33.25" height="21"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>Parse</p></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_G_S_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_G_CL_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_G_D_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g></g><g class="nodes"><g class="node default" id="svg-sdk-cli-docs_flowchart-C-0" transform="translate(76.7265625, 134.5)"><rect class="basic label-container" x="-68.7265625" y="-25.5" width="137.453125" height="51"/><g class="label" transform="translate(-38.7265625, -10.5)"><rect/><foreignObject width="77.453125" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel" ><p>Source Code</p></span></div></foreignObject></g></g><g class="node default" id="svg-sdk-cli-docs_flowchart-G-1" transform="translate(270.8828125, 134.5)"><circle class="basic label-container" r="42.1796875" cx="0" cy="0"/><g class="label" transform="translate(-34.6796875, -10.5)"><rect/><foreignObject width="69.359375" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel" ><p>Generators</p></span></div></foreignObject></g></g><g class="node default" id="svg-sdk-cli-docs_flowchart-S-3" transform="translate(419.5078125, 33.5)"><rect class="basic label-container" x="-44.5234375" y="-25.5" width="89.046875" height="51"/><g class="label" transform="translate(-14.5234375, -10.5)"><rect/><foreignObject width="29.046875" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel" ><p>SDKs</p></span></div></foreignObject></g></g><g class="node default" id="svg-sdk-cli-docs_flowchart-CL-5" transform="translate(419.5078125, 134.5)"><rect class="basic label-container" x="-42.515625" y="-25.5" width="85.03125" height="51"/><g class="label" transform="translate(-12.515625, -10.5)"><rect/><foreignObject width="25.03125" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel" ><p>CLIs</p></span></div></foreignObject></g></g><g class="node default" id="svg-sdk-cli-docs_flowchart-D-7" transform="translate(419.5078125, 235.5)"><rect class="basic label-container" x="-56.4453125" y="-25.5" width="112.890625" height="51"/><g class="label" transform="translate(-26.4453125, -10.5)"><rect/><foreignObject width="52.890625" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel" ><p>API Docs</p></span></div></foreignObject></g></g></g></g></g></svg>
</div>
<h3>SDKs, CLIs & API Docs</h3>
<p>Automatically generate static HTML docs with beautiful sample API calls and deploy SDKs natively to language package managers (PyPI, Crates.io, npm, etc.), alongside powerful CLIs.</p>
</article>
</div>
<!-- Row 2 -->
<div class="container features-grid">
<!-- Column 4 (Row 2, Col 1) -->
<article class="feature-card" >
<div class="card-diagram" aria-hidden="true">
<svg id="svg-ml-translation" width="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="flowchart inline-svg svg-480" viewBox="0 0 480.953125 564"><style>#svg-ml-translation{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#svg-ml-translation .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#svg-ml-translation .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#svg-ml-translation .error-icon{fill:hsl(206.4, 100%, 100%);}#svg-ml-translation .error-text{fill:#000000;stroke:#000000;}#svg-ml-translation .edge-thickness-normal{stroke-width:1px;}#svg-ml-translation .edge-thickness-thick{stroke-width:3.5px;}#svg-ml-translation .edge-pattern-solid{stroke-dasharray:0;}#svg-ml-translation .edge-thickness-invisible{stroke-width:0;fill:none;}#svg-ml-translation .edge-pattern-dashed{stroke-dasharray:3;}#svg-ml-translation .edge-pattern-dotted{stroke-dasharray:2;}#svg-ml-translation .marker{fill:#ff6a00;stroke:#ff6a00;}#svg-ml-translation .marker.cross{stroke:#ff6a00;}#svg-ml-translation svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;}#svg-ml-translation p{margin:0;}#svg-ml-translation .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#svg-ml-translation .cluster-label text{fill:#000000;}#svg-ml-translation .cluster-label span{color:#000000;}#svg-ml-translation .cluster-label span p{}#svg-ml-translation .label text,#svg-ml-translation span{fill:#333;color:#333;}#svg-ml-translation .node rect,#svg-ml-translation .node circle,#svg-ml-translation .node ellipse,#svg-ml-translation .node polygon,#svg-ml-translation .node path{fill:#fff1e6;stroke:#ff6a00;stroke-width:1px;}#svg-ml-translation .rough-node .label text,#svg-ml-translation .node .label text,#svg-ml-translation .image-shape .label,#svg-ml-translation .icon-shape .label{text-anchor:middle;}#svg-ml-translation .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#svg-ml-translation .rough-node .label,#svg-ml-translation .node .label,#svg-ml-translation .image-shape .label,#svg-ml-translation .icon-shape .label{text-align:center;}#svg-ml-translation .node.clickable{cursor:pointer;}#svg-ml-translation .root .anchor path{fill:#ff6a00!important;stroke-width:0;stroke:#ff6a00;}#svg-ml-translation .arrowheadPath{fill:#0b0b0b;}#svg-ml-translation .edgePath .path{stroke:#ff6a00;stroke-width:2.0px;}#svg-ml-translation .flowchart-link{stroke:#ff6a00;fill:none;}#svg-ml-translation .edgeLabel{background-color:hsl(-93.6, 100%, 95.0980392157%);text-align:center;}#svg-ml-translation .edgeLabel p{background-color:hsl(-93.6, 100%, 95.0980392157%);}#svg-ml-translation .edgeLabel rect{opacity:0.5;background-color:hsl(-93.6, 100%, 95.0980392157%);fill:hsl(-93.6, 100%, 95.0980392157%);}#svg-ml-translation .labelBkg{background-color:rgba(241, 230.0000000001, 255, 0.5);}#svg-ml-translation .cluster rect{fill:hsl(206.4, 100%, 100%);stroke:hsl(206.4, 60%, 90%);stroke-width:1px;}#svg-ml-translation .cluster text{fill:#000000;}#svg-ml-translation .cluster span{color:#000000;}#svg-ml-translation div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(206.4, 100%, 100%);border:1px solid hsl(206.4, 60%, 90%);border-radius:2px;pointer-events:none;z-index:100;}#svg-ml-translation .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#svg-ml-translation rect.text{fill:none;stroke-width:0;}#svg-ml-translation .icon-shape,#svg-ml-translation .image-shape{background-color:hsl(-93.6, 100%, 95.0980392157%);text-align:center;}#svg-ml-translation .icon-shape p,#svg-ml-translation .image-shape p{background-color:hsl(-93.6, 100%, 95.0980392157%);padding:2px;}#svg-ml-translation .icon-shape .label rect,#svg-ml-translation .image-shape .label rect{opacity:0.5;background-color:hsl(-93.6, 100%, 95.0980392157%);fill:hsl(-93.6, 100%, 95.0980392157%);}#svg-ml-translation .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#svg-ml-translation .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#svg-ml-translation :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}
#svg-ml-translation .mindmap-node span { color: #333 !important; }
#svg-ml-translation .mindmap-node p { color: #333 !important; }
#svg-ml-translation .node span { color: #333 !important; }
#svg-ml-translation .node p { color: #333 !important; }
</style><g><marker id="svg-ml-translation_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="svg-ml-translation_flowchart-v2-pointStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="svg-ml-translation_flowchart-v2-circleEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="svg-ml-translation_flowchart-v2-circleStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="svg-ml-translation_flowchart-v2-crossEnd" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"/></marker><marker id="svg-ml-translation_flowchart-v2-crossStart" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"/></marker><g class="root"><g class="clusters"/><g class="edgePaths"><path d="M120.805,83.044L126.824,81.037C132.844,79.03,144.883,75.015,155.144,73.607C165.405,72.199,173.889,73.399,178.13,73.998L182.372,74.598" id="svg-ml-translation_L_PT_SWI_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_PT_SWI_0" data-points="W3sieCI6MTIwLjgwNDY4NzUsInkiOjgzLjA0NDQ3MDM5Nzk4NzZ9LHsieCI6MTU2LjkyMTg3NSwieSI6NzF9LHsieCI6MTgyLjM3MjE3MzU0NzkzMTcsInkiOjc0LjU5ODAwOTk1NTk3MDAzfV0="/><path d="M100.208,175L109.66,167.5C119.113,160,138.017,145,152.993,133.674C167.968,122.348,179.015,114.696,184.538,110.869L190.061,107.043" id="svg-ml-translation_L_TF_SWI_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_TF_SWI_0" data-points="W3sieCI6MTAwLjIwODIyMDEwODY5NTY2LCJ5IjoxNzV9LHsieCI6MTU2LjkyMTg3NSwieSI6MTMwfSx7IngiOjE5MC4wNjEyNzk2ODQyNzIwOCwieSI6MTA3LjA0MzI1NzU0NTg2MzIxfV0="/><path d="M85.195,312L97.149,293.167C109.104,274.333,133.013,236.667,152.837,204.704C172.662,172.742,188.402,146.484,196.272,133.355L204.142,120.227" id="svg-ml-translation_L_KR_SWI_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_KR_SWI_0" data-points="W3sieCI6ODUuMTk0OTcwMzQ2NzE1MzIsInkiOjMxMn0seyJ4IjoxNTYuOTIxODc1LCJ5IjoxOTl9LHsieCI6MjA0LjE0MjE1MTAzNTE4MDYzLCJ5IjoxMjAuMjI2NTI0MjcyNjU2NDZ9XQ=="/><path d="M265.251,54.957L270.774,51.131C276.298,47.304,287.344,39.652,299.901,35.826C312.458,32,326.526,32,333.56,32L340.594,32" id="svg-ml-translation_L_SWI_JX_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_SWI_JX_0" data-points="W3sieCI6MjY1LjI1MTIyMDMxNTcyNzk1LCJ5Ijo1NC45NTY3NDI0NTQxMzY3OX0seyJ4IjoyOTguMzkwNjI1LCJ5IjozMn0seyJ4IjozNDAuNTkzNzUsInkiOjMyfV0="/><path d="M265.251,107.043L270.774,110.869C276.298,114.696,287.344,122.348,302.724,126.174C318.104,130,337.818,130,347.674,130L357.531,130" id="svg-ml-translation_L_SWI_MLX_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_SWI_MLX_0" data-points="W3sieCI6MjY1LjI1MTIyMDMxNTcyNzk1LCJ5IjoxMDcuMDQzMjU3NTQ1ODYzMjF9LHsieCI6Mjk4LjM5MDYyNSwieSI6MTMwfSx7IngiOjM1Ny41MzEyNSwieSI6MTMwfV0="/><path d="M86.266,124L98.042,141.333C109.818,158.667,133.37,193.333,154.787,233.293C176.204,273.252,195.487,318.504,205.128,341.13L214.769,363.756" id="svg-ml-translation_L_PT_O9K_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_PT_O9K_0" data-points="W3sieCI6ODYuMjY2MTEzMjgxMjUsInkiOjEyNH0seyJ4IjoxNTYuOTIxODc1LCJ5IjoyMjh9LHsieCI6MjE0Ljc2OTA1NDc5NzM1MzgyLCJ5IjozNjMuNzU2MjI2Njc3MDY4fV0="/><path d="M93.678,223L104.218,233.667C114.759,244.333,135.84,265.667,155.149,289.596C174.457,313.525,191.992,340.05,200.759,353.313L209.527,366.576" id="svg-ml-translation_L_TF_O9K_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_TF_O9K_0" data-points="W3sieCI6OTMuNjc3NTU2ODE4MTgxODEsInkiOjIyM30seyJ4IjoxNTYuOTIxODc1LCJ5IjoyODd9LHsieCI6MjA5LjUyNjg5NzcxMjg1NTU0LCJ5IjozNjYuNTc1NzAwMzYxNzQ4M31d"/><path d="M114.414,355.936L121.499,359.114C128.583,362.291,142.753,368.645,156.335,373.568C169.917,378.491,182.912,381.981,189.409,383.726L195.907,385.472" id="svg-ml-translation_L_KR_O9K_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_KR_O9K_0" data-points="W3sieCI6MTE0LjQxNDA2MjUsInkiOjM1NS45MzYyMTQxNzY2MjM4fSx7IngiOjE1Ni45MjE4NzUsInkiOjM3NX0seyJ4IjoxOTUuOTA2Njk0MDI3MDI0OCwieSI6Mzg1LjQ3MTczNDAyNjI1NjN9XQ=="/><path d="M131.922,434L136.089,434C140.255,434,148.589,434,159.775,430.03C170.961,426.061,185.001,418.122,192.02,414.152L199.04,410.182" id="svg-ml-translation_L_SK_O9K_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_SK_O9K_0" data-points="W3sieCI6MTMxLjkyMTg3NSwieSI6NDM0fSx7IngiOjE1Ni45MjE4NzUsInkiOjQzNH0seyJ4IjoxOTkuMDM5OTExNTE4NzczMiwieSI6NDEwLjE4MjQyMjQ2Nzg0NjR9XQ=="/><path d="M125.094,532L130.398,532C135.703,532,146.313,532,160.907,513.876C175.501,495.752,194.081,459.504,203.371,441.38L212.661,423.256" id="svg-ml-translation_L_LGBM_O9K_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_LGBM_O9K_0" data-points="W3sieCI6MTI1LjA5Mzc1LCJ5Ijo1MzJ9LHsieCI6MTU2LjkyMTg3NSwieSI6NTMyfSx7IngiOjIxMi42NjA2OTEyMjE0MTcxLCJ5Ijo0MjMuMjU1NzQ4ODY5NTQ4MX1d"/><path d="M240.543,363.756L250.185,341.13C259.826,318.504,279.108,273.252,297.872,250.626C316.635,228,334.88,228,344.003,228L353.125,228" id="svg-ml-translation_L_O9K_ON_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_O9K_ON_0" data-points="W3sieCI6MjQwLjU0MzQ0NTIwMjY0NjE4LCJ5IjozNjMuNzU2MjI2Njc3MDY4fSx7IngiOjI5OC4zOTA2MjUsInkiOjIyOH0seyJ4IjozNTMuMTI1LCJ5IjoyMjh9XQ=="/><path d="M257.922,406.836L264.667,409.697C271.411,412.557,284.901,418.279,299.904,421.139C314.906,424,331.422,424,339.68,424L347.938,424" id="svg-ml-translation_L_O9K_CPP_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_O9K_CPP_0" data-points="W3sieCI6MjU3LjkyMTY4NzAxNTQ3Mjk3LCJ5Ijo0MDYuODM2MjM1NzEyMzI3ODN9LHsieCI6Mjk4LjM5MDYyNSwieSI6NDI0fSx7IngiOjM0Ny45Mzc1LCJ5Ijo0MjR9XQ=="/><path d="M243.557,422.774L252.696,439.312C261.835,455.849,280.113,488.925,293.418,505.462C306.724,522,315.057,522,319.224,522L323.391,522" id="svg-ml-translation_L_O9K_WEB_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_O9K_WEB_0" data-points="W3sieCI6MjQzLjU1NzAwNjA3NDgyMzI4LCJ5Ijo0MjIuNzczODAwMjU3MzM0M30seyJ4IjoyOTguMzkwNjI1LCJ5Ijo1MjJ9LHsieCI6MzIzLjM5MDYyNSwieSI6NTIyfV0="/></g><g class="edgeLabels"><g class="edgeLabel"><g class="label" data-id="L_PT_SWI_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_TF_SWI_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_KR_SWI_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_SWI_JX_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_SWI_MLX_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_PT_O9K_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_TF_O9K_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_KR_O9K_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_SK_O9K_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_LGBM_O9K_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_O9K_ON_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_O9K_CPP_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_O9K_WEB_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g></g><g class="nodes"><g class="node default" id="svg-ml-translation_flowchart-PT-0" transform="translate(69.9609375, 100)"><rect class="basic label-container" x="-50.84375" y="-24" width="101.6875" height="48"/><g class="label" transform="translate(-20.84375, -9)"><rect/><foreignObject width="41.6875" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel" ><p>PyTorch</p></span></div></foreignObject></g></g><g class="node default" id="svg-ml-translation_flowchart-SWI-1" transform="translate(227.65625, 81)"><circle class="basic label-container" r="45.734375" cx="0" cy="0"/><g class="label" transform="translate(-38.234375, -9)"><rect/><foreignObject width="76.46875" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel" ><p>ml-switcheroo</p></span></div></foreignObject></g></g><g class="node default" id="svg-ml-translation_flowchart-TF-2" transform="translate(69.9609375, 199)"><rect class="basic label-container" x="-59.875" y="-24" width="119.75" height="48"/><g class="label" transform="translate(-29.875, -9)"><rect/><foreignObject width="59.75" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel" ><p>TensorFlow</p></span></div></foreignObject></g></g><g class="node default" id="svg-ml-translation_flowchart-KR-4" transform="translate(69.9609375, 336)"><rect class="basic label-container" x="-44.453125" y="-24" width="88.90625" height="48"/><g class="label" transform="translate(-14.453125, -9)"><rect/><foreignObject width="28.90625" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel" ><p>Keras</p></span></div></foreignObject></g></g><g class="node default" id="svg-ml-translation_flowchart-JX-7" transform="translate(398.171875, 32)"><rect class="basic label-container" x="-57.578125" y="-24" width="115.15625" height="48"/><g class="label" transform="translate(-27.578125, -9)"><rect/><foreignObject width="55.15625" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel" ><p>JAX / Flax</p></span></div></foreignObject></g></g><g class="node default" id="svg-ml-translation_flowchart-MLX-9" transform="translate(398.171875, 130)"><rect class="basic label-container" x="-40.640625" y="-24" width="81.28125" height="48"/><g class="label" transform="translate(-10.640625, -9)"><rect/><foreignObject width="21.28125" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel" ><p>MLX</p></span></div></foreignObject></g></g><g class="node default" id="svg-ml-translation_flowchart-O9K-11" transform="translate(227.65625, 394)"><circle class="basic label-container" r="32.875" cx="0" cy="0"/><g class="label" transform="translate(-25.375, -9)"><rect/><foreignObject width="50.75" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel" ><p>onnx9000</p></span></div></foreignObject></g></g><g class="node default" id="svg-ml-translation_flowchart-SK-16" transform="translate(69.9609375, 434)"><rect class="basic label-container" x="-61.9609375" y="-24" width="123.921875" height="48"/><g class="label" transform="translate(-31.9609375, -9)"><rect/><foreignObject width="63.921875" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel" ><p>Scikit-Learn</p></span></div></foreignObject></g></g><g class="node default" id="svg-ml-translation_flowchart-LGBM-18" transform="translate(69.9609375, 532)"><rect class="basic label-container" x="-55.1328125" y="-24" width="110.265625" height="48"/><g class="label" transform="translate(-25.1328125, -9)"><rect/><foreignObject width="50.265625" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel" ><p>LightGBM</p></span></div></foreignObject></g></g><g class="node default" id="svg-ml-translation_flowchart-ON-21" transform="translate(398.171875, 228)"><rect class="basic label-container" x="-45.046875" y="-24" width="90.09375" height="48"/><g class="label" transform="translate(-15.046875, -9)"><rect/><foreignObject width="30.09375" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel" ><p>ONNX</p></span></div></foreignObject></g></g><g class="node default" id="svg-ml-translation_flowchart-CPP-23" transform="translate(398.171875, 424)"><rect class="basic label-container" x="-50.234375" y="-24" width="100.46875" height="48"/><g class="label" transform="translate(-20.234375, -9)"><rect/><foreignObject width="40.46875" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel" ><p>C / C++</p></span></div></foreignObject></g></g><g class="node default" id="svg-ml-translation_flowchart-WEB-25" transform="translate(398.171875, 522)"><rect class="basic label-container" x="-74.78125" y="-24" width="149.5625" height="48"/><g class="label" transform="translate(-44.78125, -9)"><rect/><foreignObject width="89.5625" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel" ><p>WASM / WebGPU</p></span></div></foreignObject></g></g></g></g></g></svg>
</div>
<h3>ML Translation</h3>
<p>Effortlessly transpile and compile across the entire stack (PyTorch, TensorFlow, Keras, Scikit-Learn, LightGBM → JAX, MLX, ONNX, C++, C, WebGPU, WASM) using <a href="https://github.com/SamuelMarks/onnx9000" target="_blank" rel="noopener" class="link-primary">onnx9000</a> and <a href="https://github.com/SamuelMarks/ml-switcheroo" target="_blank" rel="noopener" class="link-primary">ml-switcheroo</a>.</p>
</article>
<!-- Column 5 (Row 2, Col 2) -->
<article class="feature-card" >
<div class="card-diagram" aria-hidden="true">
<svg id="svg-c-multiplatform" width="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="flowchart inline-svg svg-440" viewBox="0 0 440.59375 247.75"><style>#svg-c-multiplatform{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:14px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#svg-c-multiplatform .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#svg-c-multiplatform .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#svg-c-multiplatform .error-icon{fill:hsl(206.4, 100%, 100%);}#svg-c-multiplatform .error-text{fill:#000000;stroke:#000000;}#svg-c-multiplatform .edge-thickness-normal{stroke-width:1px;}#svg-c-multiplatform .edge-thickness-thick{stroke-width:3.5px;}#svg-c-multiplatform .edge-pattern-solid{stroke-dasharray:0;}#svg-c-multiplatform .edge-thickness-invisible{stroke-width:0;fill:none;}#svg-c-multiplatform .edge-pattern-dashed{stroke-dasharray:3;}#svg-c-multiplatform .edge-pattern-dotted{stroke-dasharray:2;}#svg-c-multiplatform .marker{fill:#ff6a00;stroke:#ff6a00;}#svg-c-multiplatform .marker.cross{stroke:#ff6a00;}#svg-c-multiplatform svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:14px;}#svg-c-multiplatform p{margin:0;}#svg-c-multiplatform .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#svg-c-multiplatform .cluster-label text{fill:#000000;}#svg-c-multiplatform .cluster-label span{color:#000000;}#svg-c-multiplatform .cluster-label span p{}#svg-c-multiplatform .label text,#svg-c-multiplatform span{fill:#333;color:#333;}#svg-c-multiplatform .node rect,#svg-c-multiplatform .node circle,#svg-c-multiplatform .node ellipse,#svg-c-multiplatform .node polygon,#svg-c-multiplatform .node path{fill:#fff1e6;stroke:#ff6a00;stroke-width:1px;}#svg-c-multiplatform .rough-node .label text,#svg-c-multiplatform .node .label text,#svg-c-multiplatform .image-shape .label,#svg-c-multiplatform .icon-shape .label{text-anchor:middle;}#svg-c-multiplatform .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#svg-c-multiplatform .rough-node .label,#svg-c-multiplatform .node .label,#svg-c-multiplatform .image-shape .label,#svg-c-multiplatform .icon-shape .label{text-align:center;}#svg-c-multiplatform .node.clickable{cursor:pointer;}#svg-c-multiplatform .root .anchor path{fill:#ff6a00!important;stroke-width:0;stroke:#ff6a00;}#svg-c-multiplatform .arrowheadPath{fill:#0b0b0b;}#svg-c-multiplatform .edgePath .path{stroke:#ff6a00;stroke-width:2.0px;}#svg-c-multiplatform .flowchart-link{stroke:#ff6a00;fill:none;}#svg-c-multiplatform .edgeLabel{background-color:hsl(-93.6, 100%, 95.0980392157%);text-align:center;}#svg-c-multiplatform .edgeLabel p{background-color:hsl(-93.6, 100%, 95.0980392157%);}#svg-c-multiplatform .edgeLabel rect{opacity:0.5;background-color:hsl(-93.6, 100%, 95.0980392157%);fill:hsl(-93.6, 100%, 95.0980392157%);}#svg-c-multiplatform .labelBkg{background-color:rgba(241, 230.0000000001, 255, 0.5);}#svg-c-multiplatform .cluster rect{fill:hsl(206.4, 100%, 100%);stroke:hsl(206.4, 60%, 90%);stroke-width:1px;}#svg-c-multiplatform .cluster text{fill:#000000;}#svg-c-multiplatform .cluster span{color:#000000;}#svg-c-multiplatform div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(206.4, 100%, 100%);border:1px solid hsl(206.4, 60%, 90%);border-radius:2px;pointer-events:none;z-index:100;}#svg-c-multiplatform .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#svg-c-multiplatform rect.text{fill:none;stroke-width:0;}#svg-c-multiplatform .icon-shape,#svg-c-multiplatform .image-shape{background-color:hsl(-93.6, 100%, 95.0980392157%);text-align:center;}#svg-c-multiplatform .icon-shape p,#svg-c-multiplatform .image-shape p{background-color:hsl(-93.6, 100%, 95.0980392157%);padding:2px;}#svg-c-multiplatform .icon-shape .label rect,#svg-c-multiplatform .image-shape .label rect{opacity:0.5;background-color:hsl(-93.6, 100%, 95.0980392157%);fill:hsl(-93.6, 100%, 95.0980392157%);}#svg-c-multiplatform .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#svg-c-multiplatform .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#svg-c-multiplatform :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}
#svg-c-multiplatform .mindmap-node span { color: #333 !important; }
#svg-c-multiplatform .mindmap-node p { color: #333 !important; }
#svg-c-multiplatform .node span { color: #333 !important; }
#svg-c-multiplatform .node p { color: #333 !important; }
</style><g><marker id="svg-c-multiplatform_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="svg-c-multiplatform_flowchart-v2-pointStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="svg-c-multiplatform_flowchart-v2-circleEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="svg-c-multiplatform_flowchart-v2-circleStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="svg-c-multiplatform_flowchart-v2-crossEnd" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"/></marker><marker id="svg-c-multiplatform_flowchart-v2-crossStart" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"/></marker><g class="root"><g class="clusters"><g class="cluster" id="svg-c-multiplatform_Core" data-look="classic"><rect x="8" y="8" width="205.421875" height="231.75"/><g class="cluster-label" transform="translate(66.90625, 8)"><foreignObject width="87.609375" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5;"><span class="nodeLabel" ><p>Core Libraries</p></span></div></foreignObject></g></g></g><g class="edgePaths"><path d="M159.039,68.839L168.103,67.075C177.167,65.31,195.294,61.78,208.525,60.015C221.755,58.25,230.089,58.25,237.758,58.57C245.427,58.889,252.433,59.529,255.936,59.848L259.438,60.168" id="svg-c-multiplatform_L_ORM_CRF_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_ORM_CRF_0" data-points="W3sieCI6MTU5LjAzOTA2MjUsInkiOjY4LjgzOTQ4ODA5NjE0MzYxfSx7IngiOjIxMy40MjE4NzUsInkiOjU4LjI1fSx7IngiOjIzOC40MjE4NzUsInkiOjU4LjI1fSx7IngiOjI2My40MjE4NzUsInkiOjYwLjUzMTMxNDYwNzU0MjZ9XQ==" marker-end="url(#svg-c-multiplatform_flowchart-v2-pointEnd)"/><path d="M153.824,103.75L163.757,109.625C173.69,115.5,193.556,127.25,207.656,133.125C221.755,139,230.089,139,242.691,142.888C255.294,146.775,272.167,154.551,280.603,158.438L289.04,162.326" id="svg-c-multiplatform_L_ORM_CMP_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_ORM_CMP_0" data-points="W3sieCI6MTUzLjgyNDE3MDUyNDY5MTM3LCJ5IjoxMDMuNzV9LHsieCI6MjEzLjQyMTg3NSwieSI6MTM5fSx7IngiOjIzOC40MjE4NzUsInkiOjEzOX0seyJ4IjoyOTIuNjcyMzM5MTA4OTEwOSwieSI6MTY0fV0=" marker-end="url(#svg-c-multiplatform_flowchart-v2-pointEnd)"/><path d="M154.002,153.75L163.906,147.917C173.809,142.083,193.615,130.417,207.685,124.583C221.755,118.75,230.089,118.75,242.691,114.862C255.294,110.975,272.167,103.199,280.603,99.312L289.04,95.424" id="svg-c-multiplatform_L_NET_CRF_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_NET_CRF_0" data-points="W3sieCI6MTU0LjAwMjMyNDM4MDE2NTMsInkiOjE1My43NX0seyJ4IjoyMTMuNDIxODc1LCJ5IjoxMTguNzV9LHsieCI6MjM4LjQyMTg3NSwieSI6MTE4Ljc1fSx7IngiOjI5Mi42NzIzMzkxMDg5MTA5LCJ5Ijo5My43NX1d" marker-end="url(#svg-c-multiplatform_flowchart-v2-pointEnd)"/><path d="M188.422,194.571L192.589,195.393C196.755,196.214,205.089,197.857,213.422,198.679C221.755,199.5,230.089,199.5,238.555,199.108C247.021,198.715,255.62,197.931,259.92,197.538L264.22,197.146" id="svg-c-multiplatform_L_NET_CMP_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_NET_CMP_0" data-points="W3sieCI6MTg4LjQyMTg3NSwieSI6MTk0LjU3MTExODg4NjQzNzk3fSx7IngiOjIxMy40MjE4NzUsInkiOjE5OS41fSx7IngiOjIzOC40MjE4NzUsInkiOjE5OS41fSx7IngiOjI2OC4yMDMxMjUsInkiOjE5Ni43ODIzODM5NzM3NjQ5fV0=" marker-end="url(#svg-c-multiplatform_flowchart-v2-pointEnd)"/></g><g class="edgeLabels"><g class="edgeLabel"><g class="label" data-id="L_ORM_CRF_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_ORM_CMP_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_NET_CRF_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_NET_CMP_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g></g><g class="nodes"><g class="node default" id="svg-c-multiplatform_flowchart-ORM-0" transform="translate(110.7109375, 78.25)"><rect class="basic label-container" x="-48.328125" y="-25.5" width="96.65625" height="51"/><g class="label" transform="translate(-18.328125, -10.5)"><rect/><foreignObject width="36.65625" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel" ><p>c-orm</p></span></div></foreignObject></g></g><g class="node default" id="svg-c-multiplatform_flowchart-NET-1" transform="translate(110.7109375, 179.25)"><rect class="basic label-container" x="-77.7109375" y="-25.5" width="155.421875" height="51"/><g class="label" transform="translate(-47.7109375, -10.5)"><rect/><foreignObject width="95.421875" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel" ><p>c-abstract-http</p></span></div></foreignObject></g></g><g class="node default" id="svg-c-multiplatform_flowchart-CRF-3" transform="translate(348.0078125, 68.25)"><rect class="basic label-container" x="-84.5859375" y="-25.5" width="169.171875" height="51"/><g class="label" transform="translate(-54.5859375, -10.5)"><rect/><foreignObject width="109.171875" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel" ><p>c-rest-framework</p></span></div></foreignObject></g></g><g class="node default" id="svg-c-multiplatform_flowchart-CMP-5" transform="translate(348.0078125, 189.5)"><rect class="basic label-container" x="-79.8046875" y="-25.5" width="159.609375" height="51"/><g class="label" transform="translate(-49.8046875, -10.5)"><rect/><foreignObject width="99.609375" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel" ><p>c-multiplatform</p></span></div></foreignObject></g></g></g></g></g></svg>
</div>
<h3><a href="https://rewriteinc.io" target="_blank" rel="noopener" class="text-inherit no-underline">#rewriteInC</a></h3>
<p>Build blazing-fast native applications powered primarily by <a href="https://github.com/SamuelMarks/c-rest-framework" target="_blank" rel="noopener" class="link-primary">c-rest-framework</a>, a powerful ORM (<strong>c-orm</strong>), network library (<strong>c-abstract-http</strong>), and file system abstraction (<strong>c-fs</strong>).</p>
</article>
<!-- Column 6 (Row 2, Col 3) -->
<article class="feature-card" >
<div class="lang-icons lang-icons-container" aria-hidden="true" >
<i class="devicon-wasm-original" title="WebAssembly" role="img" aria-label="WebAssembly"></i>
<svg role="img" aria-label="Web" width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" title="Web"><path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zm6.93 6h-2.95a15.65 15.65 0 0 0-1.38-3.56A8.03 8.03 0 0 1 18.92 8zM12 4.04c.83 1.2 1.48 2.53 1.91 3.96h-3.82c.43-1.43 1.08-2.76 1.91-3.96zM4.26 14C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2H4.26zm.82 2h2.95c.32 1.25.78 2.45 1.38 3.56A7.987 7.987 0 0 1 5.08 16zm2.95-8H5.08a7.987 7.987 0 0 1 3.9-3.56C8.38 5.55 7.92 6.75 7.6 8zM12 19.96c-.83-1.2-1.48-2.53-1.91-3.96h3.82c-.43 1.43-1.08 2.76-1.91 3.96zM14.34 14H9.66c-.09-.66-.16-1.32-.16-2s.07-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2zm1.28 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56zM16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2h-3.38z"/></svg>
<i class="devicon-android-plain" title="Android" role="img" aria-label="Android"></i>
<i class="devicon-apple-original" title="iOS / Apple" role="img" aria-label="iOS / Apple"></i>
<i class="devicon-linux-plain" title="Linux" role="img" aria-label="Linux"></i>
<i class="devicon-windows8-original" title="Windows" role="img" aria-label="Windows"></i>
<i class="devicon-raspberrypi-plain" title="Raspberry Pi" role="img" aria-label="Raspberry Pi"></i>
<svg role="img" aria-label="DOS" width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" title="DOS"><path d="M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 14H4V6h16v12zM6 8h2v2H6zm4 4H6v2h4zm2 0h6v2h-6z"/></svg>
<svg role="img" aria-label="TV / tvOS" width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" title="TV / tvOS"><path d="M21 3H3c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h5v2h8v-2h5c1.1 0 1.99-.9 1.99-2L23 5c0-1.1-.9-2-2-2zm0 14H3V5h18v12z"/></svg>
<svg role="img" aria-label="watchOS" width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" title="watchOS"><path d="M15 1H9v4.14A5.996 5.996 0 0 0 6 10v4c0 2.21 1.19 4.12 3 5.18V23h6v-3.82c1.81-1.06 3-2.97 3-5.18v-4c0-2.31-1.33-4.32-3.3-5.32V1zM9 3h6v1.27c-1.04-.18-2.12-.18-3.15 0L9 4.2V3zm3 14c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm3 4H9v-1h6v1z"/></svg>
<svg role="img" aria-label="Game Consoles" width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" title="Game Consoles"><path d="M21.58 16.09l-1.09-7.66C20.18 6.05 18.23 4.5 15.96 4.5H8.04C5.77 4.5 3.82 6.05 3.51 8.43l-1.09 7.66C2.2 17.63 3.39 19.5 5.16 19.5c.8 0 1.55-.3 2.11-.84l2.5-2.27c.36-.33.84-.52 1.34-.52h1.79c.5 0 .98.19 1.34.52l2.5 2.27c.56.54 1.31.84 2.11.84 1.77 0 2.96-1.87 2.73-3.41zM10.5 11.5H9v1.5H7.5v-1.5H6v-1.5h1.5V8.5H9v1.5h1.5v1.5zm5-1.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm1.5 3c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5z"/></svg>
</div>
<h3><a href="https://github.com/SamuelMarks/c-multiplatform" target="_blank" rel="noopener" class="text-inherit no-underline">c-multiplatform</a></h3>
<p>A C native alternative to Kotlin Multiplatform, Flutter, Xamarin, React Native, etc. Build cross-platform applications natively with unparalleled performance.</p>
</article>
</div>
</section>
</main>
<!-- Native HTML Popover API -->
<div id="consulting-popover" popover role="dialog" class="custom-popover" aria-labelledby="popover-title">
<h3 id="popover-title" class="popover-title">Consulting Services</h3>
<p class="popover-body">Our consultancy services have transitioned exclusively to product development as of March 2026.</p>
<button type="button" class="popover-button" popovertarget="consulting-popover" popovertargetaction="hide">Acknowledge</button>
</div>
<footer class="footer">
<div class="container">
<p>© 2026 Offscale. Automating the API lifecycle, from spec to package release.</p>
<div class="footer-links">
<a href="https://github.com/SamuelMarks/cdd-ctl" target="_blank" rel="noopener" aria-label="cdd-ctl on GitHub">
<svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" class="footer-icon">
<path d="M12 2C6.477 2 2 6.477 2 12c0 4.42 2.865 8.166 6.839 9.489.5.092.682-.217.682-.482 0-.237-.008-.866-.013-1.7-2.782.603-3.369-1.34-3.369-1.34-.454-1.156-1.11-1.462-1.11-1.462-.908-.62.069-.608.069-.608 1.003.07 1.531 1.03 1.531 1.03.892 1.529 2.341 1.087 2.91.831.092-.646.35-1.086.636-1.336-2.22-.253-4.555-1.11-4.555-4.943 0-1.091.39-1.984 1.029-2.683-.103-.253-.446-1.27.098-2.647 0 0 .84-.269 2.75 1.025A9.578 9.578 0 0112 6.836c.85.004 1.705.114 2.504.336 1.909-1.294 2.747-1.025 2.747-1.025.546 1.377.203 2.394.1 2.647.64.699 1.028 1.592 1.028 2.683 0 3.842-2.339 4.687-4.566 4.935.359.309.678.919.678 1.852 0 1.336-.012 2.415-.012 2.743 0 .267.18.578.688.48C19.138 20.161 22 16.418 22 12c0-5.523-4.477-10-10-10z"/>
</svg>
GitHub
</a>
</div>
</div>
</footer>
<script type="module" src="/script.js"></script>
</body>
</html>