Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -34,5 +34,5 @@ showcase/*/media/final.mp4
showcase/04-intro-film/v3/final.mp4
styles/gallery.mp4
*.part
# docs/talk: a presenter's own films for the demo page stay local
docs/talk/media/
# docs/site: the author's own films for the homepage stay local
docs/site/media/
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,20 @@

## Unreleased

**docs/site: the project homepage, in English and Chinese**
- Why: the maintainer asked to drop the demo framing and make the page the project's homepage, written as a product introduction, keeping its look, with a switch between English and Chinese.
- The page moved from `docs/talk/` to `docs/site/`. `docs/talk/index.html` now redirects there, so the old link keeps working, and a new `index.html` at the repo root redirects too, so the site also opens at `zlhad.github.io/OpenVideoHarness/` once GitHub Pages is on.
- Language: an EN / 中 switch in the top bar. Every text on the page exists in both languages, including the style names, the chart dates, the f(t) readout and its check. The first visit follows the browser's language; the choice is remembered, and `?lang=en` or `?lang=zh` picks one in a link. Chinese headings rise in character by character, and a phrase never breaks across lines.
- Content, written for someone who has never heard of the project:
- The hero: what it is, one line on what happens, three buttons (start, watch the film, star on GitHub) and a row of facts (MIT, 9 types, 31 styles, 5 engines).
- "Why it exists": the problem first. One great film is easy; every time is hard.
- "Built with Claude" and "In practice" are in the project's voice, not the presenter's.
- A new FAQ with ten questions, open one at a time: how it differs from just asking an agent (with the honest result of the A/B in `docs/research/06`), cost, time, requirements, Codex, languages, real people, current limits, the relation to Anthropic, and contributing. The answers follow the README.
- A footer with links to the README in both languages, the wiki, the changelog, the contributing guide and the license.
- The presenter tools are gone: speaker notes, the timer, the key list and the arrow-key paging. Scroll snapping is now `proximity`, so it no longer takes over the scroll wheel.
- Numbers: 75 pull requests in the first 11 days (2026-09-29 to 10-09, UTC), 72 of them from `claude/` branches. The chart and the ticker include #74 and #75.
- `docs/site/README.md` now describes the site: viewing it, the language switch, how to edit both languages, and the optional WeChat QR, channel links and local film.

**docs/talk: Get started comes first, Contact last**
- Why: the maintainer is using the page as the project's homepage (the repo's About link) and asked for a homepage order: how to start right after the title, contact details at the end.
- `docs/talk/index.html`: "Get started" is section 01, right after the title (the commands, and what happens next with the three sign-offs and the effort levels); a new last section, "Contact", holds the GitHub and WeChat QR codes, the email and the footer. The other sections move down one number. The speaker notes, the nav, the key list (`Home` / `End`) and `docs/talk/README.md`'s script follow the new order; the talk still runs about 4.5 minutes.
Expand Down
69 changes: 69 additions & 0 deletions docs/site/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# The OpenVideoHarness homepage

`index.html` is the project's homepage, in English and Chinese. It covers:

- getting started;
- why the project exists;
- what it adds and how it works;
- the intro film and four showcase films;
- the 31-style library;
- who wrote it (Claude) and how the author uses it;
- an FAQ, and contact details.

It is one HTML file with no build step, and Claude wrote it.

## Viewing it

GitHub's file view shows the HTML source, not the page. To see the page:

- **On GitHub Pages**: in Settings → Pages, set Source to "Deploy from a branch", pick `main` and `/ (root)`, and save.
- A minute later the site is at <https://zlhad.github.io/OpenVideoHarness/>. The `index.html` at the repo root redirects to <https://zlhad.github.io/OpenVideoHarness/docs/site/>.
- The old address, `…/docs/talk/`, redirects here too.
- The empty `.nojekyll` at the repo root makes Pages serve the files as they are.
- Online, the films stream from the `media` release.
- **From a clone**: open `docs/site/index.html` in Chrome. It reads the style samples and contact sheets from `../../styles` and `../../showcase`.
- With `tools/fetch_media.sh 00-promo 01-hand 02-short 03-math 04-intro` (about 320 MB, mostly the 103 s intro film), the films play from disk instead of streaming.

## Languages

The EN / 中 switch in the top bar changes the page in place.

- **First visit**: the page follows the browser's language (Chinese for any `zh-*`, English otherwise).
- **Later visits**: the choice is remembered in `localStorage` (`ovh-lang`).
- **In a link**: `?lang=en` or `?lang=zh` picks the language for that link, e.g. `…/docs/site/?lang=zh` for a Chinese audience.

To edit the text:

- **Text on the page** is written twice, side by side: `<span lang="en">…</span><span lang="zh">…</span>`. CSS shows the one that matches `<html data-lang>`; without JavaScript the page is English. Change both, and keep the same markup (`<em>`, `<strong>`, `<code>`) in each.
- **Section names** in the side rail come from each section's `data-en` / `data-zh`.
- **Labels that are attributes** (`aria-label`) come from `data-aria-en` / `data-aria-zh`.
- **Strings the script writes** are in `T` at the top of the script: the f(t) readout and check, the copy buttons, chart dates, captions. The style names are in `STYLES`, as `[folder, English, Chinese]`.

## Optional material

All of it is optional. The page works without any of it.

- **WeChat QR**: save it as `docs/site/img/wechat.jpg`. The "Say hi on WeChat" card then appears next to the GitHub QR in the Contact section; without the file the card stays hidden. Committing the image makes it public with the repo.
- **Douyin and Bilibili links**: paste them into the two empty `href=""` in the "In practice" section. Left empty, the names show without a link.
- **A local film**: a file at `docs/site/media/nobel.mp4` shows up as a player in "In practice". Git ignores that folder, so the player appears only on your machine, never online.

## Where the numbers come from

- **Pull requests**: 75 in the first 11 days, opened 2026-09-29 to 2026-10-09 (UTC). 72 came from `claude/` branches and 3 from Dependabot. Source: the repo's pull request list, read on 2026-10-10. The per-day chart (`PER_DAY`) and the ticker (`PRS`) come from the same list; update all three together.
- **Counts of things in the repo**: 9 video types, 13 playbook docs, 11 templates, 31 styles, 24 shot recipes. Source: `video-types/`, `playbook/`, `templates/`, `styles/`, `bin/vh recipes list`.
- **The films**:
- the intro film: 103 s; a Blender opening of 1.18 million stars over 475 frames; 124 sound effects;
- the four other films.

Source: `showcase/*/README.md`.
- **Community films**: 389, with their prompts. Source: `cases/opus55-gallery.md`.
- **Checks**: the 20-point checklist and the 8 review scores. Source: `templates/TASTE_CHECKLIST.md`.
- **The FAQ's answers**: requirements, cost, times, limits and the A/B result. Source: `README.md` and `docs/research/06-concept-first-ab.md`.
- **The author's own account**: the Nobel explainer, its timing, and the Douyin and Bilibili channels.

## How it is built

- **Assets**: one HTML file with inline CSS and JS. Fonts come from Google Fonts; offline, and for Chinese, it uses the system's fonts. `img/` holds five poster frames from the showcase films (`ffmpeg -ss … -frames:v 1`).
- **The galaxy**: the opening galaxy draws the 31 style posters on a canvas, with no randomness (positions come from a seeded hash).
- **The f(t) panel**: it draws its frame as a pure function of `t`. Its "Render it again" button redraws that frame right after another one and compares every pixel.
- **Motion**: it stops when a section is off screen, and `prefers-reduced-motion` turns it off.
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
Loading
Loading