Compare commits

2 Commits

Author SHA1 Message Date
Mario Lavoie (Clawdbot)
324bc9ba79 Overhaul CDR deck: Atomaste dark theme + all images + updated content 2026-01-30 15:30:33 +00:00
Mario Lavoie (Clawdbot)
80d92e1440 Add GigaBIT M1 CDR web deck (Reveal.js) 2026-01-29 03:08:05 +00:00
61 changed files with 1081 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
# Gigabit Optique Fullum — CDR Deck (Reveal.js)
URLs (once deployed to Hostinger):
- Gate: `https://atomaste.ca/decks/gigabit-optique-fullum-cdr/enter.html`
- Deck: `https://atomaste.ca/decks/gigabit-optique-fullum-cdr/`
## Security note
`enter.html` is a lightweight client-side code gate (not strong security). Use for "share link + code" only.
## To customize
- Edit the access code in `enter.html` (`const CODE = ...`). Current: `stratosphere`.
- Replace placeholders in `index.html`.
- Add images/plots under `assets/` and reference with `./assets/...`.
## PDF export
Open the deck and print to PDF (browser print) or use Reveal's built-in PDF mode.

Binary file not shown.

After

Width:  |  Height:  |  Size: 831 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 813 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 811 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 790 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 470 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 548 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 527 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 757 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 386 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 919 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 954 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 964 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 448 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 735 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 631 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 391 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 791 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 963 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

View File

