@davidnugent2425/community-3b1b-quizzes
v0.1.0-dev.0
Published
Community-authored quiz content and interactives for 3Blue1Brown lessons
Maintainers
Readme
@davidnugent2425/community-3b1b-quizzes
Community-authored quiz content for 3Blue1Brown's
Essence of linear algebra series: the full sixteen-chapter lesson catalogue, fourteen
of them covered by seventy multiple-choice, matching, and graded interactive questions,
shipped as data plus mount functions — no UI framework attached. The interactive scenes are built on
@davidnugent2425/manim-web-questions
(bundled; the package's only runtime dependency is manim-web).
Development prereleases only (
0.1.0-dev.Nunder thedevdist-tag); the API and content are still moving.
npm install @davidnugent2425/community-3b1b-quizzes@devUsage
The root export is the ordered catalogue plus the data model; each lesson is also its own subpath so a host only pays for the lessons it shows:
import { LESSONS, type QuestionDefinition } from '@davidnugent2425/community-3b1b-quizzes';
import { vectors } from '@davidnugent2425/community-3b1b-quizzes/linear-algebra/vectors';
const question: QuestionDefinition = vectors.questions[0];
if (question.type === 'interactive') {
const api = question.mount(document.querySelector('#scene')!); // SceneApi
// api.checkAnswer() / api.reset() / api.onState(...) / api.dispose()
}Questions are a discriminated union (multiple-choice | matching | interactive);
prose fields are markdown with $…$ LaTeX, and the host owns all rendering, grading UI,
and quiz sequencing. The reference host lives in
community-3b1b-quizzes,
this package's home repository.
Figure media (webp/mp4) ships as separate files under assets/, referenced via
new URL(..., import.meta.url) — any bundler that understands that pattern (Vite,
esbuild, webpack 5) copies them automatically.
