memlnaut-nisps/playground/designs.html

193 lines
5.1 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>NISPS Playground</title>
<style>
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body {
background: #0d0d0d;
color: #ccc;
font-family: -apple-system, BlinkMacSystemFont, 'SF Pro', 'Segoe UI', system-ui, sans-serif;
min-height: 100vh;
}
.page {
max-width: 780px;
margin: 0 auto;
padding: 48px 24px 64px;
}
h1 {
font-size: 32px;
font-weight: 700;
color: #00ff88;
margin-bottom: 6px;
letter-spacing: -0.5px;
}
.tagline {
color: #666;
font-size: 14px;
margin-bottom: 32px;
letter-spacing: 0.5px;
}
.intro {
list-style: none;
margin-bottom: 48px;
padding: 0;
}
.intro li {
font-size: 15px;
color: #aaa;
line-height: 1.6;
padding-left: 20px;
position: relative;
margin-bottom: 10px;
}
.intro li::before {
content: '';
position: absolute;
left: 0;
top: 10px;
width: 6px;
height: 6px;
border-radius: 50%;
background: #333;
}
.cards {
display: flex;
flex-direction: column;
gap: 28px;
}
.card {
background: #1a1a1a;
border: 1px solid #2a2a2a;
border-radius: 16px;
overflow: hidden;
transition: all 0.2s ease;
}
.card:hover {
border-color: #444;
background: #1f1f1f;
transform: translateY(-2px);
}
.preview {
width: 100%;
height: 280px;
border-radius: 16px 16px 0 0;
overflow: hidden;
position: relative;
background: #111;
}
.preview iframe {
width: 200%;
height: 200%;
transform: scale(0.5);
transform-origin: top left;
border: none;
pointer-events: none;
}
.card-body {
padding: 24px 28px 28px;
position: relative;
}
.card-label {
display: inline-block;
font-size: 11px;
text-transform: uppercase;
letter-spacing: 1.5px;
font-weight: 600;
margin-bottom: 6px;
}
.card:nth-child(1) .card-label { color: #00ff88; }
.card:nth-child(2) .card-label { color: #3a86ff; }
.card:nth-child(3) .card-label { color: #ff6b35; }
.card-body h2 {
font-size: 20px;
font-weight: 600;
color: #eee;
margin-bottom: 8px;
}
.card-body p {
font-size: 14px;
color: #888;
line-height: 1.6;
margin-bottom: 16px;
}
.card-link {
display: inline-block;
font-size: 14px;
font-weight: 500;
color: #00ff88;
text-decoration: none;
transition: color 0.15s ease;
}
.card:nth-child(2) .card-link { color: #3a86ff; }
.card:nth-child(3) .card-link { color: #ff6b35; }
.card-link:hover {
text-decoration: underline;
text-underline-offset: 3px;
}
@media (min-width: 1100px) {
.page { max-width: 1100px; }
.cards {
flex-direction: row;
gap: 20px;
}
.card { flex: 1; }
}
</style>
</head>
<body>
<div class="page">
<h1>NISPS Playground</h1>
<p class="tagline">Neural Interactive Shaping of Parameter Spaces</p>
<ul class="intro">
<li>Map a 2D joystick to 20 visual parameters or 126 synthesizer parameters through a neural network</li>
<li>Two learning modes: show examples of what you want, or give thumbs up/down feedback</li>
<li>The network learns to interpolate — move the joystick and the entire parameter space responds</li>
<li>You don't need to understand the parameters — just explore and teach</li>
</ul>
<div class="cards">
<div class="card">
<div class="preview">
<iframe src="a-immersive.html" loading="lazy"></iframe>
</div>
<div class="card-body">
<span class="card-label">A</span>
<h2>Immersive</h2>
<p>Full-screen canvas with floating controls. The visualization IS the interface — everything else gets out of the way.</p>
<a href="a-immersive.html" class="card-link">Try it &rarr;</a>
</div>
</div>
<div class="card">
<div class="preview">
<iframe src="b-workbench.html" loading="lazy"></iframe>
</div>
<div class="card-body">
<span class="card-label">B</span>
<h2>Workbench</h2>
<p>Dashboard layout with a 2D heatmap showing what the network has learned. Built for understanding the mapping.</p>
<a href="b-workbench.html" class="card-link">Try it &rarr;</a>
</div>
</div>
<div class="card">
<div class="preview">
<iframe src="c-journey.html" loading="lazy"></iframe>
</div>
<div class="card-body">
<span class="card-label">C</span>
<h2>Journey</h2>
<p>Three phases — Explore, Teach, Perform — that dissolve as you master the mapping. The UI fades away after training.</p>
<a href="c-journey.html" class="card-link">Try it &rarr;</a>
</div>
</div>
</div>
</div>
</body>
</html>