From 120a57c09a1c207776eea6c1b1221e9c44a69306 Mon Sep 17 00:00:00 2001 From: foxtacles Date: Fri, 27 Feb 2026 16:01:13 -0800 Subject: [PATCH] Add Voices tab to Read Me page with dev team quotes (#27) Enable the previously hidden Voices tab showing reactions from the original LEGO Island development team. Each quote card displays the team member's professional role and tagline. Improved card styling with gradient backgrounds, decorative quote marks, and gold hover accents. Added March 2026 changelog entry. --- src/app.css | 72 ++++++++++++++++++++++++++++----------- src/lib/ReadMePage.svelte | 61 ++++++++++++++++++++++++--------- 2 files changed, 97 insertions(+), 36 deletions(-) diff --git a/src/app.css b/src/app.css index 5b1152d..44e5f6e 100644 --- a/src/app.css +++ b/src/app.css @@ -1237,53 +1237,87 @@ select:focus { /* Voices Section */ .voices-intro { - color: var(--color-text-muted); - font-size: 0.95em; - font-style: italic; - margin-bottom: 20px; + color: var(--color-text-medium); + font-size: 1em; + margin-bottom: 24px; text-align: center; + line-height: 1.6; } .voices-grid { display: grid; - grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); - gap: 15px; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 20px; } .voice-card { - background-color: var(--color-bg-card); + background: linear-gradient(135deg, var(--color-bg-card) 0%, var(--color-bg-elevated) 100%); border: 1px solid var(--color-border-dark); - border-left: 3px solid var(--color-primary); - border-radius: 0 8px 8px 0; - padding: 18px 20px; + border-radius: 12px; + padding: 24px 24px 20px; margin: 0; - transition: background-color 0.2s ease, transform 0.2s ease; + position: relative; + transition: border-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease; +} + +.voice-card::before { + content: '\201C'; + position: absolute; + top: 12px; + left: 16px; + font-size: 3em; + line-height: 1; + color: var(--color-primary); + opacity: 0.25; + font-family: Georgia, serif; } .voice-card:hover { - background-color: #252525; - transform: translateY(-2px); + border-color: var(--color-primary); + transform: translateY(-3px); + box-shadow: 0 8px 24px rgba(255, 215, 0, 0.08); } .voice-card p { color: var(--color-text-medium); font-size: 0.95em; - line-height: 1.6; - margin: 0 0 12px 0; + line-height: 1.7; + margin: 8px 0 16px 0; font-style: italic; } .voice-card footer { - color: var(--color-primary); - font-size: 0.9em; - font-weight: bold; + padding-top: 12px; + border-top: 1px solid var(--color-border-dark); text-align: right; + display: flex; + flex-direction: column; + align-items: flex-end; + gap: 2px; } -.voice-card footer::before { +.voice-name { + color: var(--color-primary); + font-size: 0.95em; + font-weight: bold; +} + +.voice-name::before { content: '— '; } +.voice-role { + color: var(--color-text-muted); + font-size: 0.8em; +} + +.voice-tagline { + color: var(--color-text-muted); + font-size: 0.75em; + font-style: italic; + opacity: 0.8; +} + /* Requirements Section */ .requirements-section { background-color: var(--color-bg-card); diff --git a/src/lib/ReadMePage.svelte b/src/lib/ReadMePage.svelte index 636554a..b398c8e 100644 --- a/src/lib/ReadMePage.svelte +++ b/src/lib/ReadMePage.svelte @@ -16,7 +16,8 @@ { id: 'system', label: 'System', icon: 'images/sysinfo.webp' }, { id: 'faq', label: 'FAQ', icon: 'images/getinfo.webp' }, { id: 'changelog', label: 'Changelog', icon: 'images/callfail.webp' }, - { id: 'manual', label: 'Manual', icon: 'images/bonus.webp' } + { id: 'manual', label: 'Manual', icon: 'images/bonus.webp' }, + { id: 'voices', label: 'Voices', icon: 'images/send.webp' } ]; const faqItems = [ @@ -33,7 +34,10 @@ ]; const changelogItems = [ - { id: 'cl0', title: 'February 2026', items: [ + { id: 'cl0', title: 'March 2026', items: [ + { type: 'New', text: 'Voices tab on the Read Me page showcases reactions from the original LEGO Island development team' } + ]}, + { id: 'cl1', title: 'February 2026', items: [ { type: 'New', text: 'Save Editor lets you view and modify save files — change your player name, character, and high scores directly from the browser' }, { type: 'New', text: 'Sky Color Editor allows customizing the island sky gradient colors in your save file' }, { type: 'New', text: 'Vehicle Part Editor enables modifying vehicle parts and colors with a 3D preview' }, @@ -48,14 +52,14 @@ { type: 'Improved', text: 'Save Editor tabs now use a carousel with arrow navigation for easier browsing on small screens' }, { type: 'Fixed', text: 'Sticky hover highlights on touch devices for editor buttons' } ]}, - { id: 'cl1', title: 'January 2026', items: [ + { id: 'cl2', title: 'January 2026', items: [ { type: 'New', text: 'Debug menu for developers and power users. Tap the LEGO Island logo 5 times to unlock OGEL mode and access debug features like teleporting to locations, switching acts, and playing animations' }, { type: 'Improved', text: 'Configure page redesigned with tabbed navigation, collapsible sections, quick presets (Classic/Modern Mode), and modern toggle switches' }, { type: 'Improved', text: 'Read Me page reorganized into tabs (About, System, FAQ, Changelog, Manual) with the original instruction manual now viewable in-browser' }, { type: 'Fixed', text: 'Safari audio not playing on first toggle' }, { type: 'Fixed', text: 'Tooltips not working correctly on mobile devices' } ]}, - { id: 'cl2', title: 'December 2025', items: [ + { id: 'cl3', title: 'December 2025', items: [ { type: 'New', text: '"Active in Background" option keeps the game running when the tab loses focus' }, { type: 'New', text: 'WASD navigation controls as an alternative to arrow keys' }, { type: 'Fixed', text: 'Act 3 helicopter ammo now correctly sticks to targets and finishes animations' }, @@ -64,17 +68,17 @@ { type: 'Fixed', text: 'Touch controls now properly support widescreen aspect ratios' }, { type: 'Improved', text: 'Default anisotropic filtering increased to 16x for sharper textures' } ]}, - { id: 'cl3', title: 'November 2025', items: [ + { id: 'cl4', title: 'November 2025', items: [ { type: 'Fixed', text: 'Dictionary loading failure no longer causes crashes' }, { type: 'Fixed', text: 'INI configuration now properly applies defaults when values are missing' } ]}, - { id: 'cl4', title: 'September 2025', items: [ + { id: 'cl5', title: 'September 2025', items: [ { type: 'New', text: 'Additional widescreen background images' }, { type: 'Fixed', text: 'Jukebox state now correctly restored when using HD Music extension' }, { type: 'Fixed', text: 'Background audio no longer gets stuck when starting audio fails' }, { type: 'Improved', text: 'SI Loader actions now start at the correct time during world loading' } ]}, - { id: 'cl5', title: 'August 2025', items: [ + { id: 'cl6', title: 'August 2025', items: [ { type: 'New', text: 'Extended Bad Ending FMV extension shows the uncut beta animation' }, { type: 'New', text: 'HD Music extension with high-quality audio' }, { type: 'New', text: 'Widescreen backgrounds extension eliminates 3D edges on wide displays' }, @@ -83,7 +87,7 @@ { type: 'Fixed', text: 'Purple edges no longer appear on scaled transparent 2D elements' }, { type: 'Fixed', text: 'Transparent pixels now render correctly with alpha channel support' } ]}, - { id: 'cl6', title: 'July 2025', items: [ + { id: 'cl7', title: 'July 2025', items: [ { type: 'New', text: 'HD Textures extension with enhanced visuals' }, { type: 'New', text: 'MSAA anti-aliasing support for smoother edges' }, { type: 'New', text: 'Anisotropic filtering for sharper textures at angles' }, @@ -105,7 +109,7 @@ { type: 'Improved', text: 'Mosaic transition animation is faster and cleaner' }, { type: 'Improved', text: 'Loading UX for HD Textures with progress indicators' } ]}, - { id: 'cl7', title: 'June 2025 — Initial Release', items: [ + { id: 'cl8', title: 'June 2025 — Initial Release', items: [ { type: 'New', text: 'Emscripten web port — play LEGO Island directly in your browser!' }, { type: 'New', text: 'WebGL rendering for hardware-accelerated 3D graphics' }, { type: 'New', text: 'Software renderer fallback for devices without WebGL' }, @@ -253,7 +257,6 @@ -

Reactions from the original LEGO Island development team:

@@ -261,7 +264,11 @@

This is just fantastic! What an endeavor! It is a wonderful tribute to a team that was unparalleled in talent, and we should now include you and your team in that august group. I really wish Wes was around to see it. Keep us posted on updates...

-
Scott Anderson
+
+ Scott Anderson + Sr. Producer / Senior Project Manager / Co-Creator + Honorary Mayor of LEGO Island +

Wow; what a trip. My first trial was on my mac; which had problems displaying any of the @@ -269,30 +276,50 @@ navigation frustrations. But being delivered over the web means any fix you make goes out immediately. I want you all to know it was a joy to work on and how grateful I am to have been a part of the origin. I hope you are getting joy from working on it and keeping it alive.

-
Dennis Goodrow
+
+ Dennis Goodrow + Director of Development / Lead Programmer / Co-Creator + Voted "Best Neighbor on LEGO Island" for two years in a row +

This is pretty neat. At least as responsive over the web as the game was on the target machines of the time! I hadn't heard of WebAssembly until now. What kind of changes to the source were needed to get it working under WebAssembly? I foresee many hours of my time being used up experimenting with this tool!

-
Jim Brown
+
+ Jim Brown + Programming Wizard / The Godfather of Code +

Well done and such fun tapping back into such fond creative memories.

-
Paul Melmed
+
+ Paul J. Melmed, Ph.D. + Director of Education and Research / Co-Creator + Resident Shrink and Friend to all on LEGO Island +

That's awesome!

-
Randy Chou
+
+ Randy Yen-pang Chou + 3D Programming / Emperor of Quoternia +

Fantastic! Love it.

-
Kevin Byall
+
+ Kevin Byall + Highly Caffeinated Artist, Animator +

Great stuff!

-
Dave Cherry
+