You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|[FORK.md](FORK.md)| Copy the loop. Swap the sport. |
90
+
|[NOTICE](NOTICE)| MIT is the code, not the names |
91
+
|[SUPPORT.md](SUPPORT.md)| How to ask |
92
+
|[SECURITY.md](SECURITY.md)| How to report a hole |
93
+
|[CONTRIBUTING.md](CONTRIBUTING.md)| How to land a patch |
107
94
108
-
Read [NOTICE](NOTICE) before you ship a fork with names on it.
95
+
### Install
109
96
110
-
Plates, initials, and house crests are mitigations. They are not a license.
97
+
See above. Node 22. `npm install` · `npm run dev`.
111
98
112
-
Built with Grok. Leave `public/__grok/` in place.
99
+
### Update flow
100
+
101
+
`git pull` → `npm install` if the lockfile moved → `npm run test:pin`. Walk `v1` is frozen. Mixer does not move. Details in [docs/STUDIO.md](docs/STUDIO.md#update-flow).
102
+
103
+
### Themes
104
+
105
+
Night arena (default) or light studio. Rail toggle. Stored on this device. Reduced motion skips the ticker.
106
+
107
+
### Walk certificate
108
+
109
+
`/walk/v1.{ABBR}.{era}.{luck}.{wins}.{five-ids}` is the save file. Nights recompute. [docs/WALK.md](docs/WALK.md).
110
+
111
+
### Specialists
112
+
113
+
Live pack, house pack, walk, foil, lithograph, tray, plates. One room per PR. [docs/STUDIO.md](docs/STUDIO.md#specialists).
114
+
115
+
### GitHub Action
116
+
117
+
[`.github/workflows/pin.yml`](.github/workflows/pin.yml) runs `npm run test:pin` on every push and pull request. Demo eval stays local (`npm run test:demo`) because it needs a running studio.
118
+
119
+
### Benchmarks
120
+
121
+
The pin is the benchmark: house walk is 51–31, same five, same nights. Live packs must not collapse to that id. Funnel target: card in under 90s.
122
+
123
+
### Performance
124
+
125
+
Foil is one WebGL layer with CSS fallback. Share is 2D canvas, not the foil. Ticker is 110ms/night, skipped on reduced motion. [docs/STUDIO.md](docs/STUDIO.md#performance).
126
+
127
+
### Demo evals
128
+
129
+
`npm run test:demo` — Playwright rips a live pack, asserts it is not the house pin, and opens the tray. [docs/TESTING.md](docs/TESTING.md).
130
+
131
+
---
132
+
133
+
## Community
134
+
135
+
Talk happens in **GitHub Discussions**. There is no Discord.
136
+
137
+
| Category | Use it for |
138
+
| --- | --- |
139
+
|**Q&A**| Setup help, “how do I”, Save / Copy / Open |
140
+
|**Ideas**| Feature proposals and design before any PR |
141
+
|**Show and tell**| Forks, other sports, stills, workflows |
142
+
|**Announcements**| Releases from the maintainers |
143
+
144
+
For a good Q&A answer fast, include the walk URL if you have one, your OS and browser, how you ran it, and whether Save was in a top-level tab or a nested preview. See [SUPPORT.md](SUPPORT.md). Bugs belong in issues. Security reports follow [SECURITY.md](SECURITY.md), never a public thread.
145
+
146
+
---
147
+
148
+
## Contributing
149
+
150
+
Contributions are welcome. Read [CONTRIBUTING.md](CONTRIBUTING.md), run `npm run test:pin`, and open a focused pull request.
151
+
152
+
Security reports should follow [SECURITY.md](SECURITY.md).
153
+
154
+
---
113
155
114
156
## License
115
157
116
158
[MIT](LICENSE). Invite the rip — [FORK.md](FORK.md).
159
+
160
+
Read [NOTICE](NOTICE) before you ship a fork with names on it. Plates, initials, and house crests are mitigations. They are not a license.
0 commit comments