Files
..
2026-08-17 16:57:29 +07:00
2026-08-17 16:57:29 +07:00
2026-04-29 21:33:27 +07:00
2026-08-17 16:57:29 +07:00
2026-08-17 16:57:29 +07:00

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 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

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.