@@ -0,0 +1,60 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Enter code — Atomaste CDR</title>
<meta name="robots" content="noindex, nofollow" />
<link rel="icon" type="image/svg+xml" href="/Media/Atomaste_logo_A.svg?v=2">
<style>
:root { --bg:#0b0f14; --fg:#e8eef7; --muted:#a8b3c2; --accent:#7dd3fc; }
body{ margin:0; min-height:100vh; display:grid; place-items:center; background: radial-gradient(900px 600px at 15% 10%, rgba(125,211,252,0.14), transparent 55%), linear-gradient(180deg,#070a0f 0%, var(--bg) 100%); color:var(--fg); font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial; }
.card{ width:min(520px, 92vw); border:1px solid rgba(232,238,247,0.14); border-radius:16px; background: rgba(255,255,255,0.03); padding: 24px; }
.row{ display:flex; gap:10px; margin-top:12px; }
input{ flex:1; padding:12px 14px; border-radius:12px; border:1px solid rgba(232,238,247,0.14); background: rgba(0,0,0,0.25); color:var(--fg); font-size:16px; }
button{ padding:12px 14px; border-radius:12px; border:1px solid rgba(232,238,247,0.14); background: rgba(125,211,252,0.14); color:var(--fg); font-size:16px; cursor:pointer; }
.hint{ color: rgba(232,238,247,0.65); font-size: 13px; margin-top: 10px; }
.error{ color:#fca5a5; margin-top:10px; display:none; }
img{ height:22px; opacity:0.9; }
.brand{ display:flex; align-items:center; gap:10px; margin-bottom:10px; }
</style>
</head>
<body>
<div class="card">
<div class="brand">
<img src="/Media/Atomaste_light_grey_Logo.svg" alt="Atomaste" />
<div style="font-weight:600">CDR Deck Access</div>
</div>
<div style="font-size: 14px; color: rgba(232,238,247,0.75)">Enter the access code to open the presentation.</div>
<div class="row">
<input id="code" type="password" placeholder="Access code" autocomplete="off" />
<button id="go">Open</button>
</div>
<div class="error" id="err">Incorrect code.</div>
<div class="hint">Note: this is a lightweight gate (link + code), not strong security.</div>
</div>
<script>
// NOTE: This is intentionally simple. Not real security.
// Change the CODE value before sharing.
const CODE = 'stratosphere';
const $ = (id) => document.getElementById(id);
const go = () => {
const val = $('code').value.trim();
if (val === CODE) {
// Lightweight gate: store a marker then redirect.
try { localStorage.setItem('atomaste_deck_gof_cdr', CODE); } catch (e) {}
window.location.href = './index.html';
} else {
$('err').style.display = 'block';
}
};
$('go').addEventListener('click', go);
$('code').addEventListener('keydown', (e) => { if (e.key === 'Enter') go(); });
</script>
</body>
</html>

View File

@@ -0,0 +1,877 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="robots" content="noindex, nofollow">
<title>GigaBIT M1 — Critical Design Review</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reveal.js@5.1.0/dist/reveal.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reveal.js@5.1.0/dist/theme/black.css">
<link rel="icon" type="image/svg+xml" href="/Media/Atomaste_logo_A.svg?v=2">
<style>
:root {
--r-heading-color: #e8eef7;
--r-main-color: #c8d4e4;
--r-link-color: #7dd3fc;
--accent: #f87171;
--accent2: #4ade80;
--accent3: #7dd3fc;
--accent4: #a78bfa;
--bg: #0b0f14;
--bg-card: rgba(255,255,255,0.04);
--border: rgba(232,238,247,0.12);
}
.reveal { font-family: ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; color: var(--r-main-color); }
.reveal h1, .reveal h2, .reveal h3 { font-weight: 700; letter-spacing: -0.02em; color: var(--r-heading-color); }
.reveal h1 { font-size: 2.0em; }
.reveal h2 { font-size: 1.5em; }
.reveal h3 { font-size: 1.1em; color: var(--accent3); }
.reveal p, .reveal li { font-size: 0.72em; line-height: 1.55; }
.reveal table { font-size: 0.62em; margin: 0.4em auto; border-collapse: collapse; }
.reveal th { background: rgba(125,211,252,0.15); color: #e8eef7; padding: 6px 14px; border-bottom: 2px solid rgba(125,211,252,0.3); }
.reveal td { padding: 5px 14px; border-bottom: 1px solid var(--border); color: #c8d4e4; }
.reveal tr:nth-child(even) { background: rgba(255,255,255,0.02); }
.reveal-viewport {
background: radial-gradient(1200px 800px at 15% 10%, rgba(125,211,252,0.12), transparent 55%),
radial-gradient(900px 600px at 85% 30%, rgba(167,139,250,0.10), transparent 60%),
linear-gradient(180deg, #070a0f 0%, #0b0f14 100%);
}
.reveal-viewport::before {
content: "";
position: fixed; inset: 0; pointer-events: none;
background:
radial-gradient(500px 320px at 10% 20%, rgba(125,211,252,0.08), transparent 60%),
radial-gradient(420px 280px at 90% 40%, rgba(167,139,250,0.06), transparent 62%);
animation: atomasteFloat 18s ease-in-out infinite;
}
@keyframes atomasteFloat {
0% { transform: translate3d(0,0,0); }
50% { transform: translate3d(18px,-10px,0); }
100% { transform: translate3d(0,0,0); }
}
.title-slide h1 { font-size: 2.2em; margin-bottom: 0.1em; }
.title-slide .subtitle { font-size: 1.1em; color: var(--accent3); margin-bottom: 0.6em; }
.title-slide .meta { font-size: 0.65em; color: rgba(232,238,247,0.6); }
.highlight-box {
background: rgba(125,211,252,0.08);
border-left: 4px solid var(--accent3);
padding: 14px 20px; margin: 12px 0; border-radius: 6px;
text-align: left;
}
.highlight-box p { margin: 0.2em 0; }
.success-box {
background: rgba(74,222,128,0.08);
border-left: 4px solid var(--accent2);
padding: 14px 20px; margin: 12px 0; border-radius: 6px;
text-align: left;
}
.warn-box {
background: rgba(251,191,36,0.08);
border-left: 4px solid #fbbf24;
padding: 14px 20px; margin: 12px 0; border-radius: 6px;
text-align: left;
}
.metric-row { display: flex; gap: 18px; justify-content: center; flex-wrap: wrap; margin: 16px 0; }
.metric-card {
background: var(--bg-card); border: 1px solid var(--border); border-radius: 10px;
padding: 14px 22px; text-align: center; min-width: 140px;
box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}
.metric-card .value { font-size: 1.6em; font-weight: 800; color: #e8eef7; }
.metric-card .label { font-size: 0.55em; color: rgba(232,238,247,0.6); margin-top: 2px; }
.metric-card.green .value { color: var(--accent2); }
.metric-card.blue .value { color: var(--accent3); }
.metric-card.red .value { color: var(--accent); }
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.three-col { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; align-items: start; }
.reveal img.slide-img { max-height: 420px; border-radius: 8px; box-shadow: 0 4px 16px rgba(0,0,0,0.3); }
.reveal img.small-img { max-height: 300px; border-radius: 6px; box-shadow: 0 3px 10px rgba(0,0,0,0.25); }
.reveal img.thumb { max-height: 220px; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.2); }
.caption { font-size: 0.52em; color: rgba(232,238,247,0.5); margin-top: 4px; font-style: italic; }
.tag { display: inline-block; padding: 2px 10px; border-radius: 12px; font-size: 0.55em; font-weight: 600; }
.tag-done { background: rgba(74,222,128,0.15); color: #4ade80; }
.tag-open { background: rgba(251,191,36,0.15); color: #fbbf24; }
.tag-new { background: rgba(125,211,252,0.15); color: #7dd3fc; }
.timeline { text-align: left; margin: 0 auto; max-width: 600px; }
.timeline-item {
position: relative; padding-left: 28px; margin-bottom: 14px;
border-left: 3px solid var(--accent3);
}
.timeline-item::before {
content: ''; position: absolute; left: -7px; top: 4px;
width: 11px; height: 11px; border-radius: 50%;
background: var(--accent3); border: 2px solid var(--bg);
}
.timeline-item.done { border-left-color: var(--accent2); }
.timeline-item.done::before { background: var(--accent2); }
.timeline-item .date { font-size: 0.55em; color: rgba(232,238,247,0.5); }
.timeline-item .desc { font-size: 0.65em; }
.slide-number { font-size: 0.5em !important; }
.reveal .footer-bar {
position: fixed; bottom: 0; left: 0; right: 0;
background: rgba(11,15,20,0.85); color: rgba(232,238,247,0.5);
font-size: 0.4em; padding: 4px 24px;
display: flex; justify-content: space-between; align-items: center;
z-index: 100; backdrop-filter: blur(8px);
border-top: 1px solid var(--border);
}
.footer-bar img { height: 16px; opacity: 0.7; margin-right: 8px; vertical-align: middle; }
</style>
</head>
<body>
<div class="reveal">
<div class="slides">
<!-- ===== TITLE ===== -->
<section class="title-slide" data-background-gradient="linear-gradient(135deg, #0b0f14 0%, #111827 50%, #0b0f14 100%)">
<h1 style="color:white;">GigaBIT M1 Primary Mirror</h1>
<div class="subtitle">Critical Design Review</div>
<hr style="border:none; height:2px; background:rgba(125,211,252,0.25); width:40%; margin:0.6em auto;">
<div class="meta">
<p>Optiques Fullum &amp; Atomaste Solution</p>
<p>January 2026</p>
<p style="margin-top:1em; font-size:0.85em;">Presented to StarSpec</p>
</div>
</section>
<!-- ===== AGENDA ===== -->
<section>
<h2>Agenda</h2>
<div style="text-align:left; max-width:600px; margin:0 auto;">
<ol style="font-size:0.75em; line-height:2;">
<li class="fragment fade-up">CDR Objectives &amp; Scope</li>
<li class="fragment fade-up">M1 Design Overview</li>
<li class="fragment fade-up">Support System Architecture</li>
<li class="fragment fade-up">Optimization &amp; Cost Reduction Campaign</li>
<li class="fragment fade-up">Selected Design — Option B Performance</li>
<li class="fragment fade-up">Recent Development: Refined Contact Model</li>
<li class="fragment fade-up">Boundary Condition Strategy</li>
<li class="fragment fade-up">Reference Frame — Scope &amp; Requirements</li>
<li class="fragment fade-up">Risk Assessment</li>
<li class="fragment fade-up">Path Forward &amp; Recommendation</li>
</ol>
</div>
</section>
<!-- ===== CDR OBJECTIVES ===== -->
<section>
<h2>CDR Objectives</h2>
<div class="highlight-box">
<p style="font-size:0.8em; font-weight:600;">Goal: Establish design maturity sufficient to authorize blank procurement from Schott.</p>
</div>
<br>
<div style="text-align:left; max-width:650px; margin:0 auto;">
<ol style="font-size:0.68em; line-height:1.8;">
<li class="fragment fade-up">Validate M1 design meets optical &amp; mechanical requirements</li>
<li class="fragment fade-up">Document cost reduction campaign &amp; trade-off analysis</li>
<li class="fragment fade-up">Present final design selection with supporting data</li>
<li class="fragment fade-up">Define support system architecture &amp; reference frame concept</li>
<li class="fragment fade-up">Establish procurement path &amp; timeline</li>
</ol>
</div>
<br>
<p style="font-size:0.6em; color:rgba(232,238,247,0.5);">Scope: M1 blank design + support system architecture.<br>
Reference frame detailed design &amp; STOP analysis → FDR phase.</p>
</section>
<!-- ===== M1 DESIGN OVERVIEW ===== -->
<section>
<h2>M1 Mirror Blank — Design Overview</h2>
<div class="two-col">
<div>
<img src="./assets/components/M1-Blank/hero.png" class="slide-img" alt="M1 Blank">
<div class="caption">M1 blank — lightweighted back face with honeycomb rib structure</div>
</div>
<div style="text-align:left;">
<h3>Optical Prescription</h3>
<table>
<tr><td><b>Surface</b></td><td>Near-parabolic (k = 0.9886)</td></tr>
<tr><td><b>Radius of curvature</b></td><td>2893.6 mm ± 3 mm</td></tr>
<tr><td><b>Clear aperture</b></td><td>1202 mm</td></tr>
<tr><td><b>Material</b></td><td>ZERODUR Class 0</td></tr>
</table>
<h3 style="margin-top:0.6em;">Option B Geometry</h3>
<table>
<tr><td><b>Back face angle</b></td><td>4.01°</td></tr>
<tr><td><b>Center thickness</b></td><td>85 mm</td></tr>
<tr><td><b>Mass</b></td><td>95.81 kg</td></tr>
<tr><td><b>Support bosses</b></td><td>54 (30 mm Ø)</td></tr>
</table>
</div>
</div>
</section>
<!-- ===== M1 WITH SUPPORT ===== -->
<section>
<h2>M1 Assembly</h2>
<div class="two-col">
<div>
<img src="./assets/components/M1-Blank/with-vertical-iso.png" class="small-img" alt="M1 with vertical support">
<div class="caption">M1 with 54-point whiffletree support</div>
</div>
<div>
<img src="./assets/components/Full-Assembly/isometric.png" class="small-img" alt="Full assembly">
<div class="caption">Full M1 assembly — blank + supports + reference frame</div>
</div>
</div>
</section>
<!-- ===== SUPPORT SYSTEM ===== -->
<section>
<h2>Support System Architecture</h2>
<div class="two-col">
<div style="text-align:left;">
<h3>Vertical Support — 54-Point Whiffletree</h3>
<ul style="font-size:0.65em;">
<li class="fragment fade-up">3-stage hierarchy (18 contact points × 3)</li>
<li class="fragment fade-up">Carbon fiber plates for thermal isolation</li>
<li class="fragment fade-up">RDOF joints: 150 Nm·m stiffness (negligible WFE impact)</li>
<li class="fragment fade-up">Spherical joints for self-alignment</li>
</ul>
<h3 style="margin-top:0.6em;">Lateral Support — 3-Point System</h3>
<ul style="font-size:0.65em;">
<li class="fragment fade-up">Roll restraint ±7.5°</li>
<li class="fragment fade-up">Low-friction sliding interface (Teflon-like)</li>
<li class="fragment fade-up">Minimizes parasitic frame distortion transfer</li>
<li class="fragment fade-up">Parameterized pivot positions (inner/outer/middle)</li>
</ul>
</div>
<div>
<img src="./assets/components/Vertical-Support/isometric.png" class="small-img" alt="Vertical support isometric">
<div class="caption">Vertical support — whiffletree isometric view</div>
<br>
<img src="./assets/components/Lateral-Support/detail.png" class="thumb" alt="Lateral support">
<div class="caption">Lateral support detail</div>
</div>
</div>
</section>
<!-- ===== SUPPORT SYSTEM DETAILS ===== -->
<section>
<h2>Support System — Detail Views</h2>
<div class="three-col">
<div>
<img src="./assets/components/Vertical-Support/stage-1.png" class="thumb" alt="Stage 1">
<div class="caption">Stage 1 — Pads</div>
</div>
<div>
<img src="./assets/components/Vertical-Support/stage-2.png" class="thumb" alt="Stage 2">
<div class="caption">Stage 2 — Intermediate lever</div>
</div>
<div>
<img src="./assets/components/Vertical-Support/stage-3.png" class="thumb" alt="Stage 3">
<div class="caption">Stage 3 — Frame interface arm</div>
</div>
</div>
<br>
<div class="two-col">
<div>
<img src="./assets/components/Vertical-Support/spherical-joint.png" class="thumb" alt="Spherical joint">
<div class="caption">Spherical joint — self-alignment</div>
</div>
<div>
<img src="./assets/components/Stage-3-Arm/detail.png" class="thumb" alt="Stage 3 arm">
<div class="caption">Stage 3 arm — connection detail</div>
</div>
</div>
</section>
<!-- ===== REFERENCE FRAME ===== -->
<section>
<h2>Reference Frame — Concept</h2>
<div class="two-col">
<div>
<img src="./assets/components/Reference-Frame/hero.png" class="small-img" alt="Reference frame">
<div class="caption">CFRP reference frame concept</div>
</div>
<div>
<img src="./assets/components/Reference-Frame/top.png" class="small-img" alt="Reference frame top">
<div class="caption">Top view — interface point layout</div>
</div>
</div>
<br>
<div class="highlight-box">
<p style="font-size:0.65em;">Conceptual design provided by Optiques Fullum as a <b>good-faith proposal</b> to facilitate integration. Detailed design &amp; manufacturing = StarSpec responsibility.</p>
</div>
</section>
<!-- ===== OPTIMIZATION CAMPAIGN ===== -->
<section>
<h2>Optimization Campaign — Scale</h2>
<div class="metric-row">
<div class="metric-card blue"><div class="value">3,770+</div><div class="label">FEA Simulations</div></div>
<div class="metric-card"><div class="value">14</div><div class="label">Design Variables</div></div>
<div class="metric-card"><div class="value">5</div><div class="label">Algorithms Tested</div></div>
<div class="metric-card green"><div class="value">Confirmed</div><div class="label">Convergence</div></div>
</div>
<br>
<table>
<thead>
<tr><th>Campaign</th><th>FEA Trials</th><th>Algorithms</th><th>Focus</th></tr>
</thead>
<tbody>
<tr><td>Adaptive Support</td><td>~1,400</td><td>GNN+TuRBO, TPE, NSGA-II</td><td>Support position optimization</td></tr>
<tr><td>Cost Reduction</td><td>~900</td><td>TPE, CMA-ES</td><td>Geometry simplification</td></tr>
<tr><td>Flat Back Exploration</td><td>1,470</td><td>TPE, SAT v3, L-BFGS</td><td>Manufacturing trade study</td></tr>
</tbody>
</table>
<br>
<div class="success-box">
<p style="font-size:0.65em;">✅ Design space thoroughly explored. Multiple algorithms converge to same solution.</p>
</div>
</section>
<!-- ===== ATOMIZER FRAMEWORK ===== -->
<section>
<h2>Atomizer — Custom Optimization Framework</h2>
<div style="text-align:left; max-width:650px; margin:0 auto;">
<h3>Evolution since PDR</h3>
<ul style="font-size:0.65em;">
<li class="fragment fade-up">Transitioned from HEEDS MDO → <b>Atomizer</b> (fully custom)</li>
<li class="fragment fade-up">Full control over algorithm selection &amp; tuning</li>
<li class="fragment fade-up"><b>OPD-based Zernike extraction</b> — accounts for lateral (X,Y) displacement, not just axial (Z)</li>
<li class="fragment fade-up">Complete traceability through version-controlled studies</li>
</ul>
<h3 style="margin-top:0.6em;">Key Algorithms</h3>
<ul style="font-size:0.65em;">
<li><b>TPE</b> — Bayesian optimization baseline</li>
<li><b>GNN Surrogate</b> — Graph Neural Network (~0.95 R² on Zernike coefficients)</li>
<li><b>SAT v3</b> — Self-Aware TuRBO with adaptive exploration schedule</li>
<li><b>L-BFGS</b> — Gradient-based polish for final refinement</li>
</ul>
</div>
</section>
<!-- ===== COST REDUCTION ===== -->
<section>
<h2>Cost Reduction Campaign</h2>
<div class="highlight-box">
<p style="font-size:0.7em;"><b>Problem:</b> Schott quote $625K vs. $523K budget → $102K gap to close</p>
</div>
<br>
<div class="two-col">
<div style="text-align:left;">
<h3>Strategy 1: Geometry Simplifications</h3>
<table>
<tr><th>Modification</th><th>Impact</th><th>Verdict</th></tr>
<tr><td>Remove structural ribs</td><td>+92% WFE</td><td style="color:var(--accent);">✗ Rejected</td></tr>
<tr><td>Support cone → 0°</td><td>+3.3%</td><td style="color:var(--accent2);">✓ Acceptable</td></tr>
<tr><td>Remove center mini ribs</td><td><b>1.6%</b></td><td style="color:var(--accent2);">✓ Recommended</td></tr>
<tr><td>Center thickness 85→80</td><td>+8.2%</td><td style="color:var(--accent);">✗ Rejected</td></tr>
</table>
</div>
<div style="text-align:left;">
<h3>Strategy 2: Flat Back Variant</h3>
<ul style="font-size:0.65em;">
<li>Eliminates taper machining entirely</li>
<li>No jig required</li>
<li>1,470 FEA trials across 10 versions</li>
<li>49% improvement in MFG deformation</li>
<li>Mass trade-off: +16 kg</li>
</ul>
</div>
</div>
<br>
<div class="success-box">
<p style="font-size:0.65em;">✅ Campaign closed the cost gap. Option B: $525K (+0.4% of budget). Option C: $520K.</p>
</div>
</section>
<!-- ===== KEY FINDING ===== -->
<section>
<h2>Key Finding — Structural Ribs Are Non-Negotiable</h2>
<div style="text-align:left; max-width:650px; margin:0 auto;">
<p style="font-size:0.72em;">The sensitivity analysis revealed a <b>critical design hierarchy</b>:</p>
<table>
<thead><tr><th>Rank</th><th>Parameter</th><th>Sensitivity</th></tr></thead>
<tbody>
<tr><td>1</td><td>Structural Rib Topology</td><td style="color:var(--accent);font-weight:700;">CRITICAL (6792% degradation)</td></tr>
<tr><td>2</td><td>Center Thickness</td><td style="color:var(--accent);font-weight:700;">CRITICAL (+106% MFG)</td></tr>
<tr><td>3</td><td>Pocket Radii</td><td style="color:#fbbf24;font-weight:600;">HIGH (requires re-optimization)</td></tr>
<tr><td>4</td><td>Center Mini Ribs</td><td style="color:var(--accent2);font-weight:600;">POSITIVE (79% improvement)</td></tr>
<tr><td>5</td><td>Support Cone Angle</td><td>Low-Moderate</td></tr>
<tr><td>6</td><td>RDOF Stiffness</td><td>Negligible (&lt;0.2%)</td></tr>
</tbody>
</table>
<br>
<div class="warn-box">
<p style="font-size:0.65em;">⚠️ The ribs provide stiffness against asymmetric gravity deflection. Removing them increases high-order aberrations (J4+) by 2.4×. This finding de-risked the design decision.</p>
</div>
</div>
</section>
<!-- ===== SELECTED DESIGN ===== -->
<section>
<h2>Selected Design — Option B (Conical V14)</h2>
<div class="metric-row">
<div class="metric-card green"><div class="value">7.70 nm</div><div class="label">WFE 40° (65% margin)</div></div>
<div class="metric-card green"><div class="value">17.69 nm</div><div class="label">WFE 60° (20% margin)</div></div>
<div class="metric-card"><div class="value">37.06 nm</div><div class="label">MFG 90° (acceptable)</div></div>
</div>
<div class="metric-row">
<div class="metric-card green"><div class="value">95.81 kg</div><div class="label">Mass (7.4% margin)</div></div>
<div class="metric-card blue"><div class="value">$525K</div><div class="label">Schott Quote (+0.4%)</div></div>
<div class="metric-card"><div class="value">22 nm</div><div class="label">Requirement (λ/25)</div></div>
</div>
<br>
<table>
<thead><tr><th>Factor</th><th>Option B (Selected)</th><th>Option C (Trade Study)</th></tr></thead>
<tbody>
<tr><td><b>WFE 40°</b></td><td>7.70 nm</td><td>8.09 nm</td></tr>
<tr><td><b>WFE 60°</b></td><td>17.69 nm</td><td>18.81 nm</td></tr>
<tr><td><b>Mass</b></td><td style="color:var(--accent2);">95.81 kg ✓</td><td>102.38 kg</td></tr>
<tr><td><b>Quote</b></td><td>$525,000</td><td>$520,000</td></tr>
<tr><td><b>Risk</b></td><td style="color:var(--accent2);">Lower (proven geometry)</td><td>Moderate (new variant)</td></tr>
</tbody>
</table>
</section>
<!-- ===== RECENT DEV: CONTACT MODEL ===== -->
<section>
<h2>Recent Development — Refined Lateral Contact Model</h2>
<div class="highlight-box">
<p style="font-size:0.7em;"><b>Design decision (Jan 30, 2026):</b> Changed lateral shoe-blank interface from silicone adhesive to low-friction sliding material (Teflon-like).</p>
</div>
<br>
<div class="two-col">
<div style="text-align:left;">
<h3>Why this change?</h3>
<ul style="font-size:0.65em;">
<li class="fragment fade-up"><b>Mirror independence</b> — blank floats freely within lateral supports</li>
<li class="fragment fade-up"><b>No parasitic transfer</b> — frame distortions decoupled from mirror</li>
<li class="fragment fade-up"><b>Conservative</b> — worst-case for self-support; actual friction → <i>better</i> performance</li>
</ul>
</div>
<div>
<table>
<thead><tr><th>Metric</th><th>Previous</th><th>Refined</th><th>Δ</th></tr></thead>
<tbody>
<tr><td><b>WFE 40°</b></td><td>6.12 nm</td><td>7.70 nm</td><td>+26%</td></tr>
<tr><td><b>WFE 60°</b></td><td>13.41 nm</td><td>17.69 nm</td><td>+32%</td></tr>
<tr><td><b>MFG 90°</b></td><td>27.01 nm</td><td>37.06 nm</td><td>+37%</td></tr>
</tbody>
</table>
</div>
</div>
<br>
<div class="success-box">
<p style="font-size:0.65em;">✅ All values remain compliant with 22 nm requirement. Higher values = more physically accurate, not design degradation.</p>
</div>
</section>
<!-- ===== WFE FIGURES ===== -->
<section>
<h2>Optical Performance — WFE Surface Maps</h2>
<div class="two-col">
<div>
<img src="./assets/plots/html2.png" class="small-img" alt="WFE 40 vs 20">
<div class="caption">WFE surface — 40° vs 20° (7.70 nm RMS)</div>
</div>
<div>
<img src="./assets/plots/html3.png" class="small-img" alt="WFE 60 vs 20">
<div class="caption">WFE surface — 60° vs 20° (17.69 nm RMS)</div>
</div>
</div>
<br>
<p style="font-size:0.6em; color:rgba(232,238,247,0.5);">Refined contact model (Jan 30, 2026). J1J4 removed (piston, tip, tilt, defocus corrected by active optics).</p>
</section>
<!-- ===== MFG + BAR CHART ===== -->
<section>
<h2>Manufacturing &amp; Analysis Summary</h2>
<div class="two-col">
<div>
<img src="./assets/plots/html4.png" class="small-img" alt="MFG 90">
<div class="caption">Manufacturing residual at 90° — 37.06 nm RMS</div>
</div>
<div>
<img src="./assets/plots/html1.png" class="small-img" alt="Summary bar chart">
<div class="caption">Per-angle RMS WFE bar chart (Atomizer report)</div>
</div>
</div>
</section>
<!-- ===== ZERNIKE & PSD ===== -->
<section>
<h2>Zernike Trajectory &amp; PSD Analysis</h2>
<div class="two-col">
<div>
<img src="./assets/plots/html5.png" class="small-img" alt="Zernike trajectory">
<div class="caption">Zernike mode RMS vs. elevation — Spherical (Z11) dominates. Linear R² = 1.0000</div>
</div>
<div>
<img src="./assets/plots/html7.png" class="small-img" alt="Surface PSD">
<div class="caption">Surface PSD — gravity signature, support print-through, high-frequency bands</div>
</div>
</div>
<br>
<p style="font-size:0.6em; color:rgba(232,238,247,0.5);">PSD analysis confirms support print-through dominates (7185% of total WFE). Predictable and well-characterized behavior.</p>
</section>
<!-- ===== ZERNIKE COEFFICIENTS ===== -->
<section>
<h2>Zernike Coefficient Breakdown</h2>
<div class="three-col">
<div>
<img src="./assets/plots/html10.png" class="thumb" alt="Zernike 40">
<div class="caption">40° vs 20° — Defocus (J04) dominant</div>
</div>
<div>
<img src="./assets/plots/html11.png" class="thumb" alt="Zernike 60">
<div class="caption">60° vs 20° — Secondary Astigmatism (J13) rises</div>
</div>
<div>
<img src="./assets/plots/html12.png" class="thumb" alt="Zernike 90">
<div class="caption">90° absolute — Spherical (J11) at 37.5 nm</div>
</div>
</div>
</section>
<!-- ===== MODAL ANALYSIS ===== -->
<section>
<h2>Modal Analysis — Natural Frequencies</h2>
<div class="highlight-box">
<p style="font-size:0.7em;"><b>First mode: 250.4 Hz</b> — exceeds 150 Hz requirement by 67% margin.</p>
</div>
<br>
<div class="two-col">
<div>
<table>
<thead><tr><th>Mode</th><th>Freq (Hz)</th><th>Description</th></tr></thead>
<tbody>
<tr><td>1</td><td><b>250.4</b></td><td>Trefoil bending (3-nodal dia.)</td></tr>
<tr><td>2</td><td>259.3</td><td>Astigmatic bending (2-nodal dia.)</td></tr>
<tr><td>3</td><td>466.2</td><td>Rocking/tilting</td></tr>
<tr><td>4</td><td>668.8</td><td>Higher-order bending</td></tr>
</tbody>
</table>
</div>
<div>
<img src="./assets/plots/Mode1.png" class="small-img" alt="Mode 1 shape">
<div class="caption">Mode 1 (250.4 Hz) — trefoil bending, 3-nodal diameter pattern</div>
</div>
</div>
<br>
<p style="font-size:0.6em; color:rgba(232,238,247,0.5);">SOL 103 analysis with fixed BCs at all 54 whiffletree + 3 lateral support points. All 10 modes well above 150 Hz.</p>
</section>
<!-- ===== BOUNDARY CONDITION STRATEGY ===== -->
<section>
<h2>Boundary Condition Strategy</h2>
<div style="text-align:left; max-width:680px; margin:0 auto;">
<h3>The Decoupling Approach</h3>
<p style="font-size:0.68em;">We deliberately decouple two problems that can be solved independently:</p>
<div class="highlight-box">
<p style="font-size:0.68em;"><b>Step 1:</b> Optimize blank for ideal fixed BCs → <span class="tag tag-done">Complete (CDR)</span></p>
<p style="font-size:0.68em;"><b>Step 2:</b> Engineer reference frame to approach ideal BCs → <span class="tag tag-open">In progress (FDR)</span></p>
</div>
<br>
<h3>Why this works</h3>
<ul style="font-size:0.65em;">
<li class="fragment fade-up">Reduces complexity: 14 variables vs. 60+ (blank + frame coupled)</li>
<li class="fragment fade-up">Blank procurement &amp; frame design proceed <b>in parallel</b></li>
<li class="fragment fade-up">Clear success criteria: frame stiffness targets derived from WFE sensitivity</li>
<li class="fragment fade-up">Standard practice in large telescope projects (TMT, GMT, E-ELT)</li>
</ul>
<br>
<h3>The self-maintaining structure</h3>
<p style="font-size:0.65em;">The optimized blank is a <b>self-maintaining structure</b> — ribs aligned with gravity load paths, mass placed where stiffness is needed. Even with moderate support compliance, inherent structural efficiency limits WFE growth.</p>
</div>
</section>
<!-- ===== REFERENCE FRAME SCOPE ===== -->
<section>
<h2>Reference Frame — Scope &amp; Requirements</h2>
<div class="two-col">
<div style="text-align:left;">
<h3>Scope Boundary</h3>
<table>
<tr><th>Deliverable</th><th>Owner</th><th>Status</th></tr>
<tr><td>M1 Blank (Zerodur)</td><td>Optiques Fullum</td><td><span class="tag tag-done">CDR ✓</span></td></tr>
<tr><td>Vertical Support (54-pt)</td><td>Optiques Fullum</td><td><span class="tag tag-done">CDR ✓</span></td></tr>
<tr><td>Lateral Support (3-pt)</td><td>Optiques Fullum</td><td><span class="tag tag-done">CDR ✓</span></td></tr>
<tr><td>Reference Frame</td><td>StarSpec</td><td><span class="tag tag-new">Concept proposed</span></td></tr>
</table>
<br>
<h3>Frame Stiffness Targets</h3>
<table>
<tr><th>Parameter</th><th>Requirement</th></tr>
<tr><td>Support point deflection</td><td>&lt; 1 μm</td></tr>
<tr><td>First mode (frame + mirror)</td><td>&gt; 150 Hz</td></tr>
<tr><td>Mass (frame only)</td><td>&lt; 20 kg</td></tr>
</table>
</div>
<div>
<img src="./assets/components/Reference-Frame/side.png" class="small-img" alt="Reference frame side">
<div class="caption">Reference frame — side view</div>
<br>
<div class="warn-box">
<p style="font-size:0.6em;">⚠️ <b>CDR Open Item:</b> ΔWFE vs. stiffness sweep not yet executed. Method is defined; execution is highest-priority post-CDR task.</p>
</div>
</div>
</div>
</section>
<!-- ===== WHY ORDER NOW ===== -->
<section>
<h2>Why It's Safe to Order the Blank Now</h2>
<div style="text-align:left; max-width:680px; margin:0 auto;">
<h3>Evidence of Convergence</h3>
<table>
<tr><th>Campaign</th><th>Improvement</th><th>Trials After Plateau</th></tr>
<tr><td>Flat Back V9 → V10</td><td>+1.3% (worse)</td><td>296</td></tr>
<tr><td>Adaptive V13 → V14</td><td>5.9% (better)</td><td>785</td></tr>
<tr><td>Adaptive V14 → V15</td><td>0% (none)</td><td>126</td></tr>
</table>
<br>
<h3>The Frame is a Solvable Problem</h3>
<ul style="font-size:0.65em;">
<li class="fragment fade-up">Known physics — CFRP structural engineering, not research</li>
<li class="fragment fade-up">Conservative stiffness target (&lt;1 μm) with margin</li>
<li class="fragment fade-up">Mitigation options exist if needed (local stiffening, shimming)</li>
<li class="fragment fade-up">Frame development is <b>independent</b> of blank design</li>
</ul>
<br>
<div class="highlight-box">
<p style="font-size:0.7em;">🕐 <b>Schedule driver:</b> 18-week Schott lead time. Quote valid until <b>March 4, 2026</b>. Delaying for coupled optimization would extend program by months with uncertain benefit.</p>
</div>
</div>
</section>
<!-- ===== RISK ASSESSMENT ===== -->
<section>
<h2>Risk Assessment</h2>
<div class="two-col">
<div>
<table>
<thead><tr><th>Risk</th><th>L</th><th>I</th><th>Status</th></tr></thead>
<tbody>
<tr><td>Design convergence</td><td>1</td><td>3</td><td><span class="tag tag-done">Closed</span></td></tr>
<tr><td>Cost exceeds budget</td><td>2</td><td>2</td><td><span class="tag tag-done">Reduced</span></td></tr>
<tr><td>Schott delivery delay</td><td>2</td><td>3</td><td><span class="tag tag-open">Open</span></td></tr>
<tr><td>Frame stiffness</td><td>2</td><td>2</td><td><span class="tag tag-new">New</span></td></tr>
<tr><td>Mass exceedance</td><td>1</td><td>2</td><td><span class="tag tag-done">Closed</span></td></tr>
<tr><td>Polishing difficulty</td><td>1</td><td>3</td><td><span class="tag tag-done">Reduced</span></td></tr>
<tr><td>Interface incompatibility</td><td>2</td><td>2</td><td><span class="tag tag-open">Open</span></td></tr>
</tbody>
</table>
</div>
<div style="text-align:left;">
<h3>Trend Since PDR</h3>
<table>
<tr><th>Category</th><th>PDR</th><th>CDR</th><th></th></tr>
<tr><td>Technical</td><td>Medium</td><td style="color:var(--accent2);">Low-Med</td><td></td></tr>
<tr><td>Schedule</td><td>Medium</td><td>Medium</td><td></td></tr>
<tr><td>Cost</td><td>High</td><td style="color:var(--accent2);">Medium</td><td></td></tr>
<tr><td>Integration</td><td>Medium</td><td>Medium</td><td></td></tr>
</table>
<br>
<div class="success-box">
<p style="font-size:0.6em;">Technical and cost risks significantly improved since PDR. Risk posture supports procurement.</p>
</div>
</div>
</div>
</section>
<!-- ===== WHAT'S DONE / WHAT'S NEXT ===== -->
<section>
<h2>What's Done &amp; What's Next</h2>
<div class="two-col">
<div style="text-align:left;">
<h3 style="color:var(--accent2);">✅ Completed at CDR</h3>
<ul style="font-size:0.65em;">
<li>Mirror blank geometry — optimized &amp; validated</li>
<li>Support positions — optimized (14 variables)</li>
<li>Cost reduction campaign — closed $102K gap</li>
<li>Design selection — Option B confirmed</li>
<li>Whiffletree architecture — defined</li>
<li>Lateral support architecture — defined</li>
<li>Refined contact model — conservative basis</li>
<li>Schott quote received — $525K</li>
</ul>
</div>
<div style="text-align:left;">
<h3 style="color:var(--accent3);">🔜 Post-CDR Priorities</h3>
<ul style="font-size:0.65em;">
<li><b>Frame stiffness characterization</b> (ΔWFE vs. K sweep)</li>
<li>Reference frame preliminary design</li>
<li>Whiffletree detailed design</li>
<li>Lateral support detailed design</li>
<li>ICD finalization with StarSpec</li>
<li>Modal analysis (frame + mirror)</li>
<li>STOP analysis (StarSpec scope)</li>
</ul>
</div>
</div>
</section>
<!-- ===== TIMELINE ===== -->
<section>
<h2>Path to FDR — Timeline</h2>
<div class="timeline">
<div class="timeline-item done">
<div class="date">January 2026</div>
<div class="desc"><b>CDR Approval</b> &amp; Design Selection</div>
</div>
<div class="timeline-item done">
<div class="date">February 2026</div>
<div class="desc"><b>Blank Order</b> — Schott PO placement</div>
</div>
<div class="timeline-item">
<div class="date">February 2026</div>
<div class="desc"><b>Frame stiffness characterization</b> — Highest priority post-CDR</div>
</div>
<div class="timeline-item">
<div class="date">FebMarch 2026</div>
<div class="desc"><b>Reference frame preliminary design</b> + ICD coordination</div>
</div>
<div class="timeline-item">
<div class="date">AprilJune 2026</div>
<div class="desc"><b>Support hardware detailed design</b></div>
</div>
<div class="timeline-item">
<div class="date">June 2026</div>
<div class="desc"><b>Blank delivery</b> from Schott (~18 weeks)</div>
</div>
<div class="timeline-item">
<div class="date">JuneAugust 2026</div>
<div class="desc"><b>Polishing</b> at Optiques Fullum</div>
</div>
<div class="timeline-item">
<div class="date">Q4 2026</div>
<div class="desc"><b>FDR</b> — Final Design Review</div>
</div>
</div>
</section>
<!-- ===== REQUIREMENT COMPLIANCE ===== -->
<section>
<h2>Requirement Compliance Summary</h2>
<table>
<thead><tr><th>Category</th><th>Metric</th><th>Achieved</th><th>Requirement</th><th>Margin</th><th>Status</th></tr></thead>
<tbody>
<tr><td>Optical</td><td>WFE 40°</td><td>7.70 nm</td><td>22 nm</td><td>65%</td><td style="color:var(--accent2);"></td></tr>
<tr><td>Optical</td><td>WFE 60°</td><td>17.69 nm</td><td>22 nm</td><td>20%</td><td style="color:var(--accent2);"></td></tr>
<tr><td>Optical</td><td>MFG 90°</td><td>37.06 nm</td><td></td><td>Acceptable</td><td style="color:var(--accent2);"></td></tr>
<tr><td>Mechanical</td><td>Mass</td><td>95.81 kg</td><td>103.5 kg</td><td>+7.4%</td><td style="color:var(--accent2);"></td></tr>
<tr><td>Mechanical</td><td>Clear Aperture</td><td>1202 mm</td><td>1200 mm</td><td></td><td style="color:var(--accent2);"></td></tr>
<tr><td>Cost</td><td>Blank Quote</td><td>$525K</td><td>$523K</td><td>+0.4%</td><td style="color:var(--accent2);"></td></tr>
<tr><td>Dynamic</td><td>Mode 1</td><td>250.4 Hz</td><td>&gt; 150 Hz</td><td>67%</td><td style="color:var(--accent2);"></td></tr>
</tbody>
</table>
<br>
<div class="success-box">
<p style="font-size:0.7em;">All requirements met with margin. Design is mature and validated.</p>
</div>
</section>
<!-- ===== RECOMMENDATION ===== -->
<section data-background-gradient="linear-gradient(135deg, #0b0f14 0%, #111827 50%, #0b0f14 100%)">
<h2 style="color:white;">Recommendation</h2>
<div style="background:rgba(255,255,255,0.05); border:1px solid rgba(232,238,247,0.12); border-radius:12px; padding:30px; max-width:650px; margin:0 auto;">
<p style="font-size:1.0em; color:white; font-weight:700;">Approve CDR &amp; proceed with blank procurement</p>
<hr style="border:none; height:1px; background:rgba(232,238,247,0.15); margin:16px 0;">
<div style="text-align:left;">
<ul style="font-size:0.68em; color:rgba(255,255,255,0.9); line-height:1.8;">
<li><b>Design maturity:</b> 3,770+ FEA simulations, confirmed convergence</li>
<li><b>Performance:</b> WFE 2065% margin (conservative contact model)</li>
<li><b>Mass:</b> 7.4% under allocation</li>
<li><b>Cost:</b> Within 0.4% of budget ($525K)</li>
<li><b>Schedule critical:</b> 18-week lead time — quote valid until March 4</li>
</ul>
</div>
<hr style="border:none; height:1px; background:rgba(232,238,247,0.15); margin:16px 0;">
<p style="font-size:0.75em; color:var(--accent3);">Next investment: Reference frame characterization + detailed support design → FDR Q4 2026</p>
</div>
</section>
<!-- ===== INVESTMENT CASE ===== -->
<section>
<h2>The Investment Case — Continuing to FDR</h2>
<div style="text-align:left; max-width:680px; margin:0 auto;">
<h3>What the next phase delivers</h3>
<div class="three-col" style="margin-top:12px;">
<div class="metric-card" style="text-align:left; padding:12px;">
<p style="font-size:0.6em; font-weight:700; color:var(--accent3);">Frame Characterization</p>
<p style="font-size:0.55em;">ΔWFE vs. stiffness curve — converts "reference frame risk" into a quantified, verifiable engineering requirement</p>
</div>
<div class="metric-card" style="text-align:left; padding:12px;">
<p style="font-size:0.6em; font-weight:700; color:var(--accent3);">Detailed Hardware Design</p>
<p style="font-size:0.55em;">Whiffletree + lateral supports ready for fabrication. ICD locked with StarSpec.</p>
</div>
<div class="metric-card" style="text-align:left; padding:12px;">
<p style="font-size:0.6em; font-weight:700; color:var(--accent3);">Polished Mirror</p>
<p style="font-size:0.55em;">Finished M1 primary mirror, verified against optical specs. Ready for integration.</p>
</div>
</div>
<br>
<h3>Why continue now</h3>
<ul style="font-size:0.65em;">
<li class="fragment fade-up">3,770+ simulations have <b>retired the major technical risk</b> — blank design is settled</li>
<li class="fragment fade-up">The path from CDR → FDR is <b>known engineering</b>, not research</li>
<li class="fragment fade-up">Schott quote expires March 4 — delay means re-quoting at likely higher cost</li>
<li class="fragment fade-up">Parallel development maximizes schedule efficiency</li>
</ul>
<br>
<div class="highlight-box">
<p style="font-size:0.68em;"><b>Bottom line:</b> The hard part is done. Proceeding now converts 4 months of computational investment into a validated, flight-ready mirror assembly.</p>
</div>
</div>
</section>
<!-- ===== CLOSING ===== -->
<section data-background-gradient="linear-gradient(135deg, #0b0f14 0%, #111827 50%, #0b0f14 100%)">
<h1 style="color:white;">Thank You</h1>
<p style="color:rgba(232,238,247,0.6); font-size:0.75em;">Questions &amp; Discussion</p>
<br>
<p style="color:rgba(232,238,247,0.4); font-size:0.55em;">Optiques Fullum &amp; Atomaste Solution — January 2026</p>
<p style="color:rgba(232,238,247,0.4); font-size:0.55em;">GigaBIT M1 Primary Mirror — Critical Design Review</p>
</section>
</div><!-- /slides -->
<!-- Footer bar -->
<div class="footer-bar">
<span><img src="/Media/Atomaste_light_grey_Logo.svg" alt="Atomaste">GigaBIT M1 — Critical Design Review</span>
<span>Optiques Fullum / Atomaste</span>
</div>
</div><!-- /reveal -->
<script src="https://cdn.jsdelivr.net/npm/reveal.js@5.1.0/dist/reveal.js"></script>
<script>
// Lightweight gate
try {
const ok = localStorage.getItem('atomaste_deck_gof_cdr') === 'stratosphere';
if (!ok) window.location.href = './enter.html';
} catch (e) {
window.location.href = './enter.html';
}
Reveal.initialize({
hash: true,
slideNumber: 'c/t',
width: 1280,
height: 720,
margin: 0.08,
transition: 'fade',
transitionSpeed: 'default',
controlsTutorial: false,
progress: true,
center: true,
});
</script>
</body>
</html>

View File

@@ -0,0 +1,128 @@
/* ══════════════════════════════════════════════
Atomaste Reveal.js Dark Theme (v2)
CDR Deck — GigaBIT M1 Primary Mirror
══════════════════════════════════════════════ */
:root {
--atomaste-bg: #0b0f14;
--atomaste-fg: #e8eef7;
--atomaste-muted: #a8b3c2;
--atomaste-accent: #7dd3fc; /* cyan */
--atomaste-accent-2: #a78bfa; /* violet */
--atomaste-green: #4ade80;
--atomaste-amber: #fbbf24;
--atomaste-red: #f87171;
--atomaste-surface: rgba(255,255,255,0.04);
--atomaste-border: rgba(232,238,247,0.10);
}
/* ── Base ── */
.reveal {
font-family: ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", sans-serif;
color: var(--atomaste-fg);
}
.reveal .slides { text-align: left; }
/* ── Background ── */
.reveal-viewport {
background:
radial-gradient(1200px 800px at 15% 10%, rgba(125,211,252,0.14), transparent 55%),
radial-gradient(900px 600px at 85% 30%, rgba(167,139,250,0.12), transparent 60%),
linear-gradient(180deg, #070a0f 0%, #0b0f14 100%);
}
/* subtle floating glow */
.reveal-viewport::before {
content: "";
position: fixed;
inset: 0;
pointer-events: none;
background:
radial-gradient(500px 320px at 10% 20%, rgba(125,211,252,0.10), transparent 60%),
radial-gradient(420px 280px at 90% 40%, rgba(167,139,250,0.08), transparent 62%),
radial-gradient(520px 360px at 40% 95%, rgba(125,211,252,0.06), transparent 65%);
opacity: 0.9;
transform: translate3d(0,0,0);
animation: atomasteFloat 18s ease-in-out infinite;
}
@keyframes atomasteFloat {
0% { transform: translate3d(0,0,0); }
50% { transform: translate3d(18px,-10px,0); }
100% { transform: translate3d(0,0,0); }
}
/* ── Typography ── */
.reveal h1, .reveal h2, .reveal h3 {
font-weight: 700;
letter-spacing: -0.025em;
color: var(--atomaste-fg);
margin-bottom: 0.35em;
}
.reveal h1 { font-size: 2.25em; }
.reveal h2 { font-size: 1.65em; }
.reveal h3 { font-size: 1.15em; color: var(--atomaste-accent); font-weight: 600; }
.reveal p, .reveal li {
font-size: 0.76em;
line-height: 1.55;
color: var(--atomaste-fg);
}
.reveal a { color: var(--atomaste-accent); text-decoration: none; }
.reveal a:hover { text-decoration: underline; }
/* ── Lists ── */
.reveal ul { margin-left: 1.1em; }
.reveal ol { margin-left: 1.1em; }
.reveal li { margin: 0.35em 0; }
/* ── Images ── */
.reveal img {
max-height: 62vh;
border-radius: 10px;
border: 1px solid var(--atomaste-border);
}
/* ── Footer ── */
.atomaste-footer {
position: absolute;
left: 36px; right: 36px; bottom: 22px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
font-size: 14px;
color: rgba(232,238,247,0.65);
pointer-events: none;
}
.atomaste-footer img { height: 22px; opacity: 0.9; }
.atomaste-chip {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 6px 10px;
border: 1px solid var(--atomaste-border);
border-radius: 999px;
background: rgba(255,255,255,0.03);
}
/* ── Section dividers ── */
.section-divider { display: grid; gap: 18px; }
.section-divider .kicker {
font-size: 0.9em;
color: var(--atomaste-muted);
text-transform: uppercase;
letter-spacing: 0.12em;
}
.section-divider .title { font-size: 2.1em; line-height: 1.1; }
/* ── Fragment animation ── */
.reveal .fragment.fade-up { transform: translateY(6px); }
/* ── Code blocks ── */
.reveal pre code { font-size: 0.8em; line-height: 1.3; }