Wenlan
Wenlan is a source-backed AI knowledge base and LLM wiki for AI work: organize documents and decisions into pages you can find, inspect, and review.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
Loading the full README. The saved excerpt is shown below.
Marketing site for Gregory — the AI on the cell. Ask it in Excel. It
answers from the file and what is signed, and it never writes the model
itself. Single static page, no build step. The page is a dark stage: a display headline, a living aurora, and the
pane floating in it. Emerald is still a signature. Aurora is still Gregory.Read the full README ↗Marketing site for Gregory — the AI on the cell. Ask it in Excel. It
answers from the file and what is signed, and it never writes the model
itself. One static page, no build step (index.html): the hero, the pane in Excel,
the web app, the month, why it stays open, what it connects, the rules, and two doors —
for fractional CFOs and for startups — before who built it and the form. cfos/ and
startups/ only forward to those doors (/#for-cfos, /#for-startups): the site was
two pages for a day (6 October 2026) and a link may have gone out.
The page links /site.css and /site.js, so styles and motion live in their own
files. Paths are absolute (/media/…); preview with a server at the repo root
(python3 -m http.server), not by opening the file.
The form at the bottom of the page (#contact-form) posts JSON (name,
email, company, role, note, page) to the URL in its data-endpoint attribute
when one is set. Without one it opens the visitor's own email app addressed to
data-to, so nothing goes to a third party until an endpoint is chosen.
Shots. media/*.png are the Excel pane (640×1440, the pane harness in
gregory-app/gregory); media/web/*.webp are the web app on the synthetic demo
practice (make demo-web). media/logos/ holds the tools' marks and, for "Built by
people from", MIT, USC, Goldman Sachs, Moelis and Soros Fund Management (Wikimedia
Commons files, shown in white). Never a real client's file: this is a public page.
The page is a dark stage: a display headline, a living aurora, and the pane floating in it. Emerald is still a signature. Aurora is still Gregory.
Motion has three rules. The colour moves only in the hero (a WebGL canvas of
the pane's four aurora tones, with the old CSS glows when WebGL is
unavailable) and on Gregory's own marks (the ✦, the gate's ring). Every loop
pauses when it scrolls off screen. Under reduced motion, and with no script,
each demo rests on its finished state. The toy numbers in the demos are the
pane harness's own: Inputs!B3 4.99, B4 2.1, B5 12.0%, Cash 66,082 and +120
for 1% on price. The "Enforced in code" terminal names real tests in
gregory-app/gregory's tests/architecture. Rename one there, and rename it here.
The glass is the web app's liquid glass (3 November 2026, recorded in
gregory-app/gregory at docs/decisions/2026-11-03-the-glass-catches-the-light.md),
in its dark values: the tokens at the top of site.css. Islands (the nav
capsule, the badges, the hero's chips) and lenses (the ghost buttons, the lit nav
link, the lit tab pill) draw a crisp line of light along their top and a 1.5px
ring at the rim, bright where the light enters at the top left and where it
leaves at the bottom right (--specular, masked to the edge, under the words).
The white pills are beads, shaded low inside. Under the finger a button, a tab
pill or a door's pill settles (scale(.97)) and the lens glows from inside, in
0.12s; hover lifts a button or a card only where a pointer hovers. Cards keep
their face, with no glass, and take a line of light along their top and left;
form fields stay plain. This pass adds no light that follows the pointer inside
a button, no colour that moves, and no saturate() above 1.6.
The lens (lens.js, ported from the app's liquidGlass.ts): in Chromium the
glass that floats over the page (the sticky header, the hero's chips, the badges,
the ghost buttons) bends what is behind its rim, as on iOS and apple.com. Each gets
one SVG filter drawn to its size, from a map of its rounded rectangle: near the rim
the backdrop is read from further in and stays sharp, the middle frosts
(--lens-frost), the colour lifts (saturate 1.6). The filter stands alone in
backdrop-filter (var(--lg-lens, <the blur>)): Chrome drops a url() chained with
blur() or saturate(), and markup parsed as HTML makes no SVG filter, so it is built
with createElementNS. The header spans the window, so only its bottom edge bends
(--lens-edge: bottom, which does not pass to what the header holds); the nav
capsule inside it has none, since the header's own backdrop is its backdrop root.
While lensed ([data-lens]) the header, and the chips where they float over the
pane's shot (above 900px), thin their fill so the bent rim shows. While a piece
resizes it keeps the blur, and gets its lens 150 ms after it holds still; only the
band-deep ring of each map is worked out. A person who asks for less transparency
gets the blur at once, and the lens back when they stop asking. Safari and Firefox
read no SVG filter there and should keep the blur (not yet seen). The lens reads at
once over words and photos, and barely over the dark hero. Tests, run by hand (the
deploy runs none): node --test tests/*.test.js.
Before and after, dark, at 1440 and 390, with the parts at 3x, all under reduced
motion so the hero holds one frame, and the lens off and on in one frame:
docs/evidence/site-glass-2026-11-03-*.png. Pages publishes docs/ and tests/
with the rest of the root; robots.txt keeps crawlers out of both. Not yet seen:
Safari, a real finger on a phone, a slow phone's scroll under the lensed header,
and forced colours.
Served by GitHub Pages at https://gregory.work (custom domain via CNAME).
This repo is the source of truth for the pages. Edit them here and
push to main to deploy. There is no second copy to keep in sync: the product
repo (gregory-app/gregory) carries a pointer at site/README.md
and nothing else. It held a duplicate of the page until 2026-09-04, which
drifted three commits behind this one before it was removed.