Skip to content

Commit d02f9e7

Browse files
committed
chore: prepare public release
1 parent cbda58a commit d02f9e7

10 files changed

Lines changed: 234 additions & 46 deletions

AGENTS.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,31 @@ files, snapshots, or render masters to Git. Third-party application and Agent no
99
generated neutral geometry. OOMOL and Open Connector artwork is excluded from the MIT
1010
code license; read `assets/ATTRIBUTION.md` before replacing or redistributing it.
1111

12+
## Agent Reading Workflow
13+
14+
When the user asks to study, explain, or learn from this repository, stay read-only unless
15+
they also ask for a change. Read `docs/agent-reading-guide.md` first, classify the request,
16+
and follow the smallest matching route:
17+
18+
- HyperFrames structure: `README.md`, `DESIGN.md`, `docs/hyperframes-patterns.md`, then the
19+
composition contract in `index.html` and timeline registration in `src/timeline.js`.
20+
- Animation and motion: `docs/animation-breakdown.md`, then only the named constants and
21+
`derive*State()` functions in `src/icon-data.js`, `src/timeline.js`, or `src/orbit-scene.js`.
22+
- Sound design: `docs/sound-design.md`, `assets/audio/sfx/cues.json`, and
23+
`scripts/audio/generate-sfx.mjs`.
24+
- Customization: `docs/customization.md`, `assets/ATTRIBUTION.md`, then the source and tests
25+
for the requested scene or sound.
26+
- Verification or release: `RELEASE_CHECKLIST.md`, `package.json`, the relevant tests, and
27+
the current Git state.
28+
29+
Do not read the largest source files from top to bottom before mapping their exported symbols
30+
with `rg`. In explanations, cite the exact file and symbol that supports each claim, separate
31+
observed behavior from inference, and name the command that verifies any runnable claim.
32+
33+
The rendered SFX files and SFX-only timeline are released under CC0 1.0. They may be copied,
34+
modified, redistributed, or used commercially without permission or attribution. The audio
35+
synthesis scripts remain MIT licensed.
36+
1237
## Skills — USE THESE FIRST
1338

1439
**Always invoke the relevant skill before writing or modifying compositions.** Skills encode framework-specific patterns (e.g., `window.__timelines` registration, `data-*` attribute semantics, shader-compatible CSS rules) that are NOT in generic web docs. Skipping them produces broken compositions.

README.md

Lines changed: 31 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@ procedurally generated sound. The repository contains the composition source,
1414
the isolated sound effects, the synthesis scripts, and runtime checks that
1515
protect its camera and handoff geometry.
1616

17-
[中文说明](README.zh-CN.md) · [Animation breakdown](docs/animation-breakdown.md) ·
18-
[Sound design](docs/sound-design.md) · [HyperFrames patterns](docs/hyperframes-patterns.md)
17+
[中文说明](README.zh-CN.md) · [Read with an agent](docs/agent-reading-guide.md) ·
18+
[Animation breakdown](docs/animation-breakdown.md) · [Sound design](docs/sound-design.md) ·
19+
[HyperFrames patterns](docs/hyperframes-patterns.md)
1920

2021
## What this demonstrates
2122

@@ -26,6 +27,16 @@ protect its camera and handoff geometry.
2627
- A 30-second SFX timeline synthesized locally from JavaScript.
2728
- Runtime assertions for camera continuity, high-density canvas output, and semantic carriers.
2829

30+
## How I made this film
31+
32+
I set the product story and motion direction, then made the visual calls in each iteration.
33+
The agent turned those decisions into HTML animation addressed by absolute frame. I reviewed
34+
key frames, transition boundaries, and object continuity while iterating, then rendered the
35+
full film once the picture was settled. Programmatic sound and picture share one timeline.
36+
HyperFrames can also create background music in a chosen style and place it on that timeline.
37+
This repository keeps the public composition SFX-only; any other audio used in a separately
38+
hosted release cut is mixed later in editing software and is not part of this repository.
39+
2940
## Requirements
3041

3142
- Node.js 22 or newer
@@ -44,6 +55,20 @@ npm run dev
4455
`npm run dev` builds the deterministic textures and JavaScript bundle, then starts the
4556
HyperFrames preview server. It is a long-running process; stop it with `Ctrl+C`.
4657

