diff --git a/css/editorial.css b/css/editorial.css index a6048fc..af151e3 100644 --- a/css/editorial.css +++ b/css/editorial.css @@ -885,6 +885,210 @@ code { font-size: 0.86rem; } +/* Scorium is code-native, so its project visual is a small editorial + language specimen rather than a fake product screenshot. */ +.project-visual-scorium { + display: block; + overflow: hidden; + background: + linear-gradient(rgba(17, 23, 26, 0.08) 1px, transparent 1px), + linear-gradient(90deg, rgba(17, 23, 26, 0.08) 1px, transparent 1px), + var(--paper-deep); + background-size: 2.25rem 2.25rem; + color: var(--text); +} + +.project-visual-scorium::before { + position: absolute; + z-index: 0; + top: -16%; + right: -5%; + width: 55%; + height: 72%; + transform: rotate(12deg); + background: var(--coral); + content: ""; + clip-path: polygon(26% 0, 100% 0, 100% 78%, 0 100%); +} + +.scorium-window { + position: absolute; + z-index: 2; + top: 8%; + right: 8%; + bottom: 21%; + left: 7%; + display: grid; + overflow: hidden; + border: 3px solid var(--ink); + background: #111b20; + box-shadow: 0.9rem 0.9rem 0 rgba(17, 23, 26, 0.2); + grid-template-rows: auto 1fr auto; +} + +.scorium-titlebar { + display: grid; + min-height: 3.5rem; + padding: 0 1rem; + border-bottom: 2px solid rgba(237, 241, 233, 0.22); + color: var(--muted); + font-family: var(--mono); + font-size: 0.62rem; + letter-spacing: 0.04em; + grid-template-columns: auto 1fr auto; + align-items: center; + gap: 1rem; +} + +.scorium-titlebar b { + color: var(--coral-bright); + letter-spacing: 0.13em; +} + +.scorium-titlebar span { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.scorium-titlebar i { + color: var(--lime); + font-style: normal; +} + +.scorium-code { + align-self: center; + min-width: 0; + margin: 0; + padding: clamp(1.2rem, 3vw, 2.2rem); + overflow: hidden; + border: 0; + background: transparent; + color: var(--text); + font: 500 clamp(0.67rem, 1.05vw, 0.93rem)/1.65 var(--mono); + white-space: pre; +} + +.scorium-code .scorium-dim { + display: inline-block; + width: 2.25em; + color: #60737b; + font-weight: 400; +} + +.scorium-line { + display: block; + min-height: 1.65em; +} + +.scorium-indent { + display: inline-block; + width: 2.2em; +} + +.scorium-indent-double { + width: 4.4em; +} + +.scorium-code b { + color: var(--cyan); + font-weight: 600; +} + +.scorium-code em { + color: var(--coral-bright); + font-style: normal; +} + +.scorium-code strong { + color: var(--lime); + font-weight: 500; +} + +.scorium-code i { + color: var(--yellow); + font-style: normal; +} + +.scorium-diagnostic { + display: flex; + min-height: 2.9rem; + padding: 0 1rem; + border-top: 2px solid rgba(237, 241, 233, 0.16); + color: var(--muted); + font-family: var(--mono); + font-size: 0.61rem; + letter-spacing: 0.03em; + align-items: center; + gap: 0.65rem; +} + +.scorium-diagnostic i { + width: 0.55rem; + height: 0.55rem; + flex: 0 0 auto; + background: var(--lime); +} + +.scorium-pipeline { + position: absolute; + z-index: 2; + right: 2rem; + bottom: 2rem; + left: 2rem; + display: flex; + padding-top: 0.8rem; + border-top: 3px solid var(--ink); + color: var(--ink); + font-family: var(--mono); + font-size: clamp(0.54rem, 0.8vw, 0.68rem); + letter-spacing: 0.05em; + text-transform: uppercase; + align-items: center; + justify-content: space-between; + gap: 0.6rem; +} + +.scorium-pipeline b { + font-weight: 600; +} + +.scorium-pipeline i { + color: #765b4d; + font-style: normal; +} + +.scorium-watermark { + position: absolute; + z-index: 1; + right: -0.04em; + bottom: -0.2em; + color: rgba(17, 23, 26, 0.1); + font-family: var(--display); + font-size: clamp(7rem, 15vw, 14rem); + letter-spacing: -0.08em; + line-height: 0.8; + pointer-events: none; +} + +.project-visual-scorium .image-label { + z-index: 3; + right: auto; + bottom: auto; + left: 0; + top: 0; + transform: translate(-2px, -100%); +} + +.project-feature-scorium .project-feature-copy { + border-top-color: var(--coral); +} + +.scorium-tags { + margin: -0.2rem 0 1.4rem; + color: var(--muted); +} + .project-facts { border-top-width: 3px; border-bottom-width: 2px; @@ -1764,6 +1968,45 @@ code { min-height: 20rem; } + .project-visual-scorium { + min-height: 28rem; + } + + .scorium-window { + top: 6%; + right: 1.1rem; + bottom: 19%; + left: 1.1rem; + box-shadow: 0.55rem 0.55rem 0 rgba(17, 23, 26, 0.2); + } + + .scorium-titlebar { + min-height: 3rem; + } + + .scorium-titlebar span { + display: none; + } + + .scorium-titlebar { + grid-template-columns: 1fr auto; + } + + .scorium-code { + padding: 1rem; + font-size: clamp(0.56rem, 2.35vw, 0.72rem); + } + + .scorium-pipeline { + right: 1rem; + bottom: 1.35rem; + left: 1rem; + } + + .scorium-pipeline i { + display: none; + } + .project-card-cool { width: 94%; } diff --git a/index.html b/index.html index a4641ad..a40f640 100644 --- a/index.html +++ b/index.html @@ -5,10 +5,10 @@ Fi3w0 / Alex - Systems Builder - + - + @@ -19,8 +19,8 @@ - - + + @@ -68,7 +68,7 @@

alex@fiw:~ $ cat about.txt

Alex / Fi3w0

- I make Linux and macOS desktop tools, run a homelab, and publish Minecraft server mods. + I build a Wayland desktop, a programmable configuration language, macOS tools, and Minecraft server mods. Most of my projects start as something I wanted for my own machine or server, then grow until they are useful to somebody else too.

@@ -92,15 +92,15 @@

$ git status --short

-

M homelab/
M minecraft-mods/
?? desktop-experiments/

+

M TideWM/
M Scorium/
?? next-system/

$ cat NOTES

-

linux + macos / servers / modding
automation / config / self-hosting

+

wayland + rust / config languages
automation / servers / self-hosting

# there is always something unfinished

Fi3w0's GitHub avatar -
Alex / Fi3w0Linux, servers, mods
+
Alex / Fi3w0Systems over categories
@@ -173,8 +173,8 @@ hot reload, readable config files, updates that can fail safely, and logs that say what went wrong.

- I write Bash, Go, Lua, and modify Java directly. For Rust, Swift, and larger Kotlin, TypeScript, Python, - and QML builds, I use AI agents heavily, then review, test, and integrate the result myself. + I write Bash, Go, Lua, and Python directly, and modify Java. For heavier Rust, Swift, Kotlin, + TypeScript, and QML builds, I direct AI agents, then own the design, review, testing, and integration.

Ukrainian + RussianSpanishEnglish C1 @@ -203,29 +203,54 @@
-
Daily-driver compositorAI-assisted / evolving
+
Functional pre-releasev0.90 / daily-driver path

Wayland compositor / Rust

TideWM

-

A water-themed Wayland compositor built on Smithay, made because I wanted to see how far I could take it. Tiling (BSP and master/stack), multi-monitor, XWayland, workspaces, and IPC already run as my daily driver; the signature aqua render effects are next.

-
AI-assistedSmithayRustWayland
+

A Wayland desktop that feels like water, built in Rust on Smithay. Under the ripples, wave transitions, glass, shadows, and window sway is a real tiling compositor with multi-monitor, XWayland, IPC, screencasting, and two spatial engines you can switch live.

+
SmithayRustWaylandGPL-3.0
View repository

Project shape

    -
  1. 01
    FoundationRust compositor built directly on Smithay
    base
  2. -
  3. 02
    Tiling & compatBSP/master-stack layouts, multi-monitor, XWayland
    done
  4. -
  5. 03
    Visual directionWater/aqua render effects, still pending
    next
  6. -
  7. 04
    Development methodAI-assisted implementation, tested and reviewed by me
    method
  8. +
  9. 01
    ClassicBSP, master/stack, cascade, workspaces, Depth Deck
    done
  10. +
  11. 02
    OceanOne continuous 2D world with reefs, cameras, and bookmarks
    done
  12. +
  13. 03
    Water stackRipples, waves, glass, caustics, sway, depth, and buoyancy
    done
  14. +
  15. 04
    Next passMore hardware coverage, feel tuning, Nvidia native, AUR
    testing
+
+ + + + + Readable config / programmable core + +
+
Newest releaseRust / Lua 5.4 / pre-1.0
+

Scorium

+

A readable, embeddable configuration framework: declarative for simple files, programmable when repetition or conditions appear. It combines typed values, precise diagnostics, built-in schema validation, a canonical formatter, and sandboxed Lua—with no filesystem, network, or process access by default.

+
    +
  • 5focused Rust crates
  • +
  • 5CLI workflows
  • +
  • 0ambient system access
  • +
+
Source-availablePolyForm StrictSandboxed
+ Read the repository +
+
+
@@ -244,7 +269,7 @@ macOS Tahoe / Apple silicon
-
Latest projectSwiftUI / AppKit / macOS
+
Native media workbenchSwiftUI / AppKit / macOS

Flux

A native macOS media workbench: convert, download, edit, and compose media in one focused app. FFmpeg, yt-dlp, and Apple Vision underneath, pre-flight checks that explain failures before a job ever starts, and everything processed locally.

    @@ -370,7 +395,7 @@

    04 / Tools

    What is usually open in my terminal.

    -

    Kitty as the daily emulator, running on a MacBook (macOS) — my main device — SSH'd out to the Arch desktop and the Ubuntu server for everything else.

    +

    Kitty on a MacBook Air M4 is the main console, SSH'd out to the Arch desktop, ThinkPad T14, and Ubuntu server for everything else.

    @@ -418,7 +443,7 @@

    © 2026 Alex / Fi3w0

    - +