vkae / static /index.html
openfree's picture
Clean redeploy: remove preview packages and internal plan doc
a3d9972 verified
Raw
History Blame Contribute Delete
65.3 kB
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>VKAE-Gemma | VIDRAFT Kernel Acceleration Engine</title>
<style>
:root {
color-scheme: light;
--ink: #132238;
--muted: #5d6f86;
--line: #d9e4ee;
--paper: #ffffff;
--mist: #f2f7fb;
--cyan: #13b8c8;
--green: #2fbf71;
--blue: #356cff;
--rose: #f36b7f;
--amber: #f1b643;
--shadow: 0 20px 60px rgba(31, 64, 102, 0.14);
}
* { box-sizing: border-box; }
body {
margin: 0;
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
color: var(--ink);
background: var(--mist);
letter-spacing: 0;
}
button, input, select, textarea { font: inherit; }
.shell {
min-height: 100vh;
background:
radial-gradient(circle at 12% 14%, rgba(19, 184, 200, 0.18), transparent 26%),
radial-gradient(circle at 82% 8%, rgba(53, 108, 255, 0.15), transparent 22%),
linear-gradient(180deg, #f8fcff 0%, #edf5fb 54%, #ffffff 100%);
}
header {
position: sticky;
top: 0;
z-index: 20;
background: rgba(255, 255, 255, 0.82);
backdrop-filter: blur(18px);
border-bottom: 1px solid rgba(217, 228, 238, 0.9);
}
.nav {
max-width: 1180px;
margin: 0 auto;
min-height: 68px;
padding: 0 22px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 18px;
}
.brand {
display: flex;
align-items: center;
gap: 12px;
font-weight: 780;
font-size: 18px;
}
.mark {
width: 34px;
height: 34px;
border-radius: 8px;
background: conic-gradient(from 30deg, var(--blue), var(--cyan), var(--green), var(--amber), var(--blue));
box-shadow: 0 10px 28px rgba(19, 184, 200, 0.28);
}
.navlinks {
display: flex;
align-items: center;
gap: 18px;
color: var(--muted);
font-size: 14px;
}
.navlinks a {
color: inherit;
text-decoration: none;
white-space: nowrap;
}
.button {
appearance: none;
border: 0;
border-radius: 8px;
min-height: 42px;
padding: 0 16px;
color: white;
background: var(--ink);
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
cursor: pointer;
text-decoration: none;
box-shadow: 0 14px 34px rgba(19, 34, 56, 0.18);
}
.button.secondary {
background: white;
color: var(--ink);
border: 1px solid var(--line);
box-shadow: none;
}
.hero {
position: relative;
max-width: 1180px;
min-height: min(760px, calc(100vh - 70px));
margin: 0 auto;
padding: 64px 22px 44px;
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(340px, 480px);
align-items: center;
gap: 34px;
}
.hero h1 {
margin: 0;
max-width: 820px;
font-size: clamp(44px, 7vw, 86px);
line-height: 0.94;
letter-spacing: 0;
}
.kicker {
display: inline-flex;
align-items: center;
gap: 10px;
min-height: 34px;
padding: 0 12px;
border-radius: 999px;
background: rgba(255, 255, 255, 0.72);
border: 1px solid var(--line);
color: #24606a;
font-weight: 700;
font-size: 13px;
margin-bottom: 20px;
}
.pulse-dot {
width: 9px;
height: 9px;
border-radius: 999px;
background: var(--green);
box-shadow: 0 0 0 8px rgba(47, 191, 113, 0.14);
}
.hero-copy {
margin: 22px 0 0;
max-width: 690px;
color: var(--muted);
font-size: 20px;
line-height: 1.58;
}
.hero-actions {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-top: 30px;
}
.scene {
position: relative;
height: 520px;
border-radius: 8px;
overflow: hidden;
background: rgba(255, 255, 255, 0.74);
border: 1px solid rgba(217, 228, 238, 0.95);
box-shadow: var(--shadow);
}
#flowCanvas {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
}
.scene-readout {
position: absolute;
left: 20px;
right: 20px;
bottom: 20px;
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 10px;
}
.readout {
background: rgba(255, 255, 255, 0.88);
border: 1px solid rgba(217, 228, 238, 0.94);
border-radius: 8px;
padding: 14px;
}
.readout strong {
display: block;
font-size: 22px;
line-height: 1;
}
.readout span {
display: block;
margin-top: 8px;
font-size: 12px;
color: var(--muted);
line-height: 1.35;
}
main {
background: white;
}
section {
max-width: 1180px;
margin: 0 auto;
padding: 66px 22px;
}
.section-head {
display: flex;
align-items: end;
justify-content: space-between;
gap: 24px;
margin-bottom: 28px;
}
h2 {
margin: 0;
font-size: clamp(30px, 4vw, 48px);
line-height: 1.02;
letter-spacing: 0;
}
.section-head p {
max-width: 520px;
margin: 0;
color: var(--muted);
line-height: 1.55;
}
.benchmark-grid {
display: grid;
grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
gap: 22px;
align-items: stretch;
}
.panel {
border: 1px solid var(--line);
border-radius: 8px;
background: var(--paper);
box-shadow: 0 16px 48px rgba(40, 77, 116, 0.08);
}
.selector-panel {
padding: 18px;
}
.selector-panel label {
display: block;
font-size: 13px;
font-weight: 760;
color: var(--muted);
margin-bottom: 8px;
}
select, input, textarea {
width: 100%;
border: 1px solid var(--line);
border-radius: 8px;
padding: 12px 13px;
background: white;
color: var(--ink);
outline: none;
}
textarea {
min-height: 104px;
resize: vertical;
}
.metric-stack {
display: grid;
gap: 10px;
margin-top: 18px;
}
.metric-row {
display: flex;
justify-content: space-between;
gap: 14px;
padding: 14px 0;
border-top: 1px solid var(--line);
}
.metric-row span { color: var(--muted); }
.metric-row strong { text-align: right; }
.chart-panel {
padding: 22px;
min-height: 410px;
}
.bars {
display: grid;
gap: 22px;
margin-top: 20px;
}
.bar-row {
display: grid;
grid-template-columns: 150px minmax(0, 1fr) 90px;
align-items: center;
gap: 16px;
}
.bar-label {
color: var(--muted);
font-weight: 700;
font-size: 14px;
}
.bar-track {
position: relative;
height: 52px;
border-radius: 8px;
background: #edf4f9;
overflow: hidden;
}
.bar-fill {
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 0;
border-radius: 8px;
transition: width 700ms cubic-bezier(.2, .8, .2, 1);
}
.bar-fill.base { background: linear-gradient(90deg, #95a5b8, #6f8198); }
.bar-fill.vkae { background: linear-gradient(90deg, var(--cyan), var(--green)); }
.bar-value {
font-weight: 820;
text-align: right;
}
.gain-band {
margin-top: 28px;
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 12px;
}
.gain-box {
min-height: 108px;
border: 1px solid var(--line);
border-radius: 8px;
padding: 18px;
background: #fbfdff;
}
.gain-box strong {
display: block;
font-size: clamp(24px, 4vw, 40px);
line-height: 1;
}
.gain-box span {
display: block;
margin-top: 10px;
color: var(--muted);
font-size: 13px;
line-height: 1.35;
}
.model-matrix {
margin-top: 22px;
display: grid;
grid-template-columns: repeat(5, minmax(0, 1fr));
gap: 12px;
}
.model-card {
min-height: 162px;
border: 1px solid var(--line);
border-radius: 8px;
padding: 16px;
background: #fbfdff;
box-shadow: 0 12px 30px rgba(40, 77, 116, 0.06);
}
.model-card.measured {
border-color: rgba(47, 191, 113, 0.55);
background: linear-gradient(180deg, rgba(47, 191, 113, 0.08), #fbfdff 45%);
}
.model-card h3 {
margin: 12px 0 8px;
font-size: 16px;
line-height: 1.2;
}
.model-card p {
margin: 0;
color: var(--muted);
font-size: 13px;
line-height: 1.42;
}
.status-pill {
display: inline-flex;
align-items: center;
min-height: 28px;
padding: 0 10px;
border-radius: 999px;
color: #235a35;
background: rgba(47, 191, 113, 0.12);
font-size: 12px;
font-weight: 780;
}
.status-pill.queued,
.status-pill.feasibility {
color: #6a5015;
background: rgba(241, 182, 67, 0.2);
}
.model-spec {
display: flex;
justify-content: space-between;
gap: 12px;
margin-top: 12px;
padding-top: 12px;
border-top: 1px solid var(--line);
color: var(--muted);
font-size: 12px;
}
.catalog-summary {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 12px;
margin-bottom: 18px;
}
.catalog-summary div {
min-height: 110px;
border: 1px solid var(--line);
border-radius: 8px;
padding: 18px;
background: #fbfdff;
}
.catalog-summary strong {
display: block;
font-size: 38px;
line-height: 1;
}
.catalog-summary span {
display: block;
margin-top: 10px;
color: var(--muted);
font-size: 13px;
line-height: 1.4;
}
.catalog-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 14px;
}
.catalog-card {
border: 1px solid var(--line);
border-radius: 8px;
padding: 18px;
background: #fbfdff;
box-shadow: 0 12px 30px rgba(40, 77, 116, 0.06);
}
.catalog-card h3 {
margin: 0 0 8px;
font-size: 20px;
}
.catalog-card p {
margin: 0 0 14px;
color: var(--muted);
font-size: 13px;
line-height: 1.45;
}
.repo-list {
display: grid;
gap: 7px;
margin: 0;
padding: 0;
list-style: none;
}
.repo-list li {
min-width: 0;
padding: 8px 10px;
border: 1px solid #e3edf6;
border-radius: 8px;
background: white;
color: #38536d;
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
font-size: 12px;
overflow-wrap: anywhere;
}
.gpu-layout {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(320px, 440px);
gap: 18px;
align-items: start;
}
.speed-chart,
.gpu-grid {
border: 1px solid var(--line);
border-radius: 8px;
background: #fbfdff;
padding: 18px;
box-shadow: 0 12px 30px rgba(40, 77, 116, 0.06);
}
.speed-chart h3,
.gpu-grid h3 {
margin: 0 0 14px;
font-size: 20px;
}
.speed-row {
display: grid;
grid-template-columns: 150px minmax(0, 1fr) 86px;
gap: 12px;
align-items: center;
padding: 12px 0;
border-top: 1px solid #e4edf6;
}
.speed-row:first-of-type {
border-top: 0;
}
.speed-name {
color: #38536d;
font-weight: 780;
font-size: 14px;
}
.speed-track {
height: 38px;
border-radius: 8px;
background: #edf4f9;
overflow: hidden;
}
.speed-fill {
height: 100%;
width: 0;
border-radius: 8px;
background: linear-gradient(90deg, var(--blue), var(--cyan), var(--green));
transition: width 700ms cubic-bezier(.2, .8, .2, 1);
}
.speed-value {
text-align: right;
color: var(--muted);
font-weight: 780;
font-size: 13px;
}
.gpu-card {
padding: 14px 0;
border-top: 1px solid #e4edf6;
}
.gpu-card:first-of-type {
border-top: 0;
padding-top: 0;
}
.gpu-card strong {
display: block;
font-size: 16px;
margin-bottom: 8px;
}
.gpu-card dl {
display: grid;
grid-template-columns: 86px minmax(0, 1fr);
gap: 7px 10px;
margin: 0;
font-size: 12px;
line-height: 1.45;
}
.gpu-card dt {
color: var(--muted);
font-weight: 760;
}
.gpu-card dd {
margin: 0;
color: #344e68;
}
.measured-layout {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
gap: 18px;
align-items: start;
}
.measured-panel,
.measurement-summary {
border: 1px solid var(--line);
border-radius: 8px;
background: #fbfdff;
padding: 18px;
box-shadow: 0 12px 30px rgba(40, 77, 116, 0.06);
}
.legend {
display: flex;
flex-wrap: wrap;
gap: 10px 16px;
color: var(--muted);
font-size: 13px;
margin-bottom: 14px;
}
.legend span {
display: inline-flex;
align-items: center;
gap: 7px;
}
.legend i {
width: 18px;
height: 10px;
border-radius: 999px;
display: inline-block;
}
.legend .baseline-key { background: linear-gradient(90deg, #95a5b8, #6f8198); }
.legend .after-key { background: linear-gradient(90deg, var(--cyan), var(--green)); }
.legend .showcase-key { background: linear-gradient(90deg, var(--blue), var(--cyan), var(--green)); }
.legend .preview-key { background: linear-gradient(90deg, var(--amber), var(--rose)); }
.compare-chart {
display: grid;
gap: 14px;
}
.compare-row {
display: grid;
gap: 9px;
padding-top: 14px;
border-top: 1px solid #e4edf6;
}
.compare-row:first-child {
border-top: 0;
padding-top: 0;
}
.compare-head {
display: flex;
justify-content: space-between;
gap: 14px;
align-items: baseline;
}
.compare-head strong {
font-size: 15px;
}
.compare-head span {
color: var(--muted);
font-size: 12px;
text-align: right;
}
.scope-pill {
display: inline-flex;
align-items: center;
min-height: 24px;
margin-top: 6px;
padding: 0 9px;
border-radius: 999px;
font-size: 11px;
font-weight: 820;
white-space: nowrap;
}
.scope-pill.showcase {
color: #0b5666;
background: rgba(19, 184, 200, 0.14);
border: 1px solid rgba(19, 184, 200, 0.32);
}
.scope-pill.preview,
.scope-pill.smoke {
color: #735017;
background: rgba(241, 182, 67, 0.18);
border: 1px solid rgba(241, 182, 67, 0.36);
}
.scope-pill.regression {
color: #843244;
background: rgba(243, 107, 127, 0.14);
border: 1px solid rgba(243, 107, 127, 0.32);
}
.compare-bars {
display: grid;
gap: 7px;
}
.compare-bar {
display: grid;
grid-template-columns: 84px minmax(0, 1fr) 88px;
gap: 10px;
align-items: center;
color: var(--muted);
font-size: 12px;
font-weight: 760;
}
.compare-track {
height: 28px;
border-radius: 8px;
background: #edf4f9;
overflow: hidden;
}
.compare-fill {
height: 100%;
min-width: 0;
border-radius: 8px;
transition: width 700ms cubic-bezier(.2, .8, .2, 1);
}
.compare-fill.baseline { background: linear-gradient(90deg, #95a5b8, #6f8198); }
.compare-fill.after { background: linear-gradient(90deg, var(--cyan), var(--green)); }
.compare-value {
text-align: right;
color: #344e68;
font-weight: 820;
}
.compare-row.pending .compare-track {
background: repeating-linear-gradient(135deg, #edf4f9 0, #edf4f9 10px, #e1ebf4 10px, #e1ebf4 20px);
}
.compare-row.showcase {
padding: 16px;
border: 1px solid rgba(19, 184, 200, 0.36);
border-radius: 8px;
background: linear-gradient(180deg, rgba(19, 184, 200, 0.08), #fbfdff 50%);
}
.compare-row.preview,
.compare-row.smoke,
.compare-row.regression {
padding: 16px;
border: 1px solid #e4edf6;
border-radius: 8px;
background: white;
}
.scope-note {
margin: 0;
color: var(--muted);
font-size: 12px;
line-height: 1.45;
}
.summary-card {
padding: 14px 0;
border-top: 1px solid #e4edf6;
}
.summary-card:first-child {
border-top: 0;
padding-top: 0;
}
.summary-card strong {
display: block;
font-size: 28px;
line-height: 1;
}
.summary-card span {
display: block;
margin-top: 8px;
color: var(--muted);
font-size: 13px;
line-height: 1.4;
}
.pipeline {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 14px;
}
.stage {
position: relative;
min-height: 190px;
padding: 18px;
border-radius: 8px;
border: 1px solid var(--line);
background: #fbfdff;
overflow: hidden;
}
.stage::before {
content: "";
position: absolute;
left: 18px;
right: 18px;
top: 0;
height: 4px;
background: linear-gradient(90deg, var(--blue), var(--cyan), var(--green));
transform: translateX(-110%);
animation: scan 3.6s ease-in-out infinite;
}
.stage:nth-child(2)::before { animation-delay: .3s; }
.stage:nth-child(3)::before { animation-delay: .6s; }
.stage:nth-child(4)::before { animation-delay: .9s; }
@keyframes scan {
0%, 20% { transform: translateX(-110%); }
55%, 75% { transform: translateX(0); }
100% { transform: translateX(110%); }
}
.stage h3 {
margin: 0 0 12px;
font-size: 19px;
}
.stage p {
margin: 0;
color: var(--muted);
line-height: 1.55;
font-size: 14px;
}
.product-status {
display: grid;
grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
gap: 18px;
align-items: stretch;
}
.launch-panel,
.roadmap-panel {
border: 1px solid var(--line);
border-radius: 8px;
background: #fbfdff;
box-shadow: 0 12px 30px rgba(40, 77, 116, 0.06);
padding: 20px;
}
.launch-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 12px;
margin-top: 18px;
}
.launch-card {
min-height: 132px;
border: 1px solid #e3edf6;
border-radius: 8px;
background: white;
padding: 16px;
}
.launch-card strong {
display: block;
font-size: 18px;
line-height: 1.2;
}
.launch-card span {
display: block;
margin-top: 10px;
color: var(--muted);
font-size: 13px;
line-height: 1.45;
}
.package-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 14px;
margin-top: 18px;
}
.package-card {
min-height: 226px;
border: 1px solid var(--line);
border-radius: 8px;
padding: 18px;
background: #fbfdff;
box-shadow: 0 12px 30px rgba(40, 77, 116, 0.06);
}
.package-card h3 {
margin: 10px 0 8px;
font-size: 20px;
line-height: 1.15;
}
.package-card p {
margin: 0;
color: var(--muted);
font-size: 13px;
line-height: 1.45;
}
.package-card ul {
margin: 14px 0 0;
padding: 0;
list-style: none;
display: grid;
gap: 6px;
}
.package-card li {
min-height: 28px;
padding: 7px 9px;
border-radius: 8px;
background: white;
border: 1px solid #e3edf6;
color: #38536d;
font-size: 12px;
line-height: 1.3;
}
.stage-pill {
display: inline-flex;
align-items: center;
min-height: 26px;
padding: 0 10px;
border-radius: 999px;
color: #0b5666;
background: rgba(19, 184, 200, 0.14);
border: 1px solid rgba(19, 184, 200, 0.28);
font-size: 12px;
font-weight: 820;
}
.roadmap-list {
display: grid;
gap: 12px;
margin-top: 14px;
}
.roadmap-item {
padding: 14px 0;
border-top: 1px solid #e3edf6;
}
.roadmap-item:first-child {
border-top: 0;
padding-top: 0;
}
.roadmap-item strong {
display: block;
font-size: 16px;
}
.roadmap-item span {
display: inline-flex;
margin-top: 8px;
min-height: 24px;
align-items: center;
padding: 0 9px;
border-radius: 999px;
background: rgba(241, 182, 67, 0.18);
color: #735017;
font-size: 11px;
font-weight: 820;
}
.roadmap-item p {
margin: 8px 0 0;
color: var(--muted);
font-size: 12px;
line-height: 1.45;
}
.form-wrap {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(340px, 460px);
gap: 22px;
align-items: start;
}
.service-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 12px;
}
.service-card {
position: relative;
min-height: 128px;
padding: 16px;
border: 1px solid var(--line);
border-radius: 8px;
cursor: pointer;
background: #fbfdff;
transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}
.service-card:hover {
transform: translateY(-2px);
box-shadow: 0 14px 34px rgba(34, 88, 130, 0.1);
}
.service-card.active {
border-color: var(--cyan);
box-shadow: inset 0 0 0 1px var(--cyan), 0 18px 36px rgba(19, 184, 200, 0.12);
}
.service-card input {
position: absolute;
opacity: 0;
pointer-events: none;
}
.service-card strong {
display: block;
font-size: 15px;
line-height: 1.25;
}
.service-card span {
display: block;
margin-top: 10px;
color: var(--muted);
font-size: 13px;
line-height: 1.42;
}
.lead-panel {
padding: 20px;
}
.fields {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 12px;
}
.field.full { grid-column: 1 / -1; }
.field label {
display: block;
margin-bottom: 7px;
color: var(--muted);
font-size: 13px;
font-weight: 760;
}
.consent {
display: grid;
grid-template-columns: 20px 1fr;
gap: 10px;
align-items: start;
color: var(--muted);
font-size: 13px;
line-height: 1.45;
margin: 14px 0;
}
.consent input {
width: 18px;
height: 18px;
margin: 1px 0 0;
}
.status {
min-height: 28px;
margin-top: 12px;
font-size: 14px;
color: var(--muted);
}
footer {
padding: 34px 22px 52px;
color: var(--muted);
text-align: center;
background: #ffffff;
border-top: 1px solid var(--line);
}
.notice {
margin-top: 16px;
color: var(--muted);
font-size: 13px;
line-height: 1.5;
}
@media (max-width: 920px) {
.hero,
.benchmark-grid,
.product-status,
.gpu-layout,
.measured-layout,
.form-wrap {
grid-template-columns: 1fr;
}
.scene { height: 420px; }
.model-matrix { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.catalog-grid { grid-template-columns: 1fr; }
.launch-grid { grid-template-columns: 1fr; }
.pipeline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.section-head { align-items: start; flex-direction: column; }
}
@media (max-width: 620px) {
.navlinks { display: none; }
.hero { padding-top: 42px; }
.scene-readout,
.gain-band,
.model-matrix,
.catalog-summary,
.package-grid,
.pipeline,
.service-grid,
.fields {
grid-template-columns: 1fr;
}
.bar-row {
grid-template-columns: 1fr;
gap: 8px;
}
.compare-bar {
grid-template-columns: 1fr;
gap: 6px;
}
.compare-value { text-align: left; }
.bar-value { text-align: left; }
}
</style>
</head>
<body>
<div class="shell">
<header>
<nav class="nav">
<div class="brand"><span class="mark"></span><span>VKAE-Gemma</span></div>
<div class="navlinks">
<a href="#product">Product</a>
<a href="#benchmarks">Benchmarks</a>
<a href="#modelMatrix">Models</a>
<a href="#catalog">Catalog</a>
<a href="#gpuGuide">GPU Guide</a>
<a href="#l40sResults">Measured</a>
<a href="#pipeline">Pipeline</a>
<a href="#access">Private Access</a>
<a class="button secondary" href="#access">Request Preview</a>
</div>
</nav>
</header>
<section class="hero">
<div>
<div class="kicker"><span class="pulse-dot"></span>VIDRAFT Kernel Acceleration Engine for Gemma</div>
<h1>VKAE-Gemma-E4B is the first productized engine.</h1>
<p class="hero-copy">
VKAE turns VIDRAFT's verified Gemma E4B acceleration recipe into a private-preview serving product. E2B, 12B, 26B-A4B, 31B, and Qwen follow as separate model-specific engine ports.
</p>
<div class="hero-actions">
<a class="button" href="#product">View Product Packages</a>
<a class="button secondary" href="#access">Request Private Access</a>
<a class="button secondary" href="https://huggingface.co/spaces/FINAL-Bench/VKUE" target="_blank" rel="noopener">Sibling &#8599; VKUE &middot; Ubiquity</a>
</div>
<p class="notice">
Product claims are intentionally scoped: E4B is the launch lane; every additional model family gets its own benchmark gate.
</p>
</div>
<div class="scene" aria-label="Animated VKAE kernel flow visualization">
<canvas id="flowCanvas"></canvas>
<div class="scene-readout">
<div class="readout"><strong id="heroGain">5.32x</strong><span>Showcase acceleration view</span></div>
<div class="readout"><strong>Gemma</strong><span>First model-specialized engine</span></div>
<div class="readout"><strong>Guarded</strong><span>PPL and validity gates stay separate</span></div>
</div>
</div>
</section>
</div>
<main>
<section id="vkae-leaderboard">
<div class="section-head">
<h2>VKAE Acceleration Leaderboard</h2>
</div>
<p class="notice" style="margin:-4px 0 14px">Single-GPU serving throughput, ranked. Baseline reference vs VIDRAFT optimized serving. Click a column header to sort.</p>
<div style="overflow-x:auto;border:1px solid rgba(128,128,128,0.22);border-radius:12px">
<table style="width:100%;border-collapse:collapse;font-size:14px">
<thead>
<tr style="text-align:left;background:rgba(128,128,128,0.10)">
<th style="padding:11px 12px">#</th>
<th style="padding:11px 12px">Model</th>
<th style="padding:11px 12px">Size</th>
<th style="padding:11px 12px">Hardware</th>
<th data-sort="baseline_tps" style="padding:11px 12px;text-align:right;cursor:pointer">Baseline tok/s</th>
<th data-sort="vkae_tps" style="padding:11px 12px;text-align:right;cursor:pointer">VIDRAFT optimized tok/s ▾</th>
<th data-sort="speedup" style="padding:11px 12px;text-align:right;cursor:pointer">Speedup</th>
<th style="padding:11px 12px">Links</th>
</tr>
</thead>
<tbody id="lbBody"><tr><td colspan="8" style="padding:14px;opacity:.6">Loading…</td></tr></tbody>
</table>
</div>
</section>
<section id="product">
<div class="section-head">
<h2>Productization Status</h2>
<p>VKAE-Gemma is moving from challenge proof to controlled customer delivery. The first commercial surface is E4B private preview; other models are sold as explicit porting tracks.</p>
</div>
<div class="product-status">
<div class="launch-panel">
<span class="stage-pill" id="productStage">Private Preview</span>
<h3 id="productName">VKAE-Gemma-E4B</h3>
<p class="notice" id="productPositioning"></p>
<div class="launch-grid">
<div class="launch-card"><strong>Proof</strong><span id="productClaim">Challenge-verified E4B speedup with quality guard.</span></div>
<div class="launch-card"><strong>Boundary</strong><span id="productBoundary">Other models require separate ports.</span></div>
<div class="launch-card"><strong>Control</strong><span id="productControl">L40S-managed qualification lane.</span></div>
</div>
</div>
<div class="roadmap-panel">
<h3>Engine Roadmap</h3>
<div class="roadmap-list" id="engineRoadmap"></div>
</div>
</div>
<div class="package-grid" id="packageGrid" aria-label="VKAE delivery packages"></div>
</section>
<section id="benchmarks">
<div class="section-head">
<h2>Claim-Scoped Performance</h2>
<p>Only claim-ready model profiles show before/after throughput. Packaged preview models remain visible, but their raw harness numbers are blocked from product-speed claims until a model-specific VKAE recipe is promoted.</p>
</div>
<div class="benchmark-grid">
<div class="panel selector-panel">
<label for="modelSelect">Model profile</label>
<select id="modelSelect"></select>
<div class="metric-stack">
<div class="metric-row"><span>Baseline</span><strong id="baseMetric">-</strong></div>
<div class="metric-row"><span>VKAE</span><strong id="vkaeMetric">-</strong></div>
<div class="metric-row"><span>Quality</span><strong id="qualityMetric">Guarded</strong></div>
<div class="metric-row"><span>Status</span><strong id="tagMetric">-</strong></div>
</div>
</div>
<div class="panel chart-panel">
<h3 id="chartTitle">Gemma 4 E4B</h3>
<div class="bars">
<div class="bar-row">
<div class="bar-label" id="baseLabel">Baseline</div>
<div class="bar-track"><div class="bar-fill base" id="baseBar"></div></div>
<div class="bar-value" id="baseValue">0 TPS</div>
</div>
<div class="bar-row">
<div class="bar-label" id="vkaeLabel">VKAE</div>
<div class="bar-track"><div class="bar-fill vkae" id="vkaeBar"></div></div>
<div class="bar-value" id="vkaeValue">0 TPS</div>
</div>
</div>
<div class="gain-band">
<div class="gain-box"><strong id="gainValue">0x</strong><span>Relative throughput lift</span></div>
<div class="gain-box"><strong id="tokenDelta">0</strong><span>Additional tokens per second</span></div>
<div class="gain-box"><strong id="costDrop">0%</strong><span>Approximate token-cost reduction at same GPU rate</span></div>
</div>
<p class="notice" id="qualityNote"></p>
</div>
</div>
<div class="model-matrix" id="modelMatrix" aria-label="Gemma model measurement matrix"></div>
</section>
<section id="catalog">
<div class="section-head">
<h2>Gemma 4 Model Catalog</h2>
<p>The acceleration plan tracks the official Google `gemma-4-*` BF16 serving surface: base, instruct, and assistant variants. QAT, GGUF, and mobile-specific packages are excluded from this benchmark scope.</p>
</div>
<div class="catalog-summary">
<div><strong id="repoCount">15</strong><span>Official Google `gemma-4-*` BF16 serving repos</span></div>
<div><strong>5</strong><span>Primary serving families</span></div>
<div><strong>1</strong><span>Adjacent DiffusionGemma lane</span></div>
</div>
<div class="catalog-grid" id="catalogGrid"></div>
</section>
<section id="gpuGuide">
<div class="section-head">
<h2>GPU Sizing And Family Speed</h2>
<p>Each Gemma 4 family gets a minimum and recommended BF16 serving lane. Measured TPS is shown only when available; otherwise the chart uses a planning speed index until hardware-specific runs replace it.</p>
</div>
<div class="gpu-layout">
<div class="speed-chart">
<h3>Full-Family Speed View</h3>
<div id="familySpeedChart"></div>
<p class="notice" id="benchmarkPlanNote"></p>
</div>
<div class="gpu-grid">
<h3>Minimum / Recommended GPU</h3>
<div id="gpuSizingGrid"></div>
</div>
</div>
</section>
<section id="l40sResults">
<div class="section-head">
<h2>Measured Benchmark Evidence</h2>
<p>Measured rows are separated by claim level. E4B uses the challenge reference path as its before baseline. E2B, 12B, 26B-A4B, and 31B package rows are raw harness checks only, not public VKAE before/after speedups.</p>
</div>
<div class="measured-layout">
<div class="measured-panel">
<div class="legend">
<span><i class="baseline-key"></i>Declared baseline</span>
<span><i class="after-key"></i>VKAE path</span>
<span><i class="showcase-key"></i>Optimized showcase</span>
<span><i class="preview-key"></i>Preview / smoke</span>
</div>
<div class="compare-chart" id="measuredComparisonChart"></div>
<p class="notice" id="measurementNotice"></p>
</div>
<div class="measurement-summary" id="measurementSummary"></div>
</div>
</section>
<section id="pipeline">
<div class="section-head">
<h2>Kernel-Led Engine Stack</h2>
<p>VKAE is positioned as a model-specialized engine: kernels, recipes, serving, and verifier gates are treated as one product surface.</p>
</div>
<div class="pipeline">
<div class="stage"><h3>Model Profile</h3><p>Capture Gemma-specific serving assumptions, context windows, quality guardrails, and hardware lanes.</p></div>
<div class="stage"><h3>Kernel Path</h3><p>Route hot decode work through custom kernel and runtime patches instead of generic defaults.</p></div>
<div class="stage"><h3>Serving Recipe</h3><p>Bind model, memory, batching, scheduling, and verifier settings into repeatable deployment recipes.</p></div>
<div class="stage"><h3>Verification</h3><p>Keep artifact, private benchmark, PPL, and dashboard-valid status in separate lanes.</p></div>
</div>
</section>
<section id="access">
<div class="section-head">
<h2>Request Private Preview</h2>
<p>Choose the service path that matches your deployment: report, managed endpoint, private Docker evaluation, enterprise on-prem, or custom engine build.</p>
</div>
<div class="form-wrap">
<div>
<div class="service-grid" id="serviceGrid"></div>
<p class="notice">
Early access is staged to protect kernel IP while giving customers measurable before/after results.
</p>
</div>
<form class="panel lead-panel" id="leadForm">
<div class="fields">
<div class="field"><label for="full_name">Name</label><input id="full_name" name="full_name" autocomplete="name" required /></div>
<div class="field"><label for="email">Email</label><input id="email" name="email" type="email" autocomplete="email" required /></div>
<div class="field"><label for="contact">Phone / Contact</label><input id="contact" name="contact" autocomplete="tel" /></div>
<div class="field"><label for="company">Company</label><input id="company" name="company" autocomplete="organization" /></div>
<div class="field"><label for="role">Role</label><input id="role" name="role" /></div>
<div class="field"><label for="model_family">Model Family</label><input id="model_family" name="model_family" placeholder="Gemma, Qwen, Llama" /></div>
<div class="field"><label for="model_name">Model Name</label><input id="model_name" name="model_name" placeholder="gemma-4-E4B-it" /></div>
<div class="field"><label for="gpu_target">GPU / Cloud</label><input id="gpu_target" name="gpu_target" placeholder="A10G, L40S, H100, B200" /></div>
<div class="field"><label for="monthly_tokens">Monthly Tokens</label><input id="monthly_tokens" name="monthly_tokens" placeholder="10M, 1B, 20B+" /></div>
<div class="field"><label for="current_stack">Current Serving Stack</label><input id="current_stack" name="current_stack" placeholder="your current serving stack" /></div>
<div class="field full"><label for="notes">Notes</label><textarea id="notes" name="notes" placeholder="Latency target, model size, deployment constraints, or benchmark goals"></textarea></div>
</div>
<label class="consent">
<input id="consent" name="consent" type="checkbox" required />
<span>I agree to share this information with VIDRAFT for private preview and benchmark follow-up.</span>
</label>
<button class="button" type="submit">Submit Private Preview Request</button>
<div class="status" id="formStatus"></div>
</form>
</div>
</section>
</main>
<footer>
VKAE-Gemma by VIDRAFT. Kernel-native, model-specialized inference acceleration.
</footer>
<script>
const state = {
metrics: [],
services: [],
catalog: null,
product: null,
sizing: [],
benchmarkPlan: null,
l40sBenchmarks: null,
};
async function fetchJson(url) {
const response = await fetch(url);
if (!response.ok) throw new Error(`Request failed: ${url}`);
return response.json();
}
function fmt(num) {
if (num === null || num === undefined) return "N/A";
return Number(num).toLocaleString(undefined, { maximumFractionDigits: 2 });
}
function hasMeasurement(item) {
return item.claim_ready === true
&& Number.isFinite(Number(item.baseline_tps))
&& Number.isFinite(Number(item.vkae_tps));
}
function rowMeasured(row) {
return Number.isFinite(Number(row.baseline_tps)) && Number.isFinite(Number(row.after_tps));
}
function rowClaimReady(row) {
return row.public_before_after === true || row.claim_ready === true || row.public_claim_level === "verified_showcase";
}
function rowScope(row) {
const family = String(row.family || row.model_id || "").toLowerCase();
const status = String(row.status || "").toLowerCase();
const hardware = String(row.hardware || "").toLowerCase();
const speedup = rowMeasured(row)
? Number(row.speedup || Number(row.after_tps) / Number(row.baseline_tps))
: null;
if (family.includes("e4b") && status.includes("existing_a10g")) {
return {
className: "showcase",
label: "Optimized VKAE profile",
note: "Challenge-verified acceleration recipe. Read this as the proven VKAE showcase lane, not as a generic server benchmark for every Gemma size.",
};
}
if (speedup !== null && speedup < 1) {
return {
className: "regression",
label: "Package validation only",
note: "The raw baseline-vs-reference check is slower here. This row exists to document packaging and the next kernel target; it is not a VKAE acceleration claim.",
};
}
if (hardware.includes("5060") || status.includes("local")) {
return {
className: "smoke",
label: "Package validation only",
note: "Local RTX 5060 multimodal path. Useful for fit and sanity, but not comparable to the E4B challenge throughput row.",
};
}
return {
className: "preview",
label: "Package validation only",
note: "Transformers baseline vs reference raw check. Model-specific VKAE kernels are still pending for this family, so this is not a public before-after performance claim.",
};
}
function renderServices() {
const grid = document.getElementById("serviceGrid");
grid.innerHTML = "";
state.services.forEach((service) => {
const label = document.createElement("label");
label.className = "service-card" + (service.default ? " active" : "");
label.innerHTML = `
<input type="checkbox" value="${service.id}" ${service.default ? "checked" : ""} />
<strong>${service.title}</strong>
<span>${service.summary}</span>
`;
label.addEventListener("click", () => {
setTimeout(() => label.classList.toggle("active", label.querySelector("input").checked), 0);
});
grid.appendChild(label);
});
}
function renderProductization() {
if (!state.product) return;
const status = state.product.status || {};
document.getElementById("productStage").textContent = status.stage || "Private Preview";
document.getElementById("productName").textContent = status.name || "VKAE-Gemma-E4B";
document.getElementById("productPositioning").textContent = status.positioning || "";
document.getElementById("productClaim").textContent = status.primary_claim || "";
document.getElementById("productBoundary").textContent = status.production_boundary || "";
document.getElementById("productControl").textContent = status.control_plane || "";
const packages = document.getElementById("packageGrid");
packages.innerHTML = "";
(state.product.delivery_packages || []).forEach((item) => {
const card = document.createElement("article");
card.className = "package-card";
card.innerHTML = `
<span class="stage-pill">${item.stage}</span>
<h3>${item.title}</h3>
<p>${item.summary}</p>
<p class="notice">${item.best_for}</p>
<ul>${(item.customer_gets || []).map((value) => `<li>${value}</li>`).join("")}</ul>
`;
packages.appendChild(card);
});
const roadmap = document.getElementById("engineRoadmap");
roadmap.innerHTML = "";
(state.product.engine_roadmap || []).forEach((item) => {
const row = document.createElement("article");
row.className = "roadmap-item";
row.innerHTML = `
<strong>${item.engine}</strong>
<span>${item.stage}</span>
<p>${item.goal}</p>
<p>${item.next_gate}</p>
`;
roadmap.appendChild(row);
});
}
function renderModelMatrix() {
const matrix = document.getElementById("modelMatrix");
matrix.innerHTML = "";
state.metrics.forEach((item) => {
const measured = hasMeasurement(item);
const rawAvailable = Number.isFinite(Number(item.baseline_tps)) && Number.isFinite(Number(item.vkae_tps));
const card = document.createElement("article");
card.className = `model-card ${item.measurement_status}`;
card.innerHTML = `
<span class="status-pill ${item.measurement_status}">${item.measurement_status.replace("-", " ")}</span>
<h3>${item.model}</h3>
<p>${item.quality}</p>
<div class="model-spec">
<span>${item.size || "Model"}</span>
<strong>${measured ? `${(item.vkae_tps / item.baseline_tps).toFixed(2)}x` : (rawAvailable ? "raw only" : item.package_status || "pending")}</strong>
</div>
`;
matrix.appendChild(card);
});
}
function renderCatalog() {
if (!state.catalog) return;
document.getElementById("repoCount").textContent = state.catalog.official_repo_count;
const grid = document.getElementById("catalogGrid");
grid.innerHTML = "";
state.catalog.families.forEach((family) => {
const card = document.createElement("article");
card.className = "catalog-card";
card.innerHTML = `
<h3>${family.family}</h3>
<p>${family.serving_priority}</p>
<ul class="repo-list">
${family.repos.map((repo) => `<li>${repo}</li>`).join("")}
</ul>
`;
grid.appendChild(card);
});
state.catalog.adjacent.forEach((family) => {
const card = document.createElement("article");
card.className = "catalog-card";
card.innerHTML = `
<h3>${family.family}</h3>
<p>${family.note}</p>
<ul class="repo-list">
${family.repos.map((repo) => `<li>${repo}</li>`).join("")}
</ul>
`;
grid.appendChild(card);
});
}
function renderGpuGuide() {
const chart = document.getElementById("familySpeedChart");
const grid = document.getElementById("gpuSizingGrid");
const maxIndex = Math.max(...state.sizing.map((item) => item.speed_index || 0), 1);
chart.innerHTML = "";
grid.innerHTML = "";
state.sizing.forEach((item) => {
const row = document.createElement("div");
const measured = Number.isFinite(Number(item.measured_tps));
const width = Math.max(8, ((item.speed_index || 0) / maxIndex) * 100);
row.className = "speed-row";
row.innerHTML = `
<div class="speed-name">${item.family}</div>
<div class="speed-track"><div class="speed-fill" style="width:${width}%"></div></div>
<div class="speed-value">${measured ? `${fmt(item.measured_tps)} TPS` : `idx ${item.speed_index}`}</div>
`;
chart.appendChild(row);
const card = document.createElement("article");
card.className = "gpu-card";
card.innerHTML = `
<strong>${item.family}</strong>
<dl>
<dt>Min</dt><dd>${item.min_gpu}</dd>
<dt>Rec</dt><dd>${item.recommended_gpu}</dd>
<dt>Path</dt><dd>${item.precision_path}</dd>
<dt>Status</dt><dd>${item.measurement_status}</dd>
</dl>
`;
grid.appendChild(card);
});
document.getElementById("benchmarkPlanNote").textContent =
state.benchmarkPlan?.claim_boundary || "Planning index is not measured TPS.";
}
function renderMeasuredResults() {
const data = state.l40sBenchmarks || {};
const rows = Array.isArray(data.rows) ? data.rows : [];
const chart = document.getElementById("measuredComparisonChart");
const summary = document.getElementById("measurementSummary");
const notice = document.getElementById("measurementNotice");
const measuredRows = rows.filter(rowMeasured);
const claimRows = measuredRows.filter(rowClaimReady);
const rawRows = measuredRows.filter((row) => !rowClaimReady(row));
const maxTps = Math.max(
...claimRows.flatMap((row) => [Number(row.baseline_tps) || 0, Number(row.after_tps) || 0]),
1
);
chart.innerHTML = "";
rows.forEach((row) => {
const measured = rowMeasured(row);
const baseline = Number(row.baseline_tps);
const after = Number(row.after_tps);
const claimReady = rowClaimReady(row);
const baselineWidth = measured && claimReady ? Math.max(6, (baseline / maxTps) * 100) : 0;
const afterWidth = measured && claimReady ? Math.max(6, (after / maxTps) * 100) : 0;
const speedup = measured ? (row.speedup || after / baseline) : null;
const scope = rowScope(row);
const rawLine = measured && !claimReady
? `<p class="scope-note"><strong>Raw harness check only:</strong> ${fmt(baseline)} TPS reference check / ${fmt(after)} TPS preview path / ${Number(speedup).toFixed(3)}x. This is package validation data, not a VKAE before-after claim.</p>`
: "";
const packageLine = row.package_url
? `<p class="scope-note"><strong>Preview bundle:</strong> <a href="${row.package_url}">download package</a>${row.package_sha256 ? ` / SHA256 ${row.package_sha256.slice(0, 12)}...` : ""}</p>`
: "";
const item = document.createElement("article");
item.className = `compare-row ${measured ? "measured" : "pending"} ${claimReady ? "claim-ready" : "raw-only"} ${scope.className}`;
item.innerHTML = `
<div class="compare-head">
<div>
<strong>${row.family || row.model_id || "Gemma model"}</strong>
<div class="scope-pill ${scope.className}">${scope.label}</div>
</div>
<span>${row.hardware || data.hardware || "hardware TBD"} / ${row.status || data.status || "pending"}${measured && claimReady ? ` / ${Number(speedup).toFixed(2)}x` : ""}</span>
</div>
<div class="compare-bars" ${claimReady ? "" : 'aria-hidden="true"'}>
<div class="compare-bar">
<span>${claimReady ? "Baseline" : "Raw baseline"}</span>
<div class="compare-track"><div class="compare-fill baseline" style="width:${baselineWidth}%"></div></div>
<span class="compare-value">${measured && claimReady ? `${fmt(baseline)} TPS` : (measured ? "raw only" : "Queued")}</span>
</div>
<div class="compare-bar">
<span>${claimReady ? "VKAE" : "Preview"}</span>
<div class="compare-track"><div class="compare-fill after" style="width:${afterWidth}%"></div></div>
<span class="compare-value">${measured && claimReady ? `${fmt(after)} TPS` : (measured ? "raw only" : "Queued")}</span>
</div>
</div>
<p class="scope-note"><strong>Baseline:</strong> ${row.baseline_stack || "declared reference stack"} / <strong>VKAE:</strong> ${row.after_stack || "declared VKAE path"}</p>
${rawLine}
${packageLine}
<p class="scope-note">${scope.note}</p>
`;
chart.appendChild(item);
});
if (!rows.length) {
chart.innerHTML = `<article class="compare-row pending"><div class="compare-head"><strong>L40S job</strong><span>not started</span></div><p class="notice">No benchmark artifact has been published yet.</p></article>`;
}
const fastest = measuredRows
.slice()
.sort((a, b) => Number(b.after_tps) - Number(a.after_tps))[0];
const optimizedRows = claimRows;
const previewRows = rawRows;
summary.innerHTML = `
<div class="summary-card"><strong>${data.status || "pending"}</strong><span>Benchmark artifact status</span></div>
<div class="summary-card"><strong>${optimizedRows.length}/${rows.length || 5}</strong><span>Rows allowed as public before/after claims</span></div>
<div class="summary-card"><strong>${previewRows.length}</strong><span>Raw package-validation rows excluded from performance claims</span></div>
<div class="summary-card"><strong>${fastest ? fastest.family : data.hardware || "L40S"}</strong><span>${fastest && rowClaimReady(fastest) ? `${fmt(fastest.after_tps)} TPS fastest claim-ready row` : "No raw-only row is promoted by speed"}</span></div>
`;
notice.textContent = data.claim_boundary || "Only optimized showcase rows should be used as public VKAE performance claims; preview rows are engineering measurements.";
}
function updateChart(index) {
const item = state.metrics[index];
const measured = hasMeasurement(item);
const baselineTps = Number(item.baseline_tps);
const vkaeTps = Number(item.vkae_tps);
const max = measured ? Math.max(baselineTps, vkaeTps) : 1;
const basePct = measured ? Math.max(8, (baselineTps / max) * 100) : 14;
const vkaePct = measured ? Math.max(8, (vkaeTps / max) * 100) : 14;
const gain = measured ? vkaeTps / baselineTps : null;
const delta = measured ? vkaeTps - baselineTps : null;
const cost = measured ? Math.max(0, (1 - (baselineTps / vkaeTps)) * 100) : null;
document.getElementById("chartTitle").textContent = item.model;
document.getElementById("baseLabel").textContent = item.baseline_label;
document.getElementById("vkaeLabel").textContent = item.vkae_label;
document.getElementById("baseValue").textContent = measured ? `${fmt(baselineTps)} TPS` : "Pending";
document.getElementById("vkaeValue").textContent = measured ? `${fmt(vkaeTps)} TPS` : "Pending";
document.getElementById("baseMetric").textContent = measured ? `${fmt(baselineTps)} TPS` : "Claim gate pending";
document.getElementById("vkaeMetric").textContent = measured ? `${fmt(vkaeTps)} TPS` : (item.package_status || "Package / benchmark pending");
document.getElementById("qualityMetric").textContent = item.ppl ? `PPL ${fmt(item.ppl)}` : "Workload-specific";
document.getElementById("tagMetric").textContent = item.tag;
document.getElementById("gainValue").textContent = measured ? `${gain.toFixed(2)}x` : "Not claimed";
document.getElementById("heroGain").textContent = measured ? `${gain.toFixed(2)}x` : "Multi";
document.getElementById("tokenDelta").textContent = measured ? `+${fmt(delta)}` : "L40S";
document.getElementById("costDrop").textContent = measured ? `${Math.round(cost)}%` : "TBD";
document.getElementById("qualityNote").textContent = item.quality;
requestAnimationFrame(() => {
document.getElementById("baseBar").style.width = `${basePct}%`;
document.getElementById("vkaeBar").style.width = `${vkaePct}%`;
});
}
function setupForm() {
const form = document.getElementById("leadForm");
const status = document.getElementById("formStatus");
form.addEventListener("submit", async (event) => {
event.preventDefault();
const formData = new FormData(form);
const selected = [...document.querySelectorAll("#serviceGrid input:checked")].map((item) => item.value);
const payload = Object.fromEntries(formData.entries());
payload.service_types = selected;
payload.consent = document.getElementById("consent").checked;
status.textContent = "Submitting request...";
try {
const response = await fetch("/api/leads", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(payload),
});
const data = await response.json();
if (!response.ok) throw new Error(data.detail || "Submit failed");
status.textContent = `Received. Request id: ${data.lead_id}`;
form.reset();
document.querySelectorAll("#serviceGrid input").forEach((input) => {
input.checked = state.services.find((service) => service.id === input.value)?.default || false;
input.closest(".service-card").classList.toggle("active", input.checked);
});
} catch (error) {
status.textContent = error.message;
}
});
}
function setupCanvas() {
const canvas = document.getElementById("flowCanvas");
const ctx = canvas.getContext("2d");
const mouse = { x: 0.5, y: 0.5 };
const nodes = Array.from({ length: 42 }, (_, i) => ({
x: Math.random(),
y: Math.random(),
r: 2 + Math.random() * 4,
speed: 0.0015 + Math.random() * 0.002,
hue: i % 4,
}));
canvas.addEventListener("pointermove", (event) => {
const rect = canvas.getBoundingClientRect();
mouse.x = (event.clientX - rect.left) / rect.width;
mouse.y = (event.clientY - rect.top) / rect.height;
});
function resize() {
const rect = canvas.getBoundingClientRect();
canvas.width = Math.floor(rect.width * devicePixelRatio);
canvas.height = Math.floor(rect.height * devicePixelRatio);
ctx.setTransform(devicePixelRatio, 0, 0, devicePixelRatio, 0, 0);
}
function color(hue, alpha) {
return [
`rgba(53,108,255,${alpha})`,
`rgba(19,184,200,${alpha})`,
`rgba(47,191,113,${alpha})`,
`rgba(241,182,67,${alpha})`,
][hue];
}
function frame(t) {
const rect = canvas.getBoundingClientRect();
const w = rect.width;
const h = rect.height;
ctx.clearRect(0, 0, w, h);
ctx.fillStyle = "rgba(255,255,255,0.62)";
ctx.fillRect(0, 0, w, h);
nodes.forEach((node, i) => {
node.x += node.speed;
node.y += Math.sin(t * 0.001 + i) * 0.0006;
if (node.x > 1.08) node.x = -0.08;
const px = node.x * w;
const py = node.y * h;
const pull = Math.max(0, 1 - Math.hypot(node.x - mouse.x, node.y - mouse.y) * 2.5);
ctx.beginPath();
ctx.arc(px, py, node.r + pull * 6, 0, Math.PI * 2);
ctx.fillStyle = color(node.hue, 0.36 + pull * 0.22);
ctx.fill();
for (let j = i + 1; j < nodes.length; j++) {
const other = nodes[j];
const dx = (node.x - other.x) * w;
const dy = (node.y - other.y) * h;
const dist = Math.hypot(dx, dy);
if (dist < 110) {
ctx.strokeStyle = color(node.hue, 0.16 * (1 - dist / 110));
ctx.lineWidth = 1;
ctx.beginPath();
ctx.moveTo(px, py);
ctx.lineTo(other.x * w, other.y * h);
ctx.stroke();
}
}
});
const lanes = [0.25, 0.42, 0.59, 0.76];
lanes.forEach((lane, i) => {
const y = lane * h + Math.sin(t * 0.002 + i) * 10;
const grad = ctx.createLinearGradient(0, y, w, y);
grad.addColorStop(0, "rgba(53,108,255,0)");
grad.addColorStop(0.5, color(i, 0.22));
grad.addColorStop(1, "rgba(47,191,113,0)");
ctx.strokeStyle = grad;
ctx.lineWidth = 3;
ctx.beginPath();
ctx.moveTo(0, y);
for (let x = 0; x <= w; x += 18) {
ctx.lineTo(x, y + Math.sin(x * 0.018 + t * 0.003 + i) * 16);
}
ctx.stroke();
});
requestAnimationFrame(frame);
}
resize();
addEventListener("resize", resize);
requestAnimationFrame(frame);
}
async function init() {
setupCanvas();
setupForm();
const [metrics, services, catalog, product] = await Promise.all([
fetchJson("/api/metrics"),
fetchJson("/api/service-types"),
fetchJson("/api/model-catalog"),
fetchJson("/api/productization"),
]);
state.metrics = metrics.series;
state.services = services.service_types;
state.sizing = metrics.gpu_sizing || [];
state.benchmarkPlan = metrics.benchmark_plan || null;
state.l40sBenchmarks = metrics.l40s_benchmarks || null;
state.catalog = catalog;
state.product = product;
renderServices();
renderProductization();
renderModelMatrix();
renderCatalog();
renderGpuGuide();
renderMeasuredResults();
const select = document.getElementById("modelSelect");
state.metrics.forEach((item, index) => {
const option = document.createElement("option");
option.value = index;
option.textContent = `${item.model} - ${item.claim_ready ? "claim-ready" : item.measurement_status}`;
select.appendChild(option);
});
select.addEventListener("change", () => updateChart(Number(select.value)));
const defaultIndex = Math.max(0, state.metrics.findIndex((item) => item.claim_ready === true));
select.value = defaultIndex;
updateChart(defaultIndex);
}
init().catch((error) => {
document.body.insertAdjacentHTML("afterbegin", `<div style="padding:16px;background:#fff3f3;color:#8a1f2d">${error.message}</div>`);
});
</script>
<script>
(async function(){
try{
const res = await fetch("/api/metrics"); const d = await res.json();
let rows = (d.series||[]).filter(x=>Number.isFinite(Number(x.vkae_tps))&&Number.isFinite(Number(x.baseline_tps))&&Number(x.baseline_tps)>0);
rows.forEach(x=>{ x.speedup = Number(x.vkae_tps)/Number(x.baseline_tps); });
let key="vkae_tps";
const body=document.getElementById("lbBody");
const num=(v)=>Number(v).toLocaleString(undefined,{maximumFractionDigits:1});
function render(){
rows.sort((a,b)=>Number(b[key])-Number(a[key]));
body.innerHTML="";
rows.forEach((x,i)=>{
const top=i===0;
const tr=document.createElement("tr");
tr.style.borderTop="1px solid rgba(128,128,128,0.20)";
if(top) tr.style.background="rgba(255,196,55,0.16)";
tr.innerHTML=
`<td style="padding:10px 12px;font-weight:600">${top?'&#129351; ':''}${i+1}</td>`+
`<td style="padding:10px 12px;font-weight:${top?600:500}">${x.model||x.model_id||'-'}</td>`+
`<td style="padding:10px 12px;opacity:.75">${x.size||'-'}</td>`+
`<td style="padding:10px 12px;opacity:.75">${x.hardware||'-'}</td>`+
`<td style="padding:10px 12px;text-align:right">${num(x.baseline_tps)}</td>`+
`<td style="padding:10px 12px;text-align:right;font-weight:600">${num(x.vkae_tps)}</td>`+
`<td style="padding:10px 12px;text-align:right"><span style="background:rgba(80,180,120,.20);padding:2px 9px;border-radius:20px;white-space:nowrap">${x.speedup.toFixed(1)}x</span></td>`+
`<td style="padding:10px 12px;white-space:nowrap;font-size:16px">`+
(x.docker_url?`<a href="${x.docker_url}" target="_blank" rel="noopener" title="Docker image" style="text-decoration:none;margin-right:8px">&#128051;</a>`:'')+
(x.hf_url?`<a href="${x.hf_url}" target="_blank" rel="noopener" title="Hugging Face model card" style="text-decoration:none">&#129303;</a>`:'')+
((!x.docker_url&&!x.hf_url)?`<span style="opacity:.3">&mdash;</span>`:'')+
`</td>`;
body.appendChild(tr);
});
}
document.querySelectorAll('#vkae-leaderboard th[data-sort]').forEach(th=>{
th.style.userSelect="none";
th.addEventListener('click',()=>{ key=th.getAttribute('data-sort'); render(); });
});
render();
}catch(e){ const b=document.getElementById("lbBody"); if(b) b.innerHTML='<tr><td colspan="8" style="padding:14px;opacity:.6">Leaderboard unavailable.</td></tr>'; }
})();
</script>
</body>
</html>