Skip to content

feat(design): a print shop at night - #4

Merged
kanywst merged 2 commits into
mainfrom
feat/night-print
Oct 23, 2026
Merged

kanywst merged 2 commits into
mainfrom
feat/night-print

Conversation

@kanywst

@kanywst kanywst commented Oct 23, 2026

Copy link
Copy Markdown
Member

The secret-society desk still read as cheap and templated. Three reviews explain why: an art-director critique of the screenshots, a survey of high-craft dark sites (Igloo Inc, Obys, Aristide Benoist, Bruno Simon, Linear and others), and research on lighting and materials for a DOM desk.

  • The site didn't speak the brand. The mascot is flat black ink with one red, but the site around it was fake brass, gold, felt and wax.
  • There was no light source. The surface was evenly lit and every card floated with the same shadow.
  • Props were stamped onto every card in the same places, five per card, which reads as a component library.
  • The gold-gradient wordmark and three unrelated typefaces.

What changes

  • Desk: near-black paper stock under one warm lamp. Sheets brighten as they come into the pool and fall into darkness at the edges.
  • Sheets: proofs on uncoated paper with crop marks and a tight contact shadow. Each carries at most a wax seal (when a live site exists) and a red PROOF stamp, inked unevenly and pressed across the edge of the print.
  • Type: Archivo throughout, with Martian Mono for metadata. The wordmark is plain paper-white type, and pile headings are set straight onto the desk.
  • Links on sheets are set as underlined type rather than web buttons. The HUD (List view, GitHub, the tray, the minimap) is type and hairlines instead of pills.
  • Removed: baize, brass, gold, manila, washi, clips, pins, red string, rulers, grid, guilloché, the Latin motto and the colour avatar sticker.

How it stays fast

  • Textures: paper fibre, black stock and the ink speckle are small baked WebP textures (68 KB, 4 KB and 30 KB).
  • Lamp: two fixed gradients, painted once, so panning stays compositor-only.
  • Desk surface: its texture moves and scales with the camera through CSS custom properties.

Contrast

Pair Ratio
Paper on night 16.4:1
Red ink on paper 5.5:1
Soft ink on paper 7.7:1
Red labels on the desk, using a lifted red (#e0575a) 5.2:1

Checks

Biome, astro check, Vitest (22) and Playwright (29) pass locally. The OGP image is regenerated.

The lodge desk read as cheap: a flat-lit green field covered in CSS imitations
of brass, gold, felt and tape, five identical props on every card, a gold-
gradient wordmark and three typefaces that did not belong together. None of it
spoke the mascot's language of black line, paper white and one red.

Now the desk is black stock under a single lamp. Sheets are proofs on uncoated
paper with crop marks; sheets outside the pool fall into darkness. Each carries
at most a wax seal and an unevenly inked red PROOF stamp. Type is Archivo with
Martian Mono. The HUD is set in the same type instead of pills, and the rulers,
grid, red string, guilloche, motto and avatar sticker are gone.

Paper fibre, black stock and ink speckle are small baked textures; the lamp is
two fixed gradients painted once, so panning stays compositor-only.
@coderabbitai

coderabbitai Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 73462c4e-37bf-4db4-aebe-729e19e958fd
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Comment thread src/styles/desk.css Outdated
@claude

claude Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Reviewed the diff against injection, CSP, desk and list parity, input and focus, and sync failure. It's clean. The new textures are same-origin /tex/*.webp, so the CSP still covers them. The stock layer moves through the CSSOM (src/scripts/desk.ts apply()), and I found no new inline style, external host or HTML injection. .surface is display:none outside html.desk, so list and no-JS views are unaffected. I only read the diff and didn't run the build or tests, and I didn't touch scripts/sync.ts since this PR doesn't change it.

🤖 Generated with Claude Code

Driving the desk's background-position from the camera repainted the whole
viewport on every pan and pinch frame. The stock is now one layer a tile
larger than the screen that only translates, so panning paints nothing.
Also drops the last mentions of the mat and rulers from the README.

Raised in Claude review on #4.
@kanywst
kanywst merged commit eee9eec into main Oct 23, 2026
8 checks passed
@kanywst
kanywst deleted the feat/night-print branch October 23, 2026 18:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant