From 12e717448bd4f397c5a2ae6c3814ebc2d9396917 Mon Sep 17 00:00:00 2001 From: dvorakmortonxd Date: Thu, 15 Oct 2026 23:21:28 +0200 Subject: [PATCH] feat(web): toggle Frutiger Aero mode on Freezmo icon click (v2.2.17) --- AGENTS.md | 13 +- README.md | 16 +- graphify-out/.graphify_labels.json | 2 - graphify-out/GRAPH_REPORT.md | 46 ++--- graphify-out/graph.html | 8 +- graphify-out/graph.json | 2 +- graphify-out/manifest.json | 36 ++-- package-lock.json | 4 +- package.json | 2 +- public/freezmo_aero.png | Bin 0 -> 1915172 bytes public/frutigerbackground.png | Bin 0 -> 2088757 bytes src/app/components/WebLayout.tsx | 95 +++++++++- src/app/web.css | 294 +++++++++++++++++++++++++++++ 13 files changed, 454 insertions(+), 64 deletions(-) create mode 100644 public/freezmo_aero.png create mode 100644 public/frutigerbackground.png diff --git a/AGENTS.md b/AGENTS.md index 4b7fee3..1f6a577 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -56,7 +56,7 @@ frosted-glass **web** site, and an alternate KDE/Plasma **desktop simulation** utilities in the components (Tailwind is present via PostCSS but the look is hand-written CSS). - Path alias: `@/*` → `src/*`. -- Version: `2.2.16` (see `package.json`). +- Version: `2.2.17` (see `package.json`). ### Scripts ```bash @@ -174,7 +174,13 @@ Themes: `web` = default frosted-glass website (sidebar + content, light/dark), **Freezmo** launch panel (`.web-freezmo` — app-tinted glow, floating orbs, gradient wordmark + "new" badge, feature bullets, Try/Source CTAs) is the one place the **real app icon** is used (`public/freezmo.png`, the live - study app), floated beside the copy with a soft glow. The two remaining feature panels (`.web-split`) stretch + study app), floated beside the copy with a soft glow. Clicking the Freezmo icon + toggles **Frutiger Aero mode** (`data-aero="true"` on ``, web shell only; + desktop mode is untouched): the icon swaps to `public/freezmo_aero.png`, the + website background switches to `public/frutigerbackground.png`, floating glossy + bubbles (`.web-aero-bubbles` / `.web-aero-bubble`) rise across the backdrop, and + all `.glass` panels and interactive controls become refractive liquid glass / + gel buttons. The two remaining feature panels (`.web-split`) stretch to equal height and share a fixed `16 / 10` `.fw` window (the `FeatureWindow` component) — decorative, **asset-free CSS mock-ups** rather than screenshots: Revival Inc. is a little necromancy game scene (night sky, moon, tombstones, @@ -195,7 +201,8 @@ Themes: `web` = default frosted-glass website (sidebar + content, light/dark), feature/app previews are `FeatureWindow` mock windows, and `.win-desktop` carries a layered gradient "wallpaper" (there is no `wallpaper.jpg`). Only the social SVGs, the site logo (`src/app/icon.png`), - the Freezmo app icon (`public/freezmo.png`), the + the Freezmo app icons (`public/freezmo.png`, `public/freezmo_aero.png`), the + Frutiger Aero wallpaper (`public/frutigerbackground.png`), the Joker easter egg (`joker.webp`) and the Gentoo mark (`gentoo.svg`) remain as real image files. - **Not a terminal.** The web theme deliberately has no TUI chrome: the hero is diff --git a/README.md b/README.md index 14dfd75..63dcfa5 100644 --- a/README.md +++ b/README.md @@ -40,8 +40,14 @@ more. (category headers, status/language chips, language-tinted dots on project rows, years — no emoji, no screenshots), the desktop shell's app previews are the same CSS mock windows (a git-forge page for GitDXD), and its wallpaper is a layered CSS gradient. The - only real images left are the logo, the social SVGs, the Freezmo app icon, the Joker + only real images left are the logo, the social SVGs, the Freezmo app icons (`freezmo.png` / + `freezmo_aero.png`), the Frutiger Aero background (`frutigerbackground.png`), the Joker easter egg and the Gentoo mark. +- **Frutiger Aero easter egg (web shell)** — clicking the Freezmo app icon swaps it to + `freezmo_aero.png` and transforms the web shell into a Frutiger Aero theme: + `frutigerbackground.png` as the full-screen backdrop, floating glossy water/soap bubbles + across the viewport, and refractive liquid-glass panels and gel buttons (leaving the + desktop mode untouched). - **Draggable desktop icons** — free placement that snaps to a measured grid, one icon per cell, with a follow-the-cursor drag ghost. Icons shrink on cramped viewports so they never collide. @@ -82,9 +88,11 @@ more. imported for the base layer but the UI is custom CSS. - **Fonts:** the web theme uses the system sans stack; Monocraft (self-hosted in `public/`) is used by the desktop theme's SMP menu and the in-desktop terminal. -- **Images:** `next/image` — only the logo (`src/app/icon.png`), the social SVGs, the Joker - easter egg and the Gentoo mark; all cards, feature/app previews and the wallpaper are CSS. -- **Version:** `2.2.16` (see `package.json`) +- **Images:** `next/image` — only the logo (`src/app/icon.png`), the social SVGs, the Freezmo + icons (`public/freezmo.png`, `public/freezmo_aero.png`), the Frutiger Aero wallpaper + (`public/frutigerbackground.png`), the Joker easter egg and the Gentoo mark; all cards, + feature/app previews and the desktop wallpaper are CSS. +- **Version:** `2.2.17` (see `package.json`) - **Dependencies:** `npm audit` reports **0 vulnerabilities**. `next` is kept at a patched release (`>=16.3.6`) for the `next/og` RCE, and `brace-expansion` is force-upgraded via `overrides`. `braces` (a transitive ESLint/`fast-glob` dependency) has **no upstream fix**, diff --git a/graphify-out/.graphify_labels.json b/graphify-out/.graphify_labels.json index b5aca9e..6025a1e 100644 --- a/graphify-out/.graphify_labels.json +++ b/graphify-out/.graphify_labels.json @@ -3,13 +3,11 @@ "1": "Deployment & Ops Docs", "2": "braces Package Metadata", "4": "braces Parsing Engine", - "5": "Project Index Data", "6": "braces Character Constants", "7": "Next Config & API Routes", "8": "TypeScript Compiler Config", "9": "Root Package Dependencies", "10": "Root Dev Dependencies", - "11": "Custom Dev Server", "12": "Debian Dependency Installer", "13": "brace-expansion Overrides", "14": "npm Scripts", diff --git a/graphify-out/GRAPH_REPORT.md b/graphify-out/GRAPH_REPORT.md index 6a85c88..3082b11 100644 --- a/graphify-out/GRAPH_REPORT.md +++ b/graphify-out/GRAPH_REPORT.md @@ -1,17 +1,17 @@ # Graph Report - dvorakmortonxd.dev (2026-10-15) ## Corpus Check -- 43 files · ~105,962 words +- 43 files · ~319,246 words - Verdict: corpus is large enough that graph structure adds value. - Unclassified: 19 file(s) not represented in the graph (top: (none) 6, .ttf 3, .css 3) ## Summary -- 423 nodes · 591 edges · 42 communities (27 shown, 15 thin omitted) +- 424 nodes · 592 edges · 40 communities (25 shown, 15 thin omitted) - Extraction: 93% EXTRACTED · 7% INFERRED · 0% AMBIGUOUS · INFERRED: 44 edges (avg confidence: 0.89) - Token cost: 0 input · 0 output ## Graph Freshness -- Built from commit: `6702ca8d` +- Built from commit: `20f67910` - Run `git rev-parse HEAD` and compare to check if the graph is stale. - Run `graphify update .` after code changes (no API cost). @@ -21,13 +21,12 @@ - braces Package Metadata - WindowsDesktop.tsx - braces Parsing Engine -- Project Index Data +- apps.tsx - braces Character Constants - Next Config & API Routes - TypeScript Compiler Config - Root Package Dependencies - Root Dev Dependencies -- Custom Dev Server - Debian Dependency Installer - brace-expansion Overrides - npm Scripts @@ -54,7 +53,6 @@ - Snapchat Icon Asset - SoundCloud Icon Asset - Twitter/X Icon Asset -- useColorScheme.ts ## God Nodes (most connected - your core abstractions) 1. `WebLayout()` - 18 edges @@ -69,6 +67,8 @@ 10. `ServiceButton()` - 8 edges ## Surprising Connections (you probably didn't know these) +- `Web theme + light/dark (v2.2 rework)` --references--> `FeatureWindow()` [INFERRED] + AGENTS.md → src/app/components/FeatureWindow.tsx - `How UI selection works` --references--> `ThemeScript()` [INFERRED] AGENTS.md → src/app/components/ThemeScript.tsx - `How UI selection works` --references--> `WebLayout()` [INFERRED] @@ -77,8 +77,6 @@ AGENTS.md → src/app/components/useColorScheme.ts - `Conventions & things that will bite you` --references--> `braces()` [INFERRED] AGENTS.md → vendor/braces/index.js -- `Web theme + light/dark (v2.2 rework)` --references--> `ContributionHeatmap()` [INFERRED] - AGENTS.md → src/app/components/ContributionHeatmap.tsx ## Import Cycles - None detected. @@ -88,11 +86,11 @@ - **** — public_revival_inc_favicon_png_image, public_revival_inc_favicon_png_revival_inc_game, public_revival_inc_favicon_png_game_controller_mark [INFERRED 0.75] - **Site identity: eye logo used as app icon and in-page logo** — src_app_icon_png_image, src_app_icon_png_eye_logo, src_app_icon_png_favicon, src_app_components_jokerlogo_tsx_logo [INFERRED 0.85] -## Communities (42 total, 15 thin omitted) +## Communities (40 total, 15 thin omitted) ### Community 0 - "Desktop App Catalog" -Cohesion: 0.08 -Nodes (33): Web theme + light/dark (v2.2 rework), react, ALACRITTY_APP, ContributionsApp(), FriendsApp(), GitdxdApp(), NEOFETCH, RevivalApp() (+25 more) +Cohesion: 0.11 +Nodes (26): Web theme + light/dark (v2.2 rework), react, ContributionsApp(), Clock(), getTime(), subscribe(), Activity, ActivityPayload (+18 more) ### Community 1 - "Deployment & Ops Docs" Cohesion: 0.09 @@ -104,15 +102,15 @@ Nodes (37): ansi-colors, bash-path, gulp-format-md, mocha, author, bugs, url, co ### Community 3 - "WindowsDesktop.tsx" Cohesion: 0.08 -Nodes (34): Conventions & things that will bite you, How UI selection works, APP_BY_ID, AppDef, APPS, createWebsiteApp(), EmbeddedSite(), WebsiteApp() (+26 more) +Nodes (33): Conventions & things that will bite you, How UI selection works, APP_BY_ID, AppDef, APPS, createWebsiteApp(), EmbeddedSite(), WebsiteApp() (+25 more) ### Community 4 - "braces Parsing Engine" Cohesion: 0.10 Nodes (17): compile, expand, parse, stringify, compile(), fill, utils, append() (+9 more) -### Community 5 - "Project Index Data" -Cohesion: 0.14 -Nodes (20): HardwareApp(), ProjectsApp(), CodingProjectIndex(), CodingRow(), Group(), HARDWARE_GROUPS, HardwareProjectIndex(), HardwareRow() (+12 more) +### Community 5 - "apps.tsx" +Cohesion: 0.07 +Nodes (36): ALACRITTY_APP, FriendsApp(), GitdxdApp(), HardwareApp(), NEOFETCH, ProjectsApp(), RevivalApp(), RustyWolfApp() (+28 more) ### Community 6 - "braces Character Constants" Cohesion: 0.11 @@ -135,8 +133,8 @@ Nodes (3): { }, parse(), stringify ### Community 7 - "Next Config & API Routes" -Cohesion: 0.15 -Nodes (13): nextConfig, next, ALLOWED_HOSTS, clickShim(), fail(), GET(), isAllowedHost(), ALLOWED_HOSTS (+5 more) +Cohesion: 0.10 +Nodes (20): nextConfig, next, app, hasForwardedHeaders(), isDevDebugRequest(), isLocalDebugRequest(), isLoopback(), port (+12 more) ### Community 8 - "TypeScript Compiler Config" Cohesion: 0.11 @@ -150,10 +148,6 @@ Nodes (14): fill-range, name, private, version, autoprefixer, postcss, react-dom Cohesion: 0.15 Nodes (13): devDependencies, autoprefixer, eslint, eslint-config-next, fill-range, postcss, @svgr/webpack, tailwindcss (+5 more) -### Community 11 - "Custom Dev Server" -Cohesion: 0.29 -Nodes (7): app, hasForwardedHeaders(), isDevDebugRequest(), isLocalDebugRequest(), isLoopback(), port, server - ### Community 12 - "Debian Dependency Installer" Cohesion: 0.43 Nodes (6): die(), log(), node_ok(), install-dependencies-deb.sh script, usage(), warn() @@ -210,13 +204,9 @@ Nodes (3): Game Controller Logo Mark, Revival Inc. Favicon (yellow character wit Cohesion: 0.67 Nodes (3): TikTok, TikTok Logo Icon, SVG Repo -### Community 41 - "useColorScheme.ts" -Cohesion: 0.39 -Nodes (7): ColorScheme, DEFAULT_SCHEME, getServerSnapshot(), getSnapshot(), setColorScheme(), subscribe(), useColorScheme() - ## Knowledge Gaps - **54 isolated node(s):** `react-dom`, `@svgr/webpack`, `@tailwindcss/postcss`, `@types/node`, `@types/react` (+49 more) - These have ≤1 connection - possible missing edges or undocumented components. (Counts symbols only; 226 node(s) total have ≤1 connection when file, concept and rationale nodes are included.) + These have ≤1 connection - possible missing edges or undocumented components. (Counts symbols only; 227 node(s) total have ≤1 connection when file, concept and rationale nodes are included.) - **15 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. ## Suggested Questions @@ -229,10 +219,10 @@ _Questions this graph is uniquely positioned to answer:_ - **What connects `react-dom`, `@svgr/webpack`, `@tailwindcss/postcss` to the rest of the system?** _54 weakly-connected nodes found - possible documentation gaps or missing edges._ - **Should `Desktop App Catalog` be split into smaller, more focused modules?** - _Cohesion score 0.0797872340425532 - nodes in this community are weakly interconnected._ + _Cohesion score 0.10873440285204991 - nodes in this community are weakly interconnected._ - **Why does `braces()` connect `braces Public API Methods` to `WindowsDesktop.tsx`, `braces Parsing Engine`?** _High betweenness centrality (0.150) - this node is a cross-community bridge._ - **Should `Deployment & Ops Docs` be split into smaller, more focused modules?** _Cohesion score 0.08735632183908046 - nodes in this community are weakly interconnected._ -- **Why does `next` connect `Next Config & API Routes` to `Desktop App Catalog`, `Root Package Dependencies`, `Custom Dev Server`, `WindowsDesktop.tsx`?** +- **Why does `next` connect `Next Config & API Routes` to `Desktop App Catalog`, `Root Package Dependencies`, `WindowsDesktop.tsx`, `apps.tsx`?** _High betweenness centrality (0.126) - this node is a cross-community bridge._ \ No newline at end of file diff --git a/graphify-out/graph.html b/graphify-out/graph.html index 6d1b787..7847fb4 100644 --- a/graphify-out/graph.html +++ b/graphify-out/graph.html @@ -94,12 +94,12 @@
-
423 nodes · 591 edges · 42 communities
+
424 nodes · 592 edges · 40 communities