Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions data/quests.json
Original file line number Diff line number Diff line change
Expand Up @@ -505,6 +505,33 @@
"difficulty": "Medium",
"status": "live"
},
{
"id": "kite-string-and-wind",
"name": "Kite String & Wind",
"shortDescription": "A kite-flying simulation quest that teaches JavaScript debouncing and throttling through wind gust event management and real-time altitude physics.",
"longDescription": "## Kite String & Wind\n\nMaster the art of event handling in JavaScript. In this atmospheric kite-flying simulator, rapid wind gusts pelt your line like high-frequency DOM events (`scroll`, `resize`, or rapid inputs). To keep your kite aloft without crashing, you must master two fundamental control strategies: **Debouncing** (letting out string only after the wind turbulence completely settles) and **Throttling** (executing adjustments at fixed, steady intervals regardless of gust frequency).\n\n### Features\n\n- **Turbulent Wind Event Stream:** Face continuous, unpredictable wind bursts that test how your code filters high-frequency inputs.\n- **Interactive Strategy Switching:** Swap between debounce and throttle control profiles to see how execution math directly alters your kite's altitude and stability.\n- **Real-Time Physics Visualization:** Watch event queues, invocation delays, and execution counts rendered live as tension on the string.\n- **Web Audio Atmospheres:** Dynamic wind howls and tension creaks synthesized entirely via the Web Audio API.\n- **Zero-Dependency Architecture:** A completely self-contained browser quest built natively using Vanilla JS and HTML5 Canvas.",
"category": "js-fundamentals",
"tags": [
"async",
"debounce",
"events",
"interactive",
"javascript",
"performance",
"quest",
"throttle",
"web-audio-api"
],
"techStack": [
"Canvas API",
"CSS3",
"HTML5",
"Vanilla JS",
"Web Audio API"
],
"difficulty": "Hard",
"status": "live"
},
{
"id": "yugen-trail",
"name": "Lantern & Rope — The Yūgen Trail",
Expand Down
Loading
Loading