1212 < title > Games - HTML JavaScript Gaming</ title >
1313 < link rel ="stylesheet " href ="../src/engine/theme/main.css " />
1414 < link rel ="stylesheet " href ="../src/engine/ui/hubCommon.css " />
15+ < link rel ="stylesheet " href ="./index.css " />
1516</ head >
1617< body class ="hub-page-games ">
1718 < details class ="is-collapsible " open >
@@ -31,61 +32,52 @@ <h1>Games Hub</h1>
3132 </ details >
3233
3334 < main class ="page-shell ">
34-
3535 < section class ="content-section ">
36- < h2 > Playable Now</ h2 >
37- < div class ="card-grid ">
38- < a class ="card-link " href ="/games/GravityWell/index.html ">
39- < h3 > Gravity Well</ h3 >
40- < p > Orbital route-planning gameplay with gravity assists and beacon collection objectives.</ p >
41- </ a >
42- < a class ="card-link " href ="/games/Asteroids/index.html ">
43- < h3 > Asteroids</ h3 >
44- < p > Classic arcade combat with tuned ship handling and score-chase progression.</ p >
45- </ a >
46- < a class ="card-link " href ="/games/SpaceInvaders/index.html ">
47- < h3 > Space Invaders</ h3 >
48- < p > Formation shooter gameplay with wave pacing, lives, and escalating pressure.</ p >
49- </ a >
50- </ div >
36+ < h2 > Pinned Games</ h2 >
37+ < div id ="games-pinned-list " class ="game-level-grid "> </ div >
5138 </ section >
5239
5340 < section class ="content-section ">
54- < h2 > In Progress</ h2 >
55- < div class ="card-grid ">
56- < a class ="card-link " href ="/games/SpaceDuel/index.html ">
57- < h3 > Space Duel</ h3 >
58- < p > Vector-style inertial combat and wave-based scenario tuning.</ p >
59- </ a >
60- < a class ="card-link " href ="/games/Pong/index.html ">
61- < h3 > Pong</ h3 >
62- < p > Multi-mode paddle gameplay and input polish across keyboard and gamepad flows.</ p >
63- </ a >
41+ < h2 > Filter Games</ h2 >
42+ < p > Filter by level, class, tag, or free-text search.</ p >
43+ < div class ="games-filter-grid ">
44+ < div class ="games-filter-field ">
45+ < label for ="games-filter-level "> Level</ label >
46+ < select id ="games-filter-level ">
47+ < option value =""> All levels</ option >
48+ </ select >
49+ </ div >
50+ < div class ="games-filter-field ">
51+ < label for ="games-filter-class "> Class</ label >
52+ < select id ="games-filter-class ">
53+ < option value =""> All classes</ option >
54+ </ select >
55+ </ div >
56+ < div class ="games-filter-field ">
57+ < label for ="games-filter-tag "> Tag</ label >
58+ < select id ="games-filter-tag ">
59+ < option value =""> All tags</ option >
60+ </ select >
61+ </ div >
62+ < div class ="games-filter-field ">
63+ < label for ="games-filter-search "> Search</ label >
64+ < input id ="games-filter-search " type ="text " placeholder ="arcade, physics, planned... " autocomplete ="off " />
65+ </ div >
6466 </ div >
67+ < p id ="games-filter-status " aria-live ="polite "> </ p >
6568 </ section >
6669
6770 < section class ="content-section ">
68- < h2 > Roadmap Anchors</ h2 >
69- < div class ="card-grid ">
70- < a class ="card-link " href ="/games/Breakout/index.html ">
71- < h3 > Breakout</ h3 >
72- < p > Debug-showcase-aligned brick-breaker loop with onboarding-ready flow.</ p >
73- </ a >
74- < a class ="card-link " href ="/games/Pacman/index.html ">
75- < h3 > Pacman</ h3 >
76- < p > Personality-driven ghost behaviors and deterministic routing lane.</ p >
77- </ a >
78- < a class ="card-link " href ="/games/AITargetDummy/index.html ">
79- < h3 > AI Target Dummy</ h3 >
80- < p > Behavior-state validation lane for idle, chase, attack, and recover cycles.</ p >
81- </ a >
82- </ div >
71+ < h2 > Games By Level</ h2 >
72+ < p > Data-driven catalog of playable, in-progress, and planned games with roadmap grouping.</ p >
73+ < div id ="games-index-list "> </ div >
8374 </ section >
8475
8576 < div class ="footer-note ">
8677 Open game pages through a local web server for stable module and asset loading.
8778 </ div >
8879 </ main >
8980 < script type ="module " src ="../src/engine/theme/mount-shared-header.js "> </ script >
81+ < script type ="module " src ="./index.render.js "> </ script >
9082</ body >
9183</ html >
0 commit comments