- This cell died out
+ Nothing to draw here
diff --git a/README.md b/README.md
index f93ec6e..e5068d3 100644
--- a/README.md
+++ b/README.md
@@ -6,8 +6,8 @@ Live at **https://eggzec.github.io/**.
A hand built static site: Vite and TypeScript, with no UI framework.
Animation uses [Motion](https://motion.dev) plus
-[Lenis](https://lenis.darkroom.engineering) for smooth scrolling, and a canvas
-Game of Life for the hero texture.
+[Lenis](https://lenis.darkroom.engineering) for smooth scrolling, and an SVG
+build-on of the logo mark for the hero.
## Layout
@@ -15,13 +15,13 @@ Game of Life for the hero texture.
index.html landing page
404.html custom not found page
projects/ full project catalog, filterable by category
-community/ maintainers, plus one page each
+community/ maintainers
partials/head.html shared
, injected at build time
public/brand/ logo, project icons
src/
main.ts single entry, mounts whatever a page contains
data/site.ts projects and people. Edit content here
- components/ nav, footer, cards, life field, reveals, marquee
+ components/ nav, footer, cards, mark draw, reveals, marquee
lib/eggzec-block.ts the eggzec Block bitmap display font, as TypeScript
styles/ tokens, base, layout, components, pages
```
@@ -48,18 +48,28 @@ Almost everything is data rather than markup, and it all lives in
| --- | --- |
| Projects, taglines, repository and docs and PyPI links | `PROJECTS` |
| Human facing name when the repo name is not one | `display` on a project |
-| Which projects lead the page | any project with an `icon` |
+| Which projects lead the landing page | `LEAD` in `src/data/site.ts` |
+| Who builds on our packages | `src/data/used-by.ts` |
| Maintainers | `PEOPLE` |
| Nav links | `NAV` |
| Footer links | `COLUMNS` in `src/components/footer.ts` |
-A project is featured on the landing page and in the nav menu when it has an
-`icon`. That keeps the featured set in sync with the brand icon files under
-`public/brand/icons/` automatically, with no second list to maintain.
+`LEAD` names the projects the landing page and the nav menu open with, in
+order. That used to be derived from which projects carried a brand icon, but
+nearly all of them do now, so it stopped selecting anything — what a first-time
+visitor should see first is a decision, not a side effect. The full catalog on
+`/projects/` is grouped by category only, with no separate featured block, so no
+card appears twice.
Landing page statistics are counted from the catalog at runtime, so the numbers
cannot drift from what is actually listed.
+`src/data/used-by.ts` is the one generated file. It comes from GitHub's
+dependency graph — the `network/dependents` listing for each repository —
+filtered to named organisations and checked one at a time against the API. Only
+pydoe, pyswarm, mcerp and soerp have any dependents, so that is what the list
+draws on. Regenerate it by hand rather than trusting it to stay current.
+
## Design
Colours are the Electropop palette on white:
@@ -68,7 +78,7 @@ Colours are the Electropop palette on white:
| --- | --- |
| Block fills, buttons, knockouts | Kiwi `#CCFF00` |
| Accent text and links | Violet `#5200FF` |
-| Sparks and newly born cells | Magenta `#F900FF` |
+| Sparks and the byte cells | Magenta `#F900FF` |
| Third accent | Orange `#FF6B00` |
Kiwi is brilliant as a field with black on top of it and illegible as type on
@@ -80,9 +90,13 @@ size, so there is no font file and no layout shift. Because the font is
monospaced, the hero solves for letter tracking per line, which makes every line
land at the same width and the same cap height.
-The hero, footer and 404 page run Conway's Game of Life on a coarse grid. That
-is the same glider hidden in the logo mark. Everything animated respects
-`prefers-reduced-motion`.
+The hero, the call to action panels, the footer rule and the 404 page draw the
+logo mark rather than decorating around it. `src/components/mark-draw.ts` emits
+one SVG: stepped violet traces run in from outside the frame and spark where
+they meet the silhouette, a stack of kiwi bars grows out from the centre line to
+fill the egg, the outline is traced, and the nine magenta byte cells land last.
+It is CSS keyframes with a `--i` index per element, so it plays once, holds, and
+costs nothing after that. Everything animated respects `prefers-reduced-motion`.
## Deploy
diff --git a/community/index.html b/community/index.html
index dac22cf..a76bb26 100644
--- a/community/index.html
+++ b/community/index.html
@@ -37,9 +37,7 @@