Skip to content

feat: shader dissolve on the 404 number (experiment, stacked on #541) - #542

Draft
ghesp wants to merge 22 commits into
mainfrom
cursor/404-shader-dissolve-7370
Draft

feat: shader dissolve on the 404 number (experiment, stacked on #541)#542
ghesp wants to merge 22 commits into
mainfrom
cursor/404-shader-dissolve-7370

Conversation

@ghesp

@ghesp ghesp commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Stacked on draft #541 (landing-chrome 404). Shader-only vs that branch.

Summary

Keeps the first honey-light base Georgina locked (solid Lexend 404, tight pointer lights the 22px lattice) and adds a local UV displace on the glyph.

Under the 8/36px head, present.wgsl samples the 404 at displaced_uv so the stroke shoves and smears. Extra taps make a darker honey tail. The page grid is not warped. Type is never faded or dissolved. No 250px orb.

Scope

  • app/ (hosted site, MCP, Ask AI)
  • packages/cli/
  • packages/mdx-bundler/
  • docs/ (product documentation)
  • Repo / CI / other

Type of change

  • New feature

Test plan

  • bun run check passes locally
  • cd app && bun run build — client JS has displaced_uv / shove_px and head_inner:8 / head_outer:36. No let dissolve, glow_k, or head_outer:124
  • Hard-refresh a new 1-segment miss after Railway: pointer on the 0 → solid 404, locally shoved/smeared, grid dots may glow
  • docs N/A

Preview: https://docspage-docspage-pr-542.up.railway.app/ — pick a fresh path after this rebuild, e.g. /honey-displace.

Notes for reviewers

5befe73 on cursor/404-shader-dissolve-7370. Locked type sizes unchanged. Color stays #E69135. This VM has no WebGPU adapter, so the live still still needs a browser pass.

Open in Web Open in Cursor 
cursoragent and others added 4 commits August 28, 2026 09:57
Render a static site 404 with homepage Header/Footer so missing
single-segment paths hit pages/404.tsx instead of the catch-all.

Co-authored-by: ghesp <ghesp@users.noreply.github.com>
Next.js 16 mixed App + Pages routing serves the App builtin 404 when
getServerSideProps returns { notFound: true }. Unknown single-segment
paths now set 404 and render the landing-chrome page instead.

Co-authored-by: ghesp <ghesp@users.noreply.github.com>
Reuse Homepage Background so the 404 sits on the periwinkle field.
Hide Footer closer on this page only; landing Footer is unchanged.

Co-authored-by: ghesp <ghesp@users.noreply.github.com>
WebGL fragment shader treats the honey 404 as a texture and dissolves
grid-locked 22px/1px specks from the pointer. Falls back to the static
number when WebGL or motion is unavailable.

Co-authored-by: ghesp <ghesp@users.noreply.github.com>
@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@railway-app

railway-app Bot commented Aug 28, 2026

Copy link
Copy Markdown

🚅 Deployed to the docs.page-pr-542 environment in docs.page

Service Status Web Updated (UTC)
docs.page ✅ Success (View Logs) Web Aug 28, 2026 at 6:25 pm
@railway-app
railway-app Bot temporarily deployed to docs.page / docs.page-pr-542 August 28, 2026 11:43 Destroyed
Evaluate the pointer front per fragment and fade the smooth glyph body
instead of snapping mix() to cellCenter. Specks stay locked to the
22px / 1px spot grid.

Co-authored-by: ghesp <ghesp@users.noreply.github.com>
@railway-app
railway-app Bot temporarily deployed to docs.page / docs.page-pr-542 August 28, 2026 12:02 Destroyed
The per-cell snap is gone, but a wide half-alpha fade still washed the
letter copper and hid the grid specks. Fade the solid fill in a short
band and raise full-honey 1px dots as the ink leaves.

Co-authored-by: ghesp <ghesp@users.noreply.github.com>
@railway-app
railway-app Bot temporarily deployed to docs.page / docs.page-pr-542 August 28, 2026 12:07 Destroyed
Stretch the pointer inner/outer gap and the body fade band so the
edge is a wide melt into the grid, not a ~15px cut.

Co-authored-by: ghesp <ghesp@users.noreply.github.com>
@railway-app
railway-app Bot temporarily deployed to docs.page / docs.page-pr-542 August 28, 2026 12:17 Destroyed
Bump the honey heading from 6/8/10rem to 7.2/9.6/12rem so it reads
obviously bigger at the same breakpoints.

Co-authored-by: ghesp <ghesp@users.noreply.github.com>
@railway-app
railway-app Bot temporarily deployed to docs.page / docs.page-pr-542 August 28, 2026 12:25 Destroyed
Bump 7.2/9.6/12rem to 9.72/12.96/16.2rem so the number reads larger
than the last preview pass.

Co-authored-by: ghesp <ghesp@users.noreply.github.com>
@railway-app
railway-app Bot temporarily deployed to docs.page / docs.page-pr-542 August 28, 2026 12:48 Destroyed
Local circular breakup of the Lexend fill into 1px honey specks on the
existing 22px lattice. Pointer is the light; a short wake stays lit
then the stroke heals. No hex front, no lasting gouge.

Co-authored-by: ghesp <ghesp@users.noreply.github.com>
@railway-app
railway-app Bot temporarily deployed to docs.page / docs.page-pr-542 August 28, 2026 13:52 Destroyed
Shrink the pointer head from 20–150px to 10–52px so only the ink under
the cursor breaks into 1px honey specks. Trail punches those same grid
dots with a linear 240ms fade so the wake is visible, then the fill heals.

Co-authored-by: ghesp <ghesp@users.noreply.github.com>
@railway-app
railway-app Bot temporarily deployed to docs.page / docs.page-pr-542 August 28, 2026 14:16 Destroyed
Lift ink only in small discs around 22px lattice cells that sit on the
stroke near the pointer, light those cells honey, and trail a short row
of the same cells. The filled Lexend 404 stays solid everywhere else.

Co-authored-by: ghesp <ghesp@users.noreply.github.com>
@railway-app
railway-app Bot temporarily deployed to docs.page / docs.page-pr-542 August 28, 2026 14:26 Destroyed
Fading cells still lift a full disc so the wake stays a row of honey
lattice dots instead of shrinking into the fill.

Co-authored-by: ghesp <ghesp@users.noreply.github.com>
@railway-app
railway-app Bot temporarily deployed to docs.page / docs.page-pr-542 August 28, 2026 14:30 Destroyed
Drop the soft 6.5px punch. Activated 22px ink cells clear a hard half-cell
so they merge into a dotted stroke, each replaced by a 1px honey speck on
that same grid. Trail is those cells; the fill heals when they fade.

Co-authored-by: ghesp <ghesp@users.noreply.github.com>
@railway-app
railway-app Bot temporarily deployed to docs.page / docs.page-pr-542 August 28, 2026 14:38 Destroyed
Half-cell covers only nicked the 20px stem. Use 0.75 cell so activated
ink cells remove the stroke and leave the 1px honey grid dots.

Co-authored-by: ghesp <ghesp@users.noreply.github.com>
@railway-app
railway-app Bot temporarily deployed to docs.page / docs.page-pr-542 August 28, 2026 14:40 Destroyed
Drop the 16px cell discs that left square leftover fill. Ink lifts only
inside circular 1px honey specks: ~7px cluster under the cursor, spreading
onto the existing 22px lattice along the trail, then the fill heals.

Co-authored-by: ghesp <ghesp@users.noreply.github.com>
Replace the WebGL punch/cell-cover shader with a real vgpu pipeline:
circular honey HDR emitters, JFA/SDF, and a slimmed radiance-cascade
light pass matching agent-radiance-cascades. Packed specks under the
pointer still space out onto the 22px page lattice and heal.

Co-authored-by: ghesp <ghesp@users.noreply.github.com>
Turbopack's vgpu loader rejects struct member `active`. Call it `enabled`
so production builds can inline the shader.

Co-authored-by: ghesp <ghesp@users.noreply.github.com>
@railway-app
railway-app Bot temporarily deployed to docs.page / docs.page-pr-542 August 28, 2026 15:13 Destroyed
Drop HDR/ACES blowout so the bite cannot go lemon, keep the glyph fill
unlit, and space packed 7px circles out onto the 22px page grid along
the wake instead of a dense square stamp.

Co-authored-by: ghesp <ghesp@users.noreply.github.com>
@railway-app
railway-app Bot temporarily deployed to docs.page / docs.page-pr-542 August 28, 2026 16:52 Destroyed
Match Georgina's locked Figma look: a ~250px soft honey bloom that
dissolves the Lexend fill, with the existing 22px lattice lighting up
inside the orb. Raise present energy in honey and drop the 0.03/0.06 cap.

Co-authored-by: ghesp <ghesp@users.noreply.github.com>
@railway-app
railway-app Bot temporarily deployed to docs.page / docs.page-pr-542 August 28, 2026 17:16 Destroyed
Georgina rejected the Brand Shaders dissolve orb. The filled Lexend 404
is always drawn; a tight pointer head lights the 22px page lattice with
a small cascade glow. No glyph fade, no 248px orb.

Co-authored-by: ghesp <ghesp@users.noreply.github.com>
@railway-app
railway-app Bot temporarily deployed to docs.page / docs.page-pr-542 August 28, 2026 17:24 Destroyed
Keep the restored honey-light base. Under the tight 8/36px pointer head,
offset glyph UVs so the stroke shoves and smears. Page lattice is not
warped; type is never dissolved.

Co-authored-by: ghesp <ghesp@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

3 participants