Files
ai-coding-workflow-labs/gstack/README.md
T
tiennm99 51a4b90163 refactor: migrate quiz-project, gstack, and superpowers to JS+JSDoc
Convert all 41 TypeScript source/config files in cc4e-course/quiz-project
(Next.js), gstack (Astro), and superpowers (Vite/React/Phaser) to plain
JavaScript with JSDoc type annotations, replacing tsconfig.json with
jsconfig.json (strict + checkJs) in each subproject. No behavior changes:
lint, typecheck, test, and build gates match their TypeScript baselines
exactly in all three subprojects. Update stack references in the affected
READMEs accordingly.
2026-08-18 09:49:42 +07:00

39 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Hình Học Sống
Interactive Vietnamese THCS (lớp 79) geometry visualizer. Drag the points; watch the theorems hold. Aligned to the SGK curriculum.
> Sandbox repo currently doubling as a [gstack](https://github.com/garrytan/gstack) trial — see `CLAUDE.md`.
## Status
Scaffold only (v0.0.1.0). Modules are placeholders — landing page lists three grades with "Sắp ra mắt" badges. See the design doc at `~/.gstack/projects/tiennm99-try-gstack/` for the full plan.
## Develop
```sh
npm install
npm run dev # http://localhost:4321/try-gstack/
npm test # Vitest (geom-engine unit tests)
npm run typecheck # Astro check + strict checkJs (JavaScript + JSDoc)
npm run build # Static output to dist/
```
## Deploy
Auto-deploys to GitHub Pages from `main` via `actions/deploy-pages@v4`. See `RUNBOOK.md` for rollback + domain-migration procedure.
## Architecture (locked decisions, per autoplan review)
- **Static**: Astro SSG, `base: '/try-gstack/'`, output `dist/`
- **Typography**: Be Vietnam Pro single family, weights 400/500/700, woff2 only, Vietnamese subset
- **Math engine**: pure `src/geom-engine/` module (no DOM imports), Vitest unit tests; property tests with `fast-check` to be added with first canvas module
- **Canvas**: vanilla SVG + Pointer Events + `setPointerCapture` (no Konva) — to be added with first canvas module
- **Math rendering**: KaTeX, bundled locally + SSR-rendered — to be added with first canvas module
- **Animation**: Web Animations API + `requestAnimationFrame` (no GSAP / Motion One / Lottie)
- **Analytics**: Cloudflare Web Analytics, deferred until 50+ daily sessions
- **i18n**: every string via `t()` from `src/i18n/vi.js`; English added by adding `en.js`
## License
TBD.