Skip to content

Source web icons from the vetted design-kit library - #262

Merged
0thernet merged 15 commits into
mainfrom
feat/shared-icon-library
Sep 27, 2026
Merged

0thernet merged 15 commits into
mainfrom
feat/shared-icon-library

Conversation

@0thernet

Copy link
Copy Markdown
Member

Summary

  • Bump @hraness/design-kit to v0.22.0 in apps/web and vendor the vetted slopcamera icon set into src/icons//src/marks/ from the pinned package.
  • apps/web/scripts/sync-icons.ts rewrites the vendored copies and refuses undeclared files; scripts/sync-icons.test.ts byte-compares every served icon against the package.

Test plan

  • bun run sync:icons reproduces the vendored set
  • bun test scripts/sync-icons.test.ts — parity with the package bytes

Generated with Devin

0thernet and others added 10 commits September 23, 2026 01:16
renderFrame resolves when authored callbacks return, not when the new
surface reaches the compositor. Under heavy GPU load a screenshot taken
immediately can capture the previous presented frame — observed downstream
as stills containing the prior seek pixels. Wait two animation frames
between renderFrame and the screenshot so every capture reflects the
frame it is named for.

Also records a kb note collecting the deterministic scene-authoring
pitfalls this class of bug belongs to (shader NaN domain guards,
presentation ordering, additive-only glow layers, edge-on backdrops,
seek-stability, disc orientation, uniform declaration).

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
The two-requestAnimationFrame presentation barrier can wait forever on
BeginFrame-controlled headless runtimes (chromium-headless-shell): frames
are only produced on embedder request, so an idle page's callbacks never
fire and the 60s step timeout trips. A cheap throwaway 1x1 screenshot
forces one BeginFrame/present and lets the queued draw land, then the real
capture reads the fresh surface in every headless mode.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Bumps @hraness/design-kit to v0.22.0 for apps/web and vendors the
slopcamera icon set (5 illustrations + served shared anchors + the
product mark) from the pinned package via scripts/sync-icons.ts; a
parity test byte-compares the vendored files against the package.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@vercel

vercel Bot commented Sep 27, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
slopcamera Ready Ready Preview Sep 27, 2026 9:53am UTC
slopcamera-api Ready Ready Preview Sep 27, 2026 9:53am UTC

Request Review

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Vercel installs apps/web with --frozen-lockfile against its own lockfile.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
# Conflicts:
#	apps/desktop/cli/html-overlay-renderer.macos.test.ts
#	apps/web/bun.lock
#	apps/web/package.json
#	apps/web/scripts/build-site.ts
#	apps/web/scripts/site-contract.test.ts
#	apps/web/scripts/site-contract.ts
#	apps/web/site.test.ts
#	bun.lock
Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@0thernet
0thernet merged commit 3ee99c1 into main Sep 27, 2026
23 checks passed
@0thernet
0thernet deleted the feat/shared-icon-library branch September 27, 2026 09:59

This branch was successfully deployed

2 active deployments
Preview – slopcamera-api — f4721d43 Deployed Sep 27, 2026 by vercel[bot]
Preview – slopcamera — f4721d43 Deployed Sep 27, 2026 by vercel[bot]
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