diff --git a/AGENTS.md b/AGENTS.md index c98d79d..45d1cbd 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.21` (see `package.json`). +- Version: `2.2.22` (see `package.json`). ### Scripts ```bash @@ -103,6 +103,7 @@ src/app/ components/ ThemeRoot.tsx → picks which shell to mount (the router of the UI) WebLayout.tsx → "web" theme (default): sticky sidebar + glass content + AeroMusic.tsx → Frutiger Aero soundtrack (random SoundCloud playlist track) FeatureWindow.tsx → decorative CSS "windows" (game / browser / forge); used in the web feature panels and the desktop app windows WindowsDesktop.tsx → "skeuo" theme, desktop: icons, windows, taskbar @@ -181,7 +182,11 @@ Themes: `web` = default frosted-glass website (sidebar + content, light/dark), bubbles (`.web-aero-bubbles` / `.web-aero-bubble`) rise across the backdrop, and all `.glass` panels and interactive controls become crystal-clear 3D bevel-rimmed liquid glass (the `.web-ctl-scheme` light/dark switch is hidden in aero mode — - it's a fixed bright-sky look). The two remaining feature panels (`.web-split`) stretch + it's a fixed bright-sky look). While aero is on, `AeroMusic.tsx` autoplays a + random track from the *Frutiger Aero* SoundCloud playlist (a hidden SoundCloud + iframe driven through their widget API: it picks a random index from `getSounds` + and re-randomises on every `PLAY` event so the set never plays in order; the chip + label is synced from `getCurrentSound`, not from what we asked for). 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, diff --git a/README.md b/README.md index 1a52cd8..f7e991d 100644 --- a/README.md +++ b/README.md @@ -47,8 +47,10 @@ more. `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 crystal-clear 3D bevel-rimmed liquid-glass panels and buttons - with subtle cyan refractive rims. The light/dark switch is hidden while the mode is - active (it's a fixed bright-sky look), and the desktop mode is left untouched. + with subtle cyan refractive rims. A random track from the *Frutiger Aero* SoundCloud + playlist plays while the mode is on (driven through SoundCloud's widget API), with a + small glass "now playing" chip to pause it. The light/dark switch is hidden while the + mode is active (it's a fixed bright-sky look), and the desktop mode is left 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. @@ -93,7 +95,7 @@ more. 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.21` (see `package.json`) +- **Version:** `2.2.22` (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**, @@ -215,6 +217,7 @@ src/app/ useTheme.ts → theme state via useSyncExternalStore useColorScheme.ts → light/dark state via useSyncExternalStore WebLayout.tsx → default web shell: sidebar + glass content + AeroMusic.tsx → Frutiger Aero soundtrack (random SoundCloud playlist track) FeatureWindow.tsx → decorative CSS windows for the two feature panels WindowsDesktop.tsx → desktop shell: icons, windows, taskbar, Start menu WinWindow.tsx → one draggable/resizable window diff --git a/graphify-out/.graphify_labels.json b/graphify-out/.graphify_labels.json index 6025a1e..30e6912 100644 --- a/graphify-out/.graphify_labels.json +++ b/graphify-out/.graphify_labels.json @@ -6,16 +6,11 @@ "6": "braces Character Constants", "7": "Next Config & API Routes", "8": "TypeScript Compiler Config", - "9": "Root Package Dependencies", "10": "Root Dev Dependencies", "12": "Debian Dependency Installer", - "13": "brace-expansion Overrides", - "14": "npm Scripts", "15": "Freezmo Icon Visual Identity", "16": "braces Public API Methods", "17": "Eye Logo & Favicon Assets", - "18": "ESLint Configuration", - "19": "Runtime Dependencies", "20": "Discord Icon Asset", "22": "Instagram Icon Asset", "23": "Gentoo Logo Asset", @@ -23,7 +18,6 @@ "25": "Revival Inc. Game Favicon", "26": "TikTok Icon Asset", "27": "System Service Installer", - "28": "Package allowScripts Overrides", "29": "PostCSS Configuration", "30": "GitHub Icon Asset", "31": "itch.io Icon Asset", diff --git a/graphify-out/GRAPH_REPORT.md b/graphify-out/GRAPH_REPORT.md index 1a6e1f3..67a0eeb 100644 --- a/graphify-out/GRAPH_REPORT.md +++ b/graphify-out/GRAPH_REPORT.md @@ -1,17 +1,17 @@ -# Graph Report - dvorakmortonxd.dev (2026-10-15) +# Graph Report - dvorakmortonxd.dev (2026-10-16) ## Corpus Check -- 43 files · ~319,284 words +- 44 files · ~320,188 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 -- 424 nodes · 592 edges · 40 communities (25 shown, 15 thin omitted) +- 434 nodes · 607 edges · 37 communities (23 shown, 14 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: `15ef4db7` +- Built from commit: `e4530afd` - Run `git rev-parse HEAD` and compare to check if the graph is stale. - Run `graphify update .` after code changes (no API cost). @@ -19,22 +19,20 @@ - Desktop App Catalog - Deployment & Ops Docs - braces Package Metadata -- WindowsDesktop.tsx +- useTheme.ts - braces Parsing Engine - apps.tsx - braces Character Constants - Next Config & API Routes - TypeScript Compiler Config -- Root Package Dependencies +- package.json - Root Dev Dependencies +- ProjectIndex.tsx - Debian Dependency Installer -- brace-expansion Overrides -- npm Scripts +- dev-server.mjs - Freezmo Icon Visual Identity - braces Public API Methods - Eye Logo & Favicon Assets -- ESLint Configuration -- Runtime Dependencies - Discord Icon Asset - AGENTS.md — cold-boot notes - Instagram Icon Asset @@ -43,7 +41,6 @@ - Revival Inc. Game Favicon - TikTok Icon Asset - System Service Installer -- Package allowScripts Overrides - PostCSS Configuration - GitHub Icon Asset - itch.io Icon Asset @@ -55,9 +52,9 @@ - Twitter/X Icon Asset ## God Nodes (most connected - your core abstractions) -1. `WebLayout()` - 18 edges -2. `compilerOptions` - 16 edges -3. `react` - 15 edges +1. `WebLayout()` - 19 edges +2. `react` - 16 edges +3. `compilerOptions` - 16 edges 4. `next` - 12 edges 5. `FeatureWindow()` - 12 edges 6. `useTheme()` - 12 edges @@ -86,11 +83,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 (40 total, 15 thin omitted) +## Communities (37 total, 14 thin omitted) ### Community 0 - "Desktop App Catalog" -Cohesion: 0.11 -Nodes (26): Web theme + light/dark (v2.2 rework), react, ContributionsApp(), Clock(), getTime(), subscribe(), Activity, ActivityPayload (+18 more) +Cohesion: 0.08 +Nodes (35): Web theme + light/dark (v2.2 rework), react, AeroMusic(), loadWidgetApi(), PLACEHOLDER, SoundCloudGlobal, SoundCloudSound, SoundCloudWidget (+27 more) ### Community 1 - "Deployment & Ops Docs" Cohesion: 0.09 @@ -100,17 +97,17 @@ Nodes (30): Autostart on Boot (systemd / OpenRC), Cloudflare Tunnel Reverse Prox Cohesion: 0.05 Nodes (37): ansi-colors, bash-path, gulp-format-md, mocha, author, bugs, url, contributors (+29 more) -### Community 3 - "WindowsDesktop.tsx" -Cohesion: 0.08 -Nodes (33): Conventions & things that will bite you, How UI selection works, APP_BY_ID, AppDef, APPS, createWebsiteApp(), EmbeddedSite(), WebsiteApp() (+25 more) +### Community 3 - "useTheme.ts" +Cohesion: 0.19 +Nodes (13): How UI selection works, WelcomeApp(), ThemeRoot(), DEFAULT_THEME, getServerSnapshot(), getSnapshot(), setTheme(), subscribe() (+5 more) ### Community 4 - "braces Parsing Engine" Cohesion: 0.10 Nodes (17): compile, expand, parse, stringify, compile(), fill, utils, append() (+9 more) ### Community 5 - "apps.tsx" -Cohesion: 0.07 -Nodes (36): ALACRITTY_APP, FriendsApp(), GitdxdApp(), HardwareApp(), NEOFETCH, ProjectsApp(), RevivalApp(), RustyWolfApp() (+28 more) +Cohesion: 0.06 +Nodes (36): Conventions & things that will bite you, ALACRITTY_APP, APP_BY_ID, AppDef, APPS, createWebsiteApp(), EmbeddedSite(), FriendsApp() (+28 more) ### Community 6 - "braces Character Constants" Cohesion: 0.11 @@ -133,32 +130,32 @@ Nodes (3): { }, parse(), stringify ### Community 7 - "Next Config & API Routes" -Cohesion: 0.10 -Nodes (20): nextConfig, next, app, hasForwardedHeaders(), isDevDebugRequest(), isLocalDebugRequest(), isLoopback(), port (+12 more) +Cohesion: 0.15 +Nodes (13): nextConfig, next, ALLOWED_HOSTS, clickShim(), fail(), GET(), isAllowedHost(), ALLOWED_HOSTS (+5 more) ### Community 8 - "TypeScript Compiler Config" Cohesion: 0.11 Nodes (18): compilerOptions, allowJs, esModuleInterop, incremental, isolatedModules, jsx, lib, module (+10 more) -### Community 9 - "Root Package Dependencies" -Cohesion: 0.13 -Nodes (14): fill-range, name, private, version, autoprefixer, postcss, react-dom, @svgr/webpack (+6 more) +### Community 9 - "package.json" +Cohesion: 0.06 +Nodes (35): eslintConfig, allowScripts, unrs-resolver@1.12.2, dependencies, next, react, react-dom, fill-range (+27 more) ### Community 10 - "Root Dev Dependencies" Cohesion: 0.15 Nodes (13): devDependencies, autoprefixer, eslint, eslint-config-next, fill-range, postcss, @svgr/webpack, tailwindcss (+5 more) +### Community 11 - "ProjectIndex.tsx" +Cohesion: 0.14 +Nodes (20): HardwareApp(), ProjectsApp(), CodingProjectIndex(), CodingRow(), Group(), HARDWARE_GROUPS, HardwareProjectIndex(), HardwareRow() (+12 more) + ### Community 12 - "Debian Dependency Installer" Cohesion: 0.43 Nodes (6): die(), log(), node_ok(), install-dependencies-deb.sh script, usage(), warn() -### Community 13 - "brace-expansion Overrides" -Cohesion: 0.33 -Nodes (6): brace-expansion, brace-expansion, overrides, braces, minimatch@^10.0.0, minimatch@^3.0.0 - -### Community 14 - "npm Scripts" -Cohesion: 0.33 -Nodes (6): scripts, build, dev, dev:next, lint, start +### Community 13 - "dev-server.mjs" +Cohesion: 0.29 +Nodes (7): app, hasForwardedHeaders(), isDevDebugRequest(), isLocalDebugRequest(), isLoopback(), port, server ### Community 15 - "Freezmo Icon Visual Identity" Cohesion: 0.53 @@ -168,14 +165,6 @@ Nodes (5): Dark Navy Rounded-Square (Squircle) Frame, Freeze / Preserve State, F Cohesion: 0.50 Nodes (4): JokerLogo Component Logo Image, Eye Logo Mark (amber iris and pupil), App Icon - Macro Photograph of a Human Eye, All-Seeing Eye / Surveillance Motif -### Community 18 - "ESLint Configuration" -Cohesion: 0.50 -Nodes (3): eslintConfig, eslint, eslint-config-next - -### Community 19 - "Runtime Dependencies" -Cohesion: 0.50 -Nodes (4): dependencies, next, react, react-dom - ### Community 20 - "Discord Icon Asset" Cohesion: 0.50 Nodes (4): Discord (chat platform brand mark), Discord Icon (SVG social link asset), Profile social link icon, SVG Repo (icon asset source) @@ -206,23 +195,23 @@ Nodes (3): TikTok, TikTok Logo Icon, SVG Repo ## 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; 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. + These have ≤1 connection - possible missing edges or undocumented components. (Counts symbols only; 233 node(s) total have ≤1 connection when file, concept and rationale nodes are included.) +- **14 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. ## Suggested Questions _Questions this graph is uniquely positioned to answer:_ -- **Why does `Conventions & things that will bite you` connect `WindowsDesktop.tsx` to `braces Public API Methods`, `AGENTS.md — cold-boot notes`?** - _High betweenness centrality (0.183) - this node is a cross-community bridge._ +- **Why does `Conventions & things that will bite you` connect `apps.tsx` to `braces Public API Methods`, `AGENTS.md — cold-boot notes`?** + _High betweenness centrality (0.181) - this node is a cross-community bridge._ - **Are the 2 inferred relationships involving `WebLayout()` (e.g. with `How UI selection works` and `Web theme + light/dark (v2.2 rework)`) actually correct?** _`WebLayout()` has 2 INFERRED edges - model-reasoned connections that need verification._ - **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.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._ + _Cohesion score 0.080338266384778 - nodes in this community are weakly interconnected._ +- **Why does `braces()` connect `braces Public API Methods` to `braces Parsing Engine`, `apps.tsx`?** + _High betweenness centrality (0.149) - 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`, `WindowsDesktop.tsx`, `apps.tsx`?** - _High betweenness centrality (0.126) - this node is a cross-community bridge._ \ No newline at end of file +- **Why does `react` connect `Desktop App Catalog` to `useTheme.ts`, `apps.tsx`, `Next Config & API Routes`, `package.json`, `ProjectIndex.tsx`?** + _High betweenness centrality (0.136) - 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 7847fb4..380f870 100644 --- a/graphify-out/graph.html +++ b/graphify-out/graph.html @@ -94,12 +94,12 @@
-