From 4d81e6ccddeeec0346f93cd4df4772b0ea07e774 Mon Sep 17 00:00:00 2001 From: Ben Miller Date: Tue, 20 Oct 2026 13:11:58 -0500 Subject: [PATCH] feat: add core simulation engine, entities, weather, UI, and audio systems --- css/style.css | 52 ++++- index.html | 8 + js/audio.js | 469 +++++++++++++++++++++++++++++++++++++++++++ js/entities/sheep.js | 10 +- js/entities/wolf.js | 13 +- js/simulation.js | 73 ++++--- js/ui.js | 63 ++++++ js/weather.js | 284 ++++++++++++++++---------- 8 files changed, 839 insertions(+), 133 deletions(-) create mode 100644 js/audio.js diff --git a/css/style.css b/css/style.css index 16576dd..034b1d1 100644 --- a/css/style.css +++ b/css/style.css @@ -196,6 +196,12 @@ body { border-color: rgba(255, 255, 255, 0.2); } +.btn-muted { + opacity: 0.52; + filter: grayscale(0.7); + background: rgba(255, 255, 255, 0.04); +} + .btn-text { background: transparent; border: none; @@ -761,12 +767,54 @@ input[type="range"]::-webkit-slider-thumb:hover { } /* --- Fullscreen / Screen Saver Mode --- */ -.app-layout.fullscreen-mode .top-nav, -.app-layout.fullscreen-mode .sidebar-panel { +.app-layout.fullscreen-mode .sidebar-panel, +.app-layout.fullscreen-mode .top-nav .brand, +.app-layout.fullscreen-mode .top-nav .header-actions { display: none !important; } +.app-layout.fullscreen-mode .top-nav { + position: fixed !important; + top: 14px !important; + left: 50% !important; + transform: translateX(-50%) !important; + z-index: 990 !important; + width: auto !important; + min-width: unset !important; + max-width: calc(100vw - 220px) !important; + background: rgba(14, 20, 28, 0.82) !important; + backdrop-filter: blur(16px) !important; + -webkit-backdrop-filter: blur(16px) !important; + border: 1px solid rgba(255, 255, 255, 0.16) !important; + border-radius: 30px !important; + padding: 6px 14px !important; + box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45) !important; + display: flex !important; + align-items: center !important; + justify-content: center !important; + pointer-events: auto !important; +} + +.app-layout.fullscreen-mode .top-nav .stats-ribbon { + display: flex !important; + align-items: center !important; + gap: 8px !important; + flex-wrap: nowrap !important; +} + +.app-layout.fullscreen-mode .top-nav .stat-badge { + background: rgba(255, 255, 255, 0.06) !important; + border: 1px solid rgba(255, 255, 255, 0.12) !important; + padding: 4px 10px !important; + border-radius: 20px !important; + font-size: 0.8rem !important; + white-space: nowrap !important; +} + .app-layout.fullscreen-mode .main-workspace { + position: absolute !important; + top: 0 !important; + left: 0 !important; height: 100vh !important; width: 100vw !important; } diff --git a/index.html b/index.html index 4f381c3..1708746 100644 --- a/index.html +++ b/index.html @@ -58,6 +58,14 @@ Restart + +