223015b phase 3: summary-organizer demo (kap1 folie 40 zusammenfassung). spiegelt pivot-signal-zu-byte aber mit beiden strangs ausformuliert: welt → byte (pink, links): sampling-rate, bittiefe, datenrate-formel, nyquist 2f, aliasing+moiré, 44.1 khz; byte → bedeutung (cyan, rechts): bit/byte/hex, 8 bit = 256 zustände, ASCII+UTF-8, magic number, KB vs KiB, hex im alltag. mitte: datei mit hex-bytes als verbindungsstück. verdict 'eine datei ist kein mysterium — eine reihe von zahlen mit zwei geschichten dran: eine erzählt woher die zahlen kommen, die andere was sie bedeuten. beide kennst du jetzt'. kap1-demos jetzt komplett (6 NEU: drei-dateien, kb-vs-kib, pivot, nyquist, aliasing-paar, summary)

This commit is contained in:
2026-05-14 11:29:32 +02:00
parent a12d9d2146
commit 9d527aed7a
2 changed files with 188 additions and 0 deletions
@@ -0,0 +1,188 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<title>Was wir in 90 Minuten gelernt haben</title>
<style>
:root {
--dark: #1a1a2e;
--muted: #6b7280;
--soft: #f8fafc;
--border: #cbd5e1;
--hl: #d63384;
--left: #d63384;
--right: #0891b2;
--bytes: #0891b2;
}
html, body { margin: 0; padding: 0; background: #fff; font-family: system-ui, -apple-system, sans-serif; color: var(--dark); }
body { padding: 30px 40px; }
h1 { text-align: center; margin: 0 0 6px; font-size: 1.75rem; }
.sub { text-align: center; color: var(--muted); margin-bottom: 28px; font-size: 1.05rem; }
.sub strong { color: var(--dark); }
.recap {
display: grid;
grid-template-columns: 160px 1fr 200px 1fr 160px;
gap: 10px;
max-width: 1200px;
margin: 0 auto;
align-items: center;
}
.station {
border: 2px solid var(--border);
border-radius: 10px;
padding: 18px 12px;
background: #fff;
text-align: center;
display: flex;
flex-direction: column;
align-items: center;
gap: 6px;
}
.station.bytes { border-color: var(--bytes); background: #0f0f23; color: #fff; }
.station-tag {
font-size: 0.7rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.12em;
color: var(--muted);
}
.station.bytes .station-tag { color: #94a3b8; }
.station-name { font-size: 1.3rem; font-weight: 700; }
.station.bytes .station-name { color: #67e8f9; }
.station-detail { font-size: 0.78rem; color: var(--muted); line-height: 1.35; }
.station.bytes .station-detail { color: #94a3b8; font-family: ui-monospace, monospace; font-size: 0.76rem; line-height: 1.35; }
.strang {
display: flex;
flex-direction: column;
gap: 6px;
padding: 0 6px;
}
.strang-arrow { text-align: center; }
.strang-arrow svg { width: 100%; height: 18px; }
.strang-title {
font-size: 0.92rem;
font-weight: 700;
text-align: center;
line-height: 1.3;
}
.strang.left .strang-title { color: var(--left); }
.strang.right .strang-title { color: var(--right); }
.strang-list {
display: flex;
flex-direction: column;
gap: 3px;
list-style: none;
margin: 0;
padding: 0;
background: var(--soft);
border: 1px solid var(--border);
border-radius: 8px;
padding: 8px 12px;
}
.strang-list li {
font-size: 0.82rem;
color: var(--dark);
padding-left: 12px;
position: relative;
line-height: 1.4;
}
.strang-list li::before {
content: "·";
position: absolute;
left: 0;
top: 0;
font-weight: 700;
}
.strang.left .strang-list li::before { color: var(--left); }
.strang.right .strang-list li::before { color: var(--right); }
.verdict {
margin-top: 22px;
max-width: 1200px;
margin-left: auto;
margin-right: auto;
text-align: center;
border: 2px solid var(--hl);
border-radius: 12px;
padding: 14px 22px;
}
.verdict-q { font-size: 1.1rem; font-weight: 700; color: var(--hl); }
.verdict-a { font-size: 0.95rem; color: var(--dark); margin-top: 4px; }
.verdict-a strong { color: var(--hl); }
</style>
</head>
<body>
<h1>Was wir in 90 Minuten gelernt haben</h1>
<div class="sub">Beide Wege gehen durch <strong>dieselbe Mitte</strong>. Du kennst jetzt alle Stationen.</div>
<div class="recap">
<div class="station">
<div class="station-tag">Quelle</div>
<div class="station-name">Welt</div>
<div class="station-detail">Schallwelle<br>Lichtwelle<br>kontinuierlich · analog</div>
</div>
<div class="strang left">
<div class="strang-arrow">
<svg viewBox="0 0 200 18" preserveAspectRatio="none">
<line x1="6" y1="9" x2="180" y2="9" stroke="#d63384" stroke-width="2"/>
<path d="M174,3 L188,9 L174,15" stroke="#d63384" stroke-width="2" fill="none"/>
</svg>
</div>
<div class="strang-title">Welt → Byte</div>
<ul class="strang-list">
<li>Sampling-Rate</li>
<li>Bittiefe · Quantisierung</li>
<li>Datenrate-Formel</li>
<li>Nyquist · 2·f<sub>max</sub></li>
<li>Aliasing &amp; Moiré</li>
<li>44,1 kHz = 2·20 kHz + Marge</li>
</ul>
</div>
<div class="station bytes">
<div class="station-tag">Mitte</div>
<div class="station-name">Datei</div>
<div class="station-detail">
Byte-Strom<br>
89 50 4E 47<br>
nichts als Zahlen
</div>
</div>
<div class="strang right">
<div class="strang-arrow">
<svg viewBox="0 0 200 18" preserveAspectRatio="none">
<line x1="6" y1="9" x2="180" y2="9" stroke="#0891b2" stroke-width="2"/>
<path d="M174,3 L188,9 L174,15" stroke="#0891b2" stroke-width="2" fill="none"/>
</svg>
</div>
<div class="strang-title">Byte → Bedeutung</div>
<ul class="strang-list">
<li>Bit · Byte · Hex</li>
<li>8 Bit = 256 Zustände</li>
<li>ASCII · UTF-8</li>
<li>Magic Number</li>
<li>KB vs KiB</li>
<li>Hex im Alltag (CSS, MAC)</li>
</ul>
</div>
<div class="station">
<div class="station-tag">Ziel</div>
<div class="station-name">Mensch</div>
<div class="station-detail">Text · Bild · Klang<br>Bedeutung<br>verstehen</div>
</div>
</div>
<div class="verdict">
<div class="verdict-q">Eine Datei ist kein Mysterium. Es ist eine <strong>Reihe von Zahlen</strong> mit zwei Geschichten dran.</div>
<div class="verdict-a">Eine Geschichte erzählt, <strong>woher</strong> die Zahlen kommen. Die andere, <strong>was</strong> sie bedeuten. Beide kennst du jetzt.</div>
</div>
</body>
</html>