diff --git a/data/quests.json b/data/quests.json index ea0f2d1..e7a4216 100644 --- a/data/quests.json +++ b/data/quests.json @@ -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", diff --git a/quests/kite-string-and-wind.html b/quests/kite-string-and-wind.html new file mode 100644 index 0000000..7c1c805 --- /dev/null +++ b/quests/kite-string-and-wind.html @@ -0,0 +1,1374 @@ + + +
+ + +Gusts arrive fast and messy — real events almost always do. Answer every single one and the kite spirals out of control. Learn debouncing and throttling by actually flying the kite through real, timed wind — not by answering quizzes.
+You've flown through real timing — you understand debouncing and throttling from the string, not the syllabus.
+