Rework Freezmo panel around the app icon; drop stale screenshot; v2.2.16

This commit is contained in:
Martin Dvořák 2026-10-15 22:58:09 +02:00
commit 20f67910c4
13 changed files with 165 additions and 115 deletions

4
.gitignore vendored
View file

@ -79,3 +79,7 @@ graphify-out/cache/
graphify-out/cost.json graphify-out/cost.json
graphify-out/.graphify_python graphify-out/.graphify_python
graphify-out/.graphify_root graphify-out/.graphify_root
graphify-out/.graphify_labels.pending.json
graphify-out/.graphify_labels.json.sig
# dated graph backups written by `graphify update`
graphify-out/20*/

View file

@ -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 utilities in the components (Tailwind is present via PostCSS but the look is
hand-written CSS). hand-written CSS).
- Path alias: `@/*` → `src/*`. - Path alias: `@/*` → `src/*`.
- Version: `2.2.15` (see `package.json`). - Version: `2.2.16` (see `package.json`).
### Scripts ### Scripts
```bash ```bash
@ -173,8 +173,8 @@ Themes: `web` = default frosted-glass website (sidebar + content, light/dark),
along with the row hairlines (`--index-line`). Above the split, the full-width along with the row hairlines (`--index-line`). Above the split, the full-width
**Freezmo** launch panel (`.web-freezmo` — app-tinted glow, floating orbs, **Freezmo** launch panel (`.web-freezmo` — app-tinted glow, floating orbs,
gradient wordmark + "new" badge, feature bullets, Try/Source CTAs) is the one gradient wordmark + "new" badge, feature bullets, Try/Source CTAs) is the one
place a **real screenshot** is used (`public/freezmo.png`, the live place the **real app icon** is used (`public/freezmo.png`, the live
study app). The two remaining feature panels (`.web-split`) stretch study app), floated beside the copy with a soft glow. The two remaining feature panels (`.web-split`) stretch
to equal height and share a fixed `16 / 10` `.fw` window (the `FeatureWindow` to equal height and share a fixed `16 / 10` `.fw` window (the `FeatureWindow`
component) — decorative, **asset-free CSS mock-ups** rather than screenshots: component) — decorative, **asset-free CSS mock-ups** rather than screenshots:
Revival Inc. is a little necromancy game scene (night sky, moon, tombstones, Revival Inc. is a little necromancy game scene (night sky, moon, tombstones,
@ -195,7 +195,7 @@ Themes: `web` = default frosted-glass website (sidebar + content, light/dark),
feature/app previews are `FeatureWindow` mock windows, feature/app previews are `FeatureWindow` mock windows,
and `.win-desktop` carries a layered gradient "wallpaper" (there is no and `.win-desktop` carries a layered gradient "wallpaper" (there is no
`wallpaper.jpg`). Only the social SVGs, the site logo (`src/app/icon.png`), `wallpaper.jpg`). Only the social SVGs, the site logo (`src/app/icon.png`),
the Freezmo screenshot (`public/freezmo.png`), the the Freezmo app icon (`public/freezmo.png`), the
Joker easter egg (`joker.webp`) and the Gentoo mark (`gentoo.svg`) remain as Joker easter egg (`joker.webp`) and the Gentoo mark (`gentoo.svg`) remain as
real image files. real image files.
- **Not a terminal.** The web theme deliberately has no TUI chrome: the hero is - **Not a terminal.** The web theme deliberately has no TUI chrome: the hero is

View file

@ -7,7 +7,7 @@ from the saved theme, all from the same content:
- **`web`** (default) — a light, frosted-glass **website**: a sticky full-height sidebar - **`web`** (default) — a light, frosted-glass **website**: a sticky full-height sidebar
(section nav, light/dark switch, desktop switch) beside a column of glass cards — hero with (section nav, light/dark switch, desktop switch) beside a column of glass cards — hero with
a socials row, quick tiles, the Freezmo feature panel (a real app screenshot) above the a socials row, quick tiles, the Freezmo feature panel (a real app icon) above the
Revival Inc. / RustyWolf CSS mock windows, live services, Revival Inc. / RustyWolf CSS mock windows, live services,
activity heatmap, projects and hardware (grouped index lists), and friends. Dark by default activity heatmap, projects and hardware (grouped index lists), and friends. Dark by default
with a persisted light mode, and fully responsive, so phones and desktops get the same shell. with a persisted light mode, and fully responsive, so phones and desktops get the same shell.
@ -40,7 +40,7 @@ more.
(category headers, status/language chips, language-tinted dots on project rows, years — no emoji, no (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 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 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 screenshot, the Joker only real images left are the logo, the social SVGs, the Freezmo app icon, the Joker
easter egg and the Gentoo mark. easter egg and the Gentoo mark.
- **Draggable desktop icons** — free placement that snaps to a measured grid, one icon per - **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 cell, with a follow-the-cursor drag ghost. Icons shrink on cramped viewports so they never
@ -84,7 +84,7 @@ more.
used by the desktop theme's SMP menu and the in-desktop terminal. 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 - **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. easter egg and the Gentoo mark; all cards, feature/app previews and the wallpaper are CSS.
- **Version:** `2.2.15` (see `package.json`) - **Version:** `2.2.16` (see `package.json`)
- **Dependencies:** `npm audit` reports **0 vulnerabilities**. `next` is kept at a patched - **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 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**, `overrides`. `braces` (a transitive ESLint/`fast-glob` dependency) has **no upstream fix**,

View file

@ -1 +1,41 @@
{"0": "Desktop App Catalog", "1": "Deployment & Ops Docs", "2": "braces Package Metadata", "3": "Theme & Clock Components", "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", "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", "21": "Freezmo App Screenshot", "22": "Instagram Icon Asset", "23": "Gentoo Logo Asset", "24": "Reddit Icon Asset", "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", "32": "Joker Character Image", "33": "LinkedIn Icon Asset", "34": "Quipee Logo Asset", "35": "Snapchat Icon Asset", "36": "SoundCloud Icon Asset", "37": "Twitter/X Icon Asset", "38": "Activities API Route", "39": "Heatmap API Route", "40": "Revival Inc. Page"} {
"0": "Desktop App Catalog",
"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",
"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",
"24": "Reddit Icon Asset",
"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",
"32": "Joker Character Image",
"33": "LinkedIn Icon Asset",
"34": "Quipee Logo Asset",
"35": "Snapchat Icon Asset",
"36": "SoundCloud Icon Asset",
"37": "Twitter/X Icon Asset",
"38": "Activities API Route",
"39": "Heatmap API Route",
"40": "Revival Inc. Page"
}

View file

@ -1,20 +1,25 @@
# Graph Report - dvorakmortonxd.dev (2026-10-15) # Graph Report - dvorakmortonxd.dev (2026-10-15)
## Corpus Check ## Corpus Check
- 63 files · ~107,169 words - 43 files · ~105,962 words
- Verdict: corpus is large enough that graph structure adds value. - 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) - Unclassified: 19 file(s) not represented in the graph (top: (none) 6, .ttf 3, .css 3)
## Summary ## Summary
- 414 nodes · 577 edges · 41 communities (26 shown, 15 thin omitted) - 423 nodes · 591 edges · 42 communities (27 shown, 15 thin omitted)
- Extraction: 93% EXTRACTED · 7% INFERRED · 0% AMBIGUOUS · INFERRED: 39 edges (avg confidence: 0.85) - Extraction: 93% EXTRACTED · 7% INFERRED · 0% AMBIGUOUS · INFERRED: 44 edges (avg confidence: 0.89)
- Token cost: 0 input · 0 output - Token cost: 0 input · 0 output
## Graph Freshness
- Built from commit: `6702ca8d`
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
- Run `graphify update .` after code changes (no API cost).
## Community Hubs (Navigation) ## Community Hubs (Navigation)
- Desktop App Catalog - Desktop App Catalog
- Deployment & Ops Docs - Deployment & Ops Docs
- braces Package Metadata - braces Package Metadata
- Theme & Clock Components - WindowsDesktop.tsx
- braces Parsing Engine - braces Parsing Engine
- Project Index Data - Project Index Data
- braces Character Constants - braces Character Constants
@ -32,7 +37,7 @@
- ESLint Configuration - ESLint Configuration
- Runtime Dependencies - Runtime Dependencies
- Discord Icon Asset - Discord Icon Asset
- Freezmo App Screenshot - AGENTS.md — cold-boot notes
- Instagram Icon Asset - Instagram Icon Asset
- Gentoo Logo Asset - Gentoo Logo Asset
- Reddit Icon Asset - Reddit Icon Asset
@ -49,68 +54,65 @@
- Snapchat Icon Asset - Snapchat Icon Asset
- SoundCloud Icon Asset - SoundCloud Icon Asset
- Twitter/X Icon Asset - Twitter/X Icon Asset
- useColorScheme.ts
## God Nodes (most connected - your core abstractions) ## God Nodes (most connected - your core abstractions)
1. `WebLayout()` - 16 edges 1. `WebLayout()` - 18 edges
2. `compilerOptions` - 16 edges 2. `compilerOptions` - 16 edges
3. `react` - 15 edges 3. `react` - 15 edges
4. `next` - 12 edges 4. `next` - 12 edges
5. `FeatureWindow()` - 11 edges 5. `FeatureWindow()` - 12 edges
6. `useTheme()` - 11 edges 6. `useTheme()` - 12 edges
7. `WindowsDesktop()` - 8 edges 7. `AGENTS.md — cold-boot notes` - 12 edges
8. `Clock()` - 7 edges 8. `WindowsDesktop()` - 9 edges
9. `ContributionHeatmap()` - 7 edges 9. `ContributionHeatmap()` - 8 edges
10. `CodingProjectIndex()` - 7 edges 10. `ServiceButton()` - 8 edges
## Surprising Connections (you probably didn't know these) ## Surprising Connections (you probably didn't know these)
- `Revival Inc. Game` --conceptually_related_to--> `FeatureWindow CSS Mock Windows` [INFERRED] - `How UI selection works` --references--> `ThemeScript()` [INFERRED]
public/llms.txt → README.md AGENTS.md → src/app/components/ThemeScript.tsx
- `GitDXD (Forgejo Git Forge)` --conceptually_related_to--> `Site API Proxy Routes` [INFERRED] - `How UI selection works` --references--> `WebLayout()` [INFERRED]
public/llms.txt → README.md AGENTS.md → src/app/components/WebLayout.tsx
- `Vendored braces CVE Patch` --conceptually_related_to--> `Brace Bomb DoS / Geometric Complexity` [INFERRED] - `How UI selection works` --references--> `useColorScheme()` [INFERRED]
agents.md → vendor/braces/README.md AGENTS.md → src/app/components/useColorScheme.ts
- `FeatureWindow CSS Mock Windows` --references--> `Revival Inc. Pygbag Web Build` [EXTRACTED] - `Conventions & things that will bite you` --references--> `braces()` [INFERRED]
README.md → public/revival-inc/index.html AGENTS.md → vendor/braces/index.js
- `Vendored braces Patch` --references--> `braces Library` [EXTRACTED] - `Web theme + light/dark (v2.2 rework)` --references--> `ContributionHeatmap()` [INFERRED]
README.md → vendor/braces/README.md AGENTS.md → src/app/components/ContributionHeatmap.tsx
## Import Cycles ## Import Cycles
- None detected. - None detected.
## Hyperedges (group relationships) ## Hyperedges (group relationships)
- **Two-Shell Theming Architecture** — readme_two_shells, readme_web_shell, readme_skeuo_shell, agents_theme_root [INFERRED 0.85] - **Freezmo Icon Visual Identity** — public_freezmo_icon, public_freezmo_snowflake_symbol, public_freezmo_stacked_cards, public_freezmo_dark_squircle_frame [EXTRACTED 1.00]
- **Host-Allowlisted Proxy API Routes** — agents_ping_ssrf_allowlist, agents_frame_proxy, readme_api_routes [INFERRED 0.85]
- **Vendored braces CVE Patch Flow** — readme_vendored_braces_patch, agents_vendored_braces_patch, vendor_braces_readme_braces, vendor_braces_readme_brace_bomb [INFERRED 0.85]
- **Freezmo AI-graded quiz flow (app, quiz UI, sample question)** — public_freezmo_app_webp_image, public_freezmo_app_webp_freezmo_app, public_freezmo_app_webp_quiz_screen, public_freezmo_app_webp_schuman_plan_question [INFERRED 0.85]
- **** — 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] - **** — 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] - **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]
- **Freezmo Icon Visual Identity** — public_freezmo_icon, public_freezmo_snowflake_symbol, public_freezmo_stacked_cards, public_freezmo_dark_squircle_frame [EXTRACTED 1.00]
## Communities (41 total, 15 thin omitted) ## Communities (42 total, 15 thin omitted)
### Community 0 - "Desktop App Catalog" ### Community 0 - "Desktop App Catalog"
Cohesion: 0.06 Cohesion: 0.08
Nodes (41): react, ALACRITTY_APP, APP_BY_ID, AppDef, APPS, ContributionsApp(), createWebsiteApp(), EmbeddedSite() (+33 more) Nodes (33): Web theme + light/dark (v2.2 rework), react, ALACRITTY_APP, ContributionsApp(), FriendsApp(), GitdxdApp(), NEOFETCH, RevivalApp() (+25 more)
### Community 1 - "Deployment & Ops Docs" ### Community 1 - "Deployment & Ops Docs"
Cohesion: 0.07 Cohesion: 0.09
Nodes (37): agents.md Cold-Boot Notes, Custom Dev Server (dev-server.mjs), Header-Stripping Frame Proxy (api/frame), SSRF Host Allowlist (api/ping), ThemeRoot Shell Router, Desktop Icon Grid (useDesktopIcons.ts), Vendored braces CVE Patch, Autostart on Boot (systemd / OpenRC) (+29 more) Nodes (30): Autostart on Boot (systemd / OpenRC), Cloudflare Tunnel Reverse Proxy, PM2 Ecosystem Config File, Node.js >= 20.9.0 Requirement, PM2 Production Deployment (Debian/Alpine), Martin Dvořák (dvorakmortonxd), Coding Projects, Friends' Sites (+22 more)
### Community 2 - "braces Package Metadata" ### Community 2 - "braces Package Metadata"
Cohesion: 0.05 Cohesion: 0.05
Nodes (37): ansi-colors, bash-path, gulp-format-md, mocha, author, bugs, url, contributors (+29 more) Nodes (37): ansi-colors, bash-path, gulp-format-md, mocha, author, bugs, url, contributors (+29 more)
### Community 3 - "Theme & Clock Components" ### Community 3 - "WindowsDesktop.tsx"
Cohesion: 0.10 Cohesion: 0.08
Nodes (29): WelcomeApp(), Clock(), getTime(), subscribe(), JokerLogo(), ThemeRoot(), ColorScheme, DEFAULT_SCHEME (+21 more) Nodes (34): Conventions & things that will bite you, How UI selection works, APP_BY_ID, AppDef, APPS, createWebsiteApp(), EmbeddedSite(), WebsiteApp() (+26 more)
### Community 4 - "braces Parsing Engine" ### Community 4 - "braces Parsing Engine"
Cohesion: 0.10 Cohesion: 0.10
Nodes (17): compile, expand, parse, stringify, compile(), fill, utils, append() (+9 more) Nodes (17): compile, expand, parse, stringify, compile(), fill, utils, append() (+9 more)
### Community 5 - "Project Index Data" ### Community 5 - "Project Index Data"
Cohesion: 0.13 Cohesion: 0.14
Nodes (21): HardwareApp(), ProjectsApp(), CodingProjectIndex(), CodingRow(), Group(), HARDWARE_GROUPS, HardwareProjectIndex(), HardwareRow() (+13 more) Nodes (20): HardwareApp(), ProjectsApp(), CodingProjectIndex(), CodingRow(), Group(), HARDWARE_GROUPS, HardwareProjectIndex(), HardwareRow() (+12 more)
### Community 6 - "braces Character Constants" ### Community 6 - "braces Character Constants"
Cohesion: 0.11 Cohesion: 0.11
@ -184,9 +186,9 @@ Nodes (4): dependencies, next, react, react-dom
Cohesion: 0.50 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) Nodes (4): Discord (chat platform brand mark), Discord Icon (SVG social link asset), Profile social link icon, SVG Repo (icon asset source)
### Community 21 - "Freezmo App Screenshot" ### Community 21 - "AGENTS.md — cold-boot notes"
Cohesion: 0.83 Cohesion: 0.11
Nodes (4): Freezmo study app, Freezmo App Screenshot (AI-graded quiz screen), Freezmo quiz screen with AI grading feedback, Schuman Plan history question (EU history 1945-1974) Nodes (17): After finishing — push to git, AGENTS.md — cold-boot notes, Architecture, Bump the version on EVERY prompt — also do this every time, Design, Git, Gotcha: native drag hijacks the pointer gesture, graphify (+9 more)
### Community 22 - "Instagram Icon Asset" ### Community 22 - "Instagram Icon Asset"
Cohesion: 0.67 Cohesion: 0.67
@ -208,25 +210,29 @@ Nodes (3): Game Controller Logo Mark, Revival Inc. Favicon (yellow character wit
Cohesion: 0.67 Cohesion: 0.67
Nodes (3): TikTok, TikTok Logo Icon, SVG Repo 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 ## Knowledge Gaps
- **53 isolated node(s):** `react-dom`, `@svgr/webpack`, `@tailwindcss/postcss`, `@types/node`, `@types/react` (+48 more) - **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; 212 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; 226 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. - **15 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
## Suggested Questions ## Suggested Questions
_Questions this graph is uniquely positioned to answer:_ _Questions this graph is uniquely positioned to answer:_
- **Why does `react` connect `Desktop App Catalog` to `Root Package Dependencies`, `Theme & Clock Components`, `Project Index Data`, `Next Config & API Routes`?** - **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.109) - this node is a cross-community bridge._ _High betweenness centrality (0.183) - 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?** - **What connects `react-dom`, `@svgr/webpack`, `@tailwindcss/postcss` to the rest of the system?**
_53 weakly-connected nodes found - possible documentation gaps or missing edges._ _54 weakly-connected nodes found - possible documentation gaps or missing edges._
- **Should `Desktop App Catalog` be split into smaller, more focused modules?** - **Should `Desktop App Catalog` be split into smaller, more focused modules?**
_Cohesion score 0.05584415584415584 - nodes in this community are weakly interconnected._ _Cohesion score 0.0797872340425532 - 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`, `Theme & Clock Components`?** - **Why does `braces()` connect `braces Public API Methods` to `WindowsDesktop.tsx`, `braces Parsing Engine`?**
_High betweenness centrality (0.092) - this node is a cross-community bridge._ _High betweenness centrality (0.150) - this node is a cross-community bridge._
- **Should `Deployment & Ops Docs` be split into smaller, more focused modules?** - **Should `Deployment & Ops Docs` be split into smaller, more focused modules?**
_Cohesion score 0.07396870554765292 - nodes in this community are weakly interconnected._ _Cohesion score 0.08735632183908046 - nodes in this community are weakly interconnected._
- **Why does `KDE Plasma Desktop Simulation Shell` connect `Deployment & Ops Docs` to `Desktop App Catalog`?** - **Why does `next` connect `Next Config & API Routes` to `Desktop App Catalog`, `Root Package Dependencies`, `Custom Dev Server`, `WindowsDesktop.tsx`?**
_High betweenness centrality (0.054) - this node is a cross-community bridge._ _High betweenness centrality (0.126) - this node is a cross-community bridge._
- **Should `braces Package Metadata` be split into smaller, more focused modules?**
_Cohesion score 0.05263157894736842 - nodes in this community are weakly interconnected._

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -24,10 +24,10 @@
"semantic_hash": "03388a201be8750ddcddb14dfbc34411" "semantic_hash": "03388a201be8750ddcddb14dfbc34411"
}, },
"package.json": { "package.json": {
"mtime": 1791733935.6445713, "mtime": 1792097800.6502452,
"seen": 1792088878.5675533, "seen": 1792097851.621277,
"ast_hash": "9dc8d0f30ee052e4d46bfd2ee4ac5f61", "ast_hash": "52b55982a20e4621bbf5c3d5b71cce72",
"semantic_hash": "9dc8d0f30ee052e4d46bfd2ee4ac5f61" "semantic_hash": ""
}, },
"postcss.config.mjs": { "postcss.config.mjs": {
"mtime": 1790099669.0082622, "mtime": 1790099669.0082622,
@ -114,10 +114,10 @@
"semantic_hash": "20e25c727b4bb982e5a22d65efece143" "semantic_hash": "20e25c727b4bb982e5a22d65efece143"
}, },
"src/app/components/WebLayout.tsx": { "src/app/components/WebLayout.tsx": {
"mtime": 1792092782.574, "mtime": 1792097800.6502452,
"seen": 1792093031.8826597, "seen": 1792097851.62133,
"ast_hash": "323262c6d5c5735b3707d2421d89dbd1", "ast_hash": "052b55c79df46ba5b1e8448149d4fd64",
"semantic_hash": "323262c6d5c5735b3707d2421d89dbd1" "semantic_hash": ""
}, },
"src/app/components/WinWindow.tsx": { "src/app/components/WinWindow.tsx": {
"mtime": 1791733935.6454856, "mtime": 1791733935.6454856,
@ -240,16 +240,10 @@
"semantic_hash": "b81dea2175efa2b0b6c38451ab5a4bbd" "semantic_hash": "b81dea2175efa2b0b6c38451ab5a4bbd"
}, },
"README.md": { "README.md": {
"mtime": 1791752424.8048594, "mtime": 1792097800.6502452,
"seen": 1792088878.5676332, "seen": 1792097851.6214051,
"ast_hash": "56b4d66dfd84d63c081e89f9b83a2473", "ast_hash": "4bb82eae835a1f9fb3bd13b54e9adeaa",
"semantic_hash": "56b4d66dfd84d63c081e89f9b83a2473" "semantic_hash": ""
},
"agents.md": {
"mtime": 1791754434.7755237,
"seen": 1792088878.5676353,
"ast_hash": "0f3349e68bf149d70a6a28ae4b46b75e",
"semantic_hash": "0f3349e68bf149d70a6a28ae4b46b75e"
}, },
"public/llms.txt": { "public/llms.txt": {
"mtime": 1790099669.0182621, "mtime": 1790099669.0182621,
@ -281,12 +275,6 @@
"ast_hash": "3ade8600c72a99dac523ad990bd59e8b", "ast_hash": "3ade8600c72a99dac523ad990bd59e8b",
"semantic_hash": "3ade8600c72a99dac523ad990bd59e8b" "semantic_hash": "3ade8600c72a99dac523ad990bd59e8b"
}, },
"public/freezmo-app.webp": {
"mtime": 1791751264.7117522,
"seen": 1792088878.5676477,
"ast_hash": "8cb16536265245385e56bda1eac49439",
"semantic_hash": "8cb16536265245385e56bda1eac49439"
},
"public/gentoo.svg": { "public/gentoo.svg": {
"mtime": 1790099669.0142622, "mtime": 1790099669.0142622,
"seen": 1792088878.5676498, "seen": 1792088878.5676498,
@ -376,5 +364,11 @@
"seen": 1792093031.8827293, "seen": 1792093031.8827293,
"ast_hash": "6f69e16823f10d9c7af1625eff2b32e8", "ast_hash": "6f69e16823f10d9c7af1625eff2b32e8",
"semantic_hash": "6f69e16823f10d9c7af1625eff2b32e8" "semantic_hash": "6f69e16823f10d9c7af1625eff2b32e8"
},
"AGENTS.md": {
"mtime": 1792097800.6502452,
"seen": 1792097851.621398,
"ast_hash": "c2418856058d91e442c35b5237ef54de",
"semantic_hash": ""
} }
} }

4
package-lock.json generated
View file

@ -1,12 +1,12 @@
{ {
"name": "dvorakmortonxd", "name": "dvorakmortonxd",
"version": "2.2.15", "version": "2.2.16",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "dvorakmortonxd", "name": "dvorakmortonxd",
"version": "2.2.15", "version": "2.2.16",
"dependencies": { "dependencies": {
"next": "^16.3.8", "next": "^16.3.8",
"react": "^19.3.0", "react": "^19.3.0",

View file

@ -1,6 +1,6 @@
{ {
"name": "dvorakmortonxd", "name": "dvorakmortonxd",
"version": "2.2.15", "version": "2.2.16",
"private": true, "private": true,
"scripts": { "scripts": {
"dev": "node scripts/dev-server.mjs", "dev": "node scripts/dev-server.mjs",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

View file

@ -271,13 +271,13 @@ export default function WebLayout() {
</a> </a>
</div> </div>
</div> </div>
<div className="web-freezmo-shot"> <div className="web-freezmo-icon">
<Image <Image
src="/freezmo.png" src="/freezmo.png"
alt="Freezmo quiz screen — a history question about the Schuman plan with AI grading feedback" alt="Freezmo app icon — a blue snowflake over a stack of cards on a navy squircle"
width={1941} width={512}
height={942} height={512}
sizes="(max-width: 900px) 100vw, 560px" sizes="(max-width: 900px) 45vw, 200px"
className="web-freezmo-img" className="web-freezmo-img"
/> />
</div> </div>
@ -340,7 +340,7 @@ export default function WebLayout() {
</Section> </Section>
<footer className="web-footer glass"> <footer className="web-footer glass">
<span className="web-footer-label">v2.2.15</span> <span className="web-footer-label">v2.2.16</span>
© 2025-2026 Martin Dvořák. All rights reserved (not really I dont care, just © 2025-2026 Martin Dvořák. All rights reserved (not really I dont care, just
follow the GPL3.0 License) follow the GPL3.0 License)
</footer> </footer>

View file

@ -453,7 +453,7 @@ html[data-theme="web"] body {
FREEZMO FEATURE FREEZMO FEATURE
Full-width launch panel for the live study app: blue app- Full-width launch panel for the live study app: blue app-
tinted glow, floating orbs, gradient wordmark/badge, feature tinted glow, floating orbs, gradient wordmark/badge, feature
bullets and CTAs, with the real screenshot tilted into place. bullets and CTAs, with the app icon floating beside the copy.
============================================================ */ ============================================================ */
.web-freezmo { .web-freezmo {
position: relative; position: relative;
@ -605,33 +605,38 @@ html[data-theme="web"] body {
background: var(--btn-bg-hi, var(--glass-hi)); background: var(--btn-bg-hi, var(--glass-hi));
border-color: var(--accent-line); border-color: var(--accent-line);
} }
.web-freezmo-shot { .web-freezmo-icon {
position: relative; position: relative;
display: grid;
place-items: center;
min-height: 100%;
padding: clamp(10px, 2.5vw, 26px) 0;
animation: freezmo-float 7s ease-in-out infinite;
} }
.web-freezmo-shot::before { .web-freezmo-icon::before {
content: ""; content: "";
position: absolute; position: absolute;
inset: -14% -10% -18%; width: min(76%, 240px);
aspect-ratio: 1;
border-radius: 50%;
background: radial-gradient( background: radial-gradient(
60% 60% at 55% 45%, circle at 50% 44%,
color-mix(in srgb, var(--web-accent-2) 28%, transparent), color-mix(in srgb, var(--web-accent-2) 46%, transparent),
color-mix(in srgb, var(--web-accent) 24%, transparent) 46%,
transparent 70% transparent 70%
); );
filter: blur(4px); filter: blur(10px);
} }
.web-freezmo-img { .web-freezmo-img {
position: relative; position: relative;
display: block; display: block;
width: 100%; width: clamp(128px, 26vw, 200px);
height: auto; height: auto;
border-radius: 16px; filter: drop-shadow(0 26px 44px rgba(8, 16, 40, 0.6));
border: 1px solid var(--glass-border);
box-shadow: 0 34px 70px -34px rgba(8, 16, 40, 0.75);
transform: rotate(-1.2deg);
transition: transform 0.35s ease; transition: transform 0.35s ease;
} }
.web-freezmo-shot:hover .web-freezmo-img { .web-freezmo-icon:hover .web-freezmo-img {
transform: rotate(0deg) translateY(-3px); transform: rotate(-3deg) scale(1.04);
} }
@keyframes freezmo-float { @keyframes freezmo-float {
0%, 0%,
@ -643,7 +648,8 @@ html[data-theme="web"] body {
} }
} }
@media (prefers-reduced-motion: reduce) { @media (prefers-reduced-motion: reduce) {
.web-freezmo-orb { .web-freezmo-orb,
.web-freezmo-icon {
animation: none; animation: none;
} }
.web-freezmo-img { .web-freezmo-img {