Commit Graph

15 Commits

Author SHA1 Message Date
tiennm99 89b0452abb chore: add dependabot config (#6) 2026-05-23 10:49:15 +07:00
tiennm99 9d5d3f04a0 feat: 3 interactive demo pages + transforms/sieve/linear engines
Lessons:
- /hinh-hoc/dinh-ly-pythagoras (lớp 7) — drag right-angle vertex; "Chứng minh"
  button plays Euclid-style dissection-shear animation tweening two leg-squares
  into the hypotenuse-square. Respects prefers-reduced-motion.
- /so-hoc/sang-eratosthenes (lớp 6) — 10×10 grid; click 2/3/5/7 → ripple
  cross-out of multiples in 4 colors; roving tabindex; aria-live announces.
- /dai-so/duong-thang (lớp 7) — y = ax + b plot; 2 sliders + 2 draggable
  anchors bidirectionally bound via draggable.onChange + viewport clamping +
  rounded epsilon gate (no oscillation at any drag speed).

Engines:
- geom-engine/transforms.js — translate, rotate, shear, compose, applyToPolygon (13 tests)
- numtheory-engine/sieve.js — sieveUpTo, multiplesOf, isPrime (10 tests)
- algebra-engine/linear.js — lineFromPoints, yAt, linePoints (6 tests); new module bootstrapped

Glue:
- registry: insert 3 new lessons in topic+grade order
- tailwind: extend colors.pair to 4 entries (pair.4 = #5E60CE for prime 7)
- README: bump count 5→8, list new URLs, update architecture section
2026-05-15 20:35:22 +07:00
tiennm99 fb6089aff0 docs: brainstorm + plan for cool demo pages round 2
Brainstorm survey of 6 candidates with brutal-honesty trade-off matrix; top-3
ranked (Pythagoras động, Sàng Eratosthenes, đường thẳng y=ax+b). Plan with
8 phases — 3 engines + 3 lessons + glue + verify.
2026-05-15 20:35:02 +07:00
tiennm99 1056dd8caf fix(ci): remove pnpm version override conflicting with packageManager 2026-05-13 10:28:56 +07:00
tiennm99 926abb3be1 chore: update pnpm lockfile for bumped deps 2026-05-13 10:21:20 +07:00
tiennm99 77877b8dca chore: migrate from npm to pnpm 2026-05-13 10:20:51 +07:00
dependabot[bot] ecd663ccc2 build(deps): bump vite and @sveltejs/vite-plugin-svelte (#3)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) and [@sveltejs/vite-plugin-svelte](https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte). These dependencies needed to be updated together.

Updates `vite` from 5.4.21 to 8.0.10
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v8.0.10/packages/vite)

Updates `@sveltejs/vite-plugin-svelte` from 4.0.4 to 7.0.0
- [Release notes](https://github.com/sveltejs/vite-plugin-svelte/releases)
- [Changelog](https://github.com/sveltejs/vite-plugin-svelte/blob/main/packages/vite-plugin-svelte/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/vite-plugin-svelte/commits/@sveltejs/vite-plugin-svelte@7.0.0/packages/vite-plugin-svelte)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 8.0.10
  dependency-type: direct:production
- dependency-name: "@sveltejs/vite-plugin-svelte"
  dependency-version: 7.0.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-07 13:33:13 +07:00
tiennm99 610dfa7cec docs: brainstorm survey + lesson 4+5 plan 2026-05-03 13:15:55 +07:00
tiennm99 8d6b5153dc feat: enable Số học + Đại số topic tiles + landings 2026-05-03 13:15:47 +07:00
tiennm99 1877bc91cd feat: hiệu hai bình phương lesson (lớp 7) 2026-05-03 13:15:45 +07:00
tiennm99 e553e7cd67 feat: numtheory-engine + GCD Euclidean lesson (lớp 6) 2026-05-03 13:15:44 +07:00
tiennm99 7c282c3aee feat: add KaTeX <Tex> component for math typography 2026-05-03 13:15:42 +07:00
tiennm99 a0da079500 feat: port 3 interactive geometry lessons + geom-engine
- Add pure geom-engine module (vec, triangle, circle, ticks) with 34 vitest tests
- Add 3 lessons under /hinh-hoc/: tam-giac-bang-nhau (SSS), tam-giac-dong-dang (similarity), goc-noi-tiep (inscribed angle)
- Add reactive draggable Svelte action with arrow-key a11y
- Add per-lesson colocated i18n + site chrome + lesson registry
- Enable Hình học topic card on landing; keep Số học/Đại số as Sắp ra mắt
- Codify pedagogical tick palette as Tailwind colors.pair.{1,2,3}
- Add Be Vietnam Pro via @fontsource
2026-04-30 22:27:26 +07:00
tiennm99 8804c192db fix: remove SPA fallback so prerendered HTML wins at /
With prerender=true on +layout.js, adapter-static emits index.html
per route. Setting fallback: 'index.html' overwrites the prerendered
home with the SPA bootstrap shell, leaving the live page empty before
hydration. Drop the fallback option.
2026-04-30 21:49:08 +07:00
tiennm99 7b75a72a16 feat: initial scaffold
- SvelteKit 2 + Svelte 5 + Tailwind 3 (JS only, paths.base=/mathmax)
- Vietnamese landing page: hero + scope (lớp 6-9) + 3 topic cards (Số học, Đại số, Hình học) all "Sắp ra mắt"
- GitHub Actions: CI (build) on PR + deploy to Pages on main
- Apache-2.0 LICENSE, README, RUNBOOK, CHANGELOG
2026-04-30 21:44:43 +07:00