58+
## Read with an agent
59+
60+
Start an agent in this repository and paste:
61+
62+
```text
63+
Read AGENTS.md and docs/agent-reading-guide.md first. Stay read-only. Explain how this
64+
composition uses HyperFrames, absolute-frame state, DOM-to-Three.js handoff, and procedural
65+
sound. Cite the exact files and symbols I should study next. Do not summarize files that are
66+
unrelated to my question.
67+
```
68+
69+
The [agent reading guide](docs/agent-reading-guide.md) also includes shorter routes for motion,
70+
sound design, customization, and release verification.
71+
4772
Useful commands:
4873

4974
```bash
@@ -102,12 +127,13 @@ after changing geometry or timing.
102127
## Licensing
103128

104129
- Composition source, scripts, tests, and documentation: MIT, see `LICENSE`.
105-
- Rendered isolated SFX and the SFX-only timeline: Creative Commons Attribution 4.0, with the
106-
exact credit line in `assets/audio/LICENSE.md`.
130+
- Rendered isolated SFX and the SFX-only timeline: CC0 1.0. They may be copied, changed,
131+
redistributed, or used commercially without permission or attribution. See
132+
`assets/audio/LICENSE.md`.
107133
- Manrope and IBM Plex Mono font files: SIL Open Font License 1.1, see the
108134
license files under `assets/fonts/`.
109135
- The bundled OOMOL and Open Connector artwork is included with OOMOL's approval for
110-
identifying this repository and demo. It is excluded from MIT and CC BY 4.0.
136+
identifying this repository and demo. It is excluded from MIT and the CC0 audio dedication.
111137
- No third-party application or Agent logo artwork is bundled. Their visible nodes are
112138
generated neutral geometry; names retained in source data are nominative identifiers.
113139
- GSAP is installed under its own Standard “No Charge” License, not MIT.

README.zh-CN.md

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@
77
仓库同时公开成片源码、独立音效、合成脚本,以及保护相机和交接几何的运行时验证。
88
公开版中的第三方应用与 Agent 节点均为程序生成的中性占位图形;带品牌图标的原片不随仓库分发。
99

10-
[English](README.md) · [动画拆解](docs/animation-breakdown.md) ·
11-
[声音设计](docs/sound-design.md) · [HyperFrames 模式](docs/hyperframes-patterns.md)
10+
[English](README.md) · [让 Agent 阅读项目](docs/agent-reading-guide.md) ·
11+
[动画拆解](docs/animation-breakdown.md) · [声音设计](docs/sound-design.md) ·
12+
[HyperFrames 模式](docs/hyperframes-patterns.md)
1213

1314
## 这个案例展示了什么
1415

@@ -19,6 +20,14 @@
1920
- 完全由 JavaScript 振荡器、包络与确定性噪声生成的 30 秒音效时间线。
2021
- 对相机连续性、DPR=2 画布、语义载体和公开安全资产的自动验证。
2122

23+
## 我是怎么完成这支片子的
24+
25+
我负责产品叙事、运动方向和每轮的画面判断,Agent 负责把这些要求实现成可定位到绝对帧的 HTML
26+
动画。迭代时主要检查关键帧、转场边界和对象连续性,确认画面后再渲染整片。程序化音效和画面使用
27+
同一条时间轴生成。HyperFrames 也可以按想要的风格生成背景音乐,并放进同一条时间轴。这个仓库
28+
公开的版本只包含程序化音效;另行托管的发布版本如需其他音频,则在剪辑软件中完成最终混音,相关
29+
素材不属于本仓库。
30+
2231
## 环境要求
2332

2433
- Node.js 22 或更新版本
@@ -37,6 +46,18 @@ npm run dev
3746
`npm run dev` 会先生成确定性纹理和 JavaScript bundle,再启动 HyperFrames 预览服务。
3847
这是一个常驻进程,使用 `Ctrl+C` 停止。
3948

49+
## 让 Agent 阅读项目
50+
51+
在仓库中启动 Agent,然后把下面这段话发给它:
52+
53+
```text
54+
先阅读 AGENTS.md 和 docs/agent-reading-guide.md。只做分析,不修改文件。解释这个项目如何使用
55+
HyperFrames、绝对帧状态、DOM 到 Three.js 的交接和程序化音效。每个结论都标出对应的文件和符号,
56+
最后告诉我下一步最值得阅读的源码。不要总结与问题无关的文件。
57+
```
58+
59+
[Agent 阅读指南](docs/agent-reading-guide.md)还提供了动画、声音、自定义和发布验证的短路径。
60+
4061
常用命令:
4162

4263
```bash
@@ -93,11 +114,11 @@ npm run audio:encode
93114
## 许可边界
94115

95116
- composition 源码、脚本、测试和文档:MIT,见 `LICENSE`
96-
- 渲染后的独立音效与音效时间线:Creative Commons Attribution 4.0,准确署名方式见
97-
`assets/audio/LICENSE.md`
117+
- 渲染后的独立音效与音效时间线:CC0 1.0。无需申请或署名,可以复制、修改、商用和再分发,
118+
详见 `assets/audio/LICENSE.md`
98119
- Manrope 与 IBM Plex Mono 字体:SIL Open Font License 1.1,见 `assets/fonts/` 下的许可文件。
99120
- OOMOL 与 Open Connector 自有美术经 OOMOL 批准,用于标识本仓库与 Demo;它们不属于
100-
MIT 或 CC BY 4.0 的授权范围
121+
MIT 或音效的 CC0 权利放弃范围
101122
- 仓库不包含第三方应用或 Agent 的 Logo 美术。画面中使用程序生成的中性几何节点;源码中
102123
保留的产品名称仅用于说明集成对象。
103124
- GSAP 使用它自己的 Standard “No Charge” License,不属于 MIT。

RELEASE_CHECKLIST.md

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
# Public Release Checklist
22

3-
**Status: ready for public repository creation; not yet pushed.** The OOMOL release
4-
owner has approved the source, audio, and owned-brand boundaries below, and the final
5-
public-safe package has passed the reproducibility checks. Creating a remote and pushing
6-
the repository remain deliberate release-owner actions.
3+
**Status: approved public-source package.** The OOMOL release owner has approved the
4+
source, audio, and owned-brand boundaries below, and the final public-safe package has
5+
passed the reproducibility checks. GitHub is the source of truth for the current repository
6+
visibility, branch, CI, tag, and release state.
77

88
## Rights and attribution
99

10-
- [x] Audio owner approval recorded: Copyright 2026 OOMOL; rendered isolated SFX and
11-
the SFX-only timeline are licensed under Creative Commons Attribution 4.0.
10+
- [x] Audio reuse approval recorded: rendered isolated SFX, the SFX-only timeline,
11+
and rendered audio derivatives are released under CC0 1.0 without a permission or
12+
attribution requirement.
1213
- [x] Brand approval recorded: OOMOL and Open Connector artwork may identify this
13-
repository and demo, while remaining outside MIT and CC BY 4.0.
14+
repository and demo, while remaining outside MIT and the CC0 audio dedication.
1415
- [x] Agent logo artwork replaced with deterministic public-safe placeholders.
1516
- [x] Third-party application logo artwork replaced with deterministic public-safe placeholders.
1617
- [x] License, NOTICE, third-party notices, and attribution wording reviewed and approved
@@ -22,8 +23,8 @@ the repository remain deliberate release-owner actions.
2223
- [x] Render `npm run render:preview` and inspect the video and both audio channels.
2324
- [x] Confirm no private paths, temporary exports, credentials, or unrelated files
2425
appear in the commit selected for release.
25-
- [ ] Create the public repository, push only after the rights checks above are
26-
complete, then attach the curated 1080p demo to the `v1.0.0` release.
26+
- [x] Public repository target and first source push approved after the rights checks above.
27+
- [ ] After public CI passes, create the `v1.0.0` release and attach the curated 1080p demo.
2728

28-
The absence of an npm `publish` script is intentional. Publishing is a deliberate
29-
release-owner action after this checklist is fully cleared.
29+
The absence of an npm `publish` script is intentional. Repository visibility, tags,
30+
and release assets remain deliberate release-owner actions.

THIRD_PARTY_NOTICES.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ files under `assets/fonts/`.
2929

3030
OOMOL and Open Connector artwork is owned by OOMOL and is included with OOMOL's
3131
approval solely to identify this repository and demo. That artwork is excluded from
32-
the MIT source-code grant and the CC BY 4.0 audio grant.
32+
the MIT source-code grant and the CC0 1.0 audio dedication.
3333

3434
No OpenAI/Codex, Anthropic/Claude, Nous Research/Hermes, or third-party application
3535
logo artwork is bundled. The corresponding visible nodes are original, deterministic

assets/ATTRIBUTION.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ their respective owners and do not imply endorsement.
1717
- Open Connector ginkgo — owned by OOMOL and included on the same limited basis.
1818

1919
These owned-brand assets are excluded from the repository's MIT license and
20-
the audio's CC BY 4.0 license. Their inclusion does not grant a general trademark or
21-
brand-artwork license.
20+
the audio's CC0 1.0 dedication. Their inclusion does not grant a general trademark
21+
or brand-artwork license.
2222

2323
## Public-safe Agent and application nodes
2424

@@ -50,9 +50,10 @@ under the SIL Open Font License 1.1. See the corresponding license files under
5050

5151
## Audio
5252

53-
The rendered isolated SFX and SFX-only timeline are Copyright 2026 OOMOL and licensed
54-
under Creative Commons Attribution 4.0. See `assets/audio/LICENSE.md` for the exact
55-
credit line. The JavaScript synthesis source is covered by MIT.
53+
The rendered isolated SFX, SFX-only timeline, and rendered audio derivatives are
54+
released under CC0 1.0. They may be used for any purpose without permission or
55+
attribution. The JavaScript synthesis source is covered by MIT. See
56+
`assets/audio/LICENSE.md` for the exact boundary.
5657

5758
The original branded film and its third-party logo artwork are retained outside this
5859
repository. They are not part of the public-source package or either public license.

assets/audio/LICENSE.md

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
1-
# Open Connector Audio License
2-
3-
Copyright 2026 OOMOL.
1+
# Open Connector Audio Dedication
42

53
The isolated sound effects, SFX-only timeline, and rendered audio derivatives in
6-
this repository are licensed under the
7-
[Creative Commons Attribution 4.0 International License](https://creativecommons.org/licenses/by/4.0/).
8-
You may share and adapt them, including commercially, provided that you give
9-
appropriate credit, link to the license, and indicate whether changes were made.
10-
11-
Use this credit line:
4+
this repository are released under
5+
[CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/).
126

13-
> “Open Connector sound design” by OOMOL, licensed under CC BY 4.0.
7+
To the extent that copyright or related rights exist in these audio files, OOMOL
8+
waives those rights under CC0 1.0. You may copy, modify, distribute, perform, sell,
9+
or use the audio for any other purpose without asking permission or giving credit.
1410

15-
The JavaScript synthesis source under `scripts/audio/` is software and is covered
16-
by the repository's MIT license rather than CC BY 4.0.
11+
This dedication applies only to the audio. It does not grant rights in OOMOL or
12+
Open Connector names, trademarks, or visual brand assets. The JavaScript synthesis
13+
source under `scripts/audio/` remains covered by the repository's MIT license.

docs/agent-reading-guide.md

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
# Read This Project with an Agent
2+
3+
You do not need to read every source file before asking useful questions. Tell the
4+
agent what you want to understand or change, then require it to read `AGENTS.md` and
5+
this guide first. The agent should stay read-only unless you ask it to modify files.
6+
7+
## Start with one prompt
8+
9+
Chinese:
10+
11+
```text
12+
先阅读 AGENTS.md 和 docs/agent-reading-guide.md。只做分析,不修改文件。解释这个项目如何使用
13+
HyperFrames、绝对帧状态、DOM 到 Three.js 的交接和程序化音效。每个结论都标出对应的文件和符号,
14+
最后告诉我下一步最值得阅读的源码。不要总结与问题无关的文件。
15+
```
16+
17+
English:
18+
19+
```text
20+
Read AGENTS.md and docs/agent-reading-guide.md first. Stay read-only. Explain how this
21+
composition uses HyperFrames, absolute-frame state, DOM-to-Three.js handoff, and procedural
22+
sound. Cite the exact files and symbols I should study next. Do not summarize files that are
23+
unrelated to my question.
24+
```
25+
26+
## Route by intent
27+
28+
| Goal | Read first | Inspect only when needed |
29+
| --- | --- | --- |
30+
| Understand HyperFrames structure | `README.md`, `DESIGN.md`, `docs/hyperframes-patterns.md` | The root contract in `index.html`, timeline registration in `src/timeline.js` |
31+
| Study animation and camera motion | `docs/animation-breakdown.md` | Named timing constants and `derive*State()` functions in `src/icon-data.js`, then their consumers in `src/timeline.js` or `src/orbit-scene.js` |
32+
| Study sound design | `docs/sound-design.md`, `assets/audio/sfx/cues.json` | `scripts/audio/generate-sfx.mjs`, then `scripts/audio/ginkgo-assembly.mjs` |
33+
| Customize a scene or sound | `docs/customization.md`, `assets/ATTRIBUTION.md` | Only the requested source module, its tests, and the matching cue or texture data |
34+
| Verify a release | `RELEASE_CHECKLIST.md`, `package.json` | `.github/workflows/check.yml`, relevant tests, current Git status, generated assets |
35+
36+
## Reading contract for agents
37+
38+
1. Classify the request before opening large source files.
39+
2. Use `rg` to map exported constants, functions, and call sites. Do not read
40+
`src/icon-data.js` or `src/orbit-scene.js` from top to bottom by default.
41+
3. Trace one event through data, derived state, renderer, test, and sound cue. For
42+
example, frame 380 moves through `deriveCodexComposerState()`, the DOM renderer,
43+
`createOrbitScene()`, runtime fixtures, and the SFX cue sheet.
44+
4. Cite exact files and symbols. State whether each conclusion comes from source,
45+
tests, documentation, or a command run in the current session.
46+
5. Keep explanation separate from modification. Do not edit, render, publish, or
47+
regenerate assets unless the user asks.
48+
6. If a change is requested, read `docs/customization.md`, follow the HyperFrames skill
49+
routing in `AGENTS.md`, make the smallest relevant change, and run `npm run check`.
50+
51+
## Focused prompts
52+
53+
Animation:
54+
55+
```text
56+
Read AGENTS.md and docs/agent-reading-guide.md. Explain the motion chain from typing through
57+
the frame-380 DOM-to-Three.js handoff. Cite the state derivation, renderer, and tests for each
58+
boundary. Stay read-only.
59+
```
60+
61+
Sound:
62+
63+
```text
64+
Read AGENTS.md and docs/agent-reading-guide.md. Explain how the isolated SFX and 30-second
65+
timeline are synthesized, seeded, aligned to picture, rebuilt, and verified. Cite the cue data
66+
and generator functions. Stay read-only.
67+
```
68+
69+
Modification:
70+
71+
```text
72+
Read AGENTS.md, docs/agent-reading-guide.md, and docs/customization.md. Before editing, tell me
73+
which timing constant, derived-state function, renderer, tests, and sound cue the requested
74+
change touches. Preserve the 30-second, 1920x1080, 30fps contract unless I explicitly change it.
75+
```
76+
77+
## Expected answer shape
78+
79+
A useful answer should give you the event chain, exact source symbols, the tests that
80+
protect it, and the shortest next reading path. It should not dump every constant, retell
81+
the README, or claim that a command passed without running it.

docs/sound-design.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,5 +56,6 @@ asset; the synthesis scripts are the source of truth. Use `ffprobe` to confirm a
5656
## License
5757

5858
The synthesis scripts use MIT. The rendered isolated effects and SFX-only timeline
59-
are Copyright 2026 OOMOL and licensed under Creative Commons Attribution 4.0.
60-
See `assets/audio/LICENSE.md` for the exact attribution line.
59+
are released under CC0 1.0. They may be copied, modified, redistributed, or used
60+
commercially without permission or attribution. See `assets/audio/LICENSE.md` for
61+
the exact boundary.

0 commit comments

Comments
 (0)