ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A study site built for one ten-year-old sitting the ISEE Lower Level. It is a static React app with no server: everything she does is held on her device and mirrored to her own Google Drive, so the site can be opened, closed and moved between machines without an account anywhere except her own.
This file is the design of the learning system — what she practises, how much, in what order, and why each of those is as it is. For how the code is laid out see AGENTS.md; for the theme and the cats see docs/world.md and docs/cats.md.
| Level | ISEE Lower Level — taken by candidates applying to enter grades 5–6 |
| Sections | Verbal Reasoning 34 q / 20 min · Quantitative Reasoning 38 q / 35 min · break · Reading Comprehension 25 q / 25 min · Mathematics Achievement 30 q / 30 min · break · Essay 30 min |
| Total | 127 questions plus the essay · 2 h 20 min of testing and two 10-minute breaks |
| Sittings allowed | Once per season — Fall, Winter, Spring/Summer — so three times in a school year |
| Target date | A December sitting, which is still inside the Winter season and lands before the January application deadlines |
The essay is not scored but is sent to the schools. Everything above is recorded with its source
in content/calendar*, and the app's Calendar page is generated from it.
| count | where | |
|---|---|---|
| Practice questions | 1,883 across 8 plan weeks — 1,002 planned, 499 added when Weeks 5–8 were doubled, 382 so every list word is asked three ways | content/question-banks/{vr,qr,rc,ma}-*.json; the added ones in <sub>-weeks5-8-plus.json and vr-words-plus.json |
| Mock questions | 508 across 4 papers of 127 | content/question-banks/mock-<form>.json, one file per paper |
| Reading passages | 68 | content/passages/ |
| Precision words | 240 — 20 a week, 40 in Weeks 5–8 | the bundle's precision |
| Essay prompts | 8 weekly, plus a bank of 12 | the bundle's essay |
Every one of the 2,391 questions carries an explanation of the correct route and a why
for each of its three wrong choices — a sentence saying what that answer actually was.
This is the single most important property of the content and it is enforced: the validator
fails if any wrong choice anywhere is left unexplained. The reason is that an explanation can
only ever describe the right answer. Told "perimeter = 2(10+3) = 26" after picking 30, she still
does not learn that 30 was the area.
Weeks 1–4 hold 112–142 questions each, which the app divides into 11–13 sittings, plus
20 precision words and one essay. Weeks 5–8 were doubled on 5 October 2026, when the owner
asked for every week's work doubled — 248–250 questions in 24 sittings, plus 40 words and the
same one essay — and grew again the next day by the Verbal questions that ask every word on her
lists three ways (a synonym, a sentence completion and a phrase completion): 337–352 questions
in 32–33 sittings. Each addition sits in sittings of its own after the ones before it
(setsFor), so the sittings she had already done in Week 5 did not move.
A sitting is the unit she experiences. chunk() splits a week's questions for one subject into
near-equal groups of at most SETSIZE = 12 — so 37 Verbal questions become four sets of
10/9/9/9, deliberately never 12/12/12/1, because a set of one is a demoralising way to finish a
subject. The app says so on the page: "Each set is one sitting."
| W1 | W2 | W3 | W4 | W5 | W6 | W7 | W8 | |
|---|---|---|---|---|---|---|---|---|
| Verbal | 37 | 37 | 54 | 54 | 37 + 37 + 87 | 37 + 37 + 94 | 37 + 37 + 102 | 37 + 37 + 99 |
| Quantitative | 27 | 27 | 27 | 40 | 40 + 40 | 40 + 40 | 40 + 40 | 39 + 39 |
| Reading | 24 | 24 | 24 | 24 | 24 + 24 | 24 + 24 | 24 + 24 | 24 + 24 |
| Mathematics | 24 | 24 | 32 | 24 | 24 + 24 | 24 + 24 | 24 + 24 | 24 + 24 |
| questions | 112 | 112 | 137 | 142 | 337 | 344 | 352 | 347 |
| sittings | 11 | 11 | 13 | 13 | 32 | 32 | 33 | 33 |
| words | 20 | 20 | 20 | 20 | 40 | 40 | 40 | 40 |
Verbal is deliberately the largest share — 46% of the practice bank against 27% of the real paper since every list word was given three questions of its own (32% after the doubling, 33% before it). It is not an accident to be corrected: 573 of its 860 items are sentence completion, which is the mechanic the whole site is built around, and Verbal is the section that gates the rest. The mock papers reproduce the exam's true proportions exactly, so test-shape exposure is covered there and the practice weeks are free to be weighted for teaching.
W1–W3 Aug 31 – Sep 20 three plan weeks
Sep 21 – 27 Split diagnostic (Part A: VR+QR · Part B: RC+MA+Essay)
W4–W6 Sep 28 – Oct 18 three plan weeks
Oct 19 – 25 Mock 1 — full length, one sitting
Oct 26 – Nov 1 correction and retest
Nov 2 – 8 Mock 2 — full length
W7–W8 Nov 9 – 22 two plan weeks
Nov 23 – 29 Mock 3 — final readiness rehearsal
The diagnostic is split across two sittings on purpose. It is the first full-length thing she has ever done and the point of it is a baseline, not an endurance test; the three later mocks are single-sitting because by then stamina is part of what is being measured.
Each mock is followed by a correction pass rather than a score. The score card groups her misses by skill rather than in paper order, because a real diagnostic leaves ninety-odd misses and one flat list of them ran to forty-six screens on a laptop — nobody reteaches anything from a page that long.
Spaced review. A missed question comes back after 1 day, then 3. Getting it right on two
different days retires it, with one check-in 21 days later. (This file said "1, 3, 7, 21"
for a month; the code never walked a 7 — the second right day clears the miss. The 7 and the 21
in INTERVALS are the Chinese dictation's rungs.) Answers given
in a corrections pass immediately after seeing the key do not count as evidence — but a
different question on the same skill does, because she has not been shown its answer.
And the return is two different questions. The pile asks the skill, not the item: a missed question comes back as two other questions on the same skill, picked for the day, and both have to be right for the original to move along; a wrong one becomes a miss of its own. The question she got wrong is never asked again — not at a later review, not at the 21-day check-in — unless the bank holds nothing else on that skill. The owner set it on 4 October 2026: "the review should not do the same questions. should do different questions. you should double the workload." Serving the stored item meant both of the correct answers that retire a miss could be given from memory of the reveal she had just read. Precision words never had the fault: a word's question is rebuilt from the day's seed, so the word comes back and the question is new.
The mastery ladder. Not started → Started → Needs work → Familiar → Proficient → Mastered. A skill with fewer than three questions attempted is capped at Started, so the ladder cannot brighten on thin evidence. Reaching Mastered takes two of its questions answered correctly in a mixed set or a mock, on a later day than the first attempt — that is, twice in a context that did not announce which skill was coming. Anything still overdue holds the skill at Familiar however good the accuracy, because a skill you have not revisited is not one you have kept.
Readiness is one number out of six weighted parts, and the page always names the part with the largest shortfall so there is something to do next:
| part | weight | what it reads |
|---|---|---|
| Accuracy | 30 | recent sets, mixed sets and mock sections |
| Mock exams | 20 | the most recent finished paper, as a percentage and a stanine |
| Skill mastery | 20 | the ladder above, item-weighted |
| Pacing | 10 | share of timed answers inside the per-question budget |
| Review health | 10 | how much of the review pile is overdue rather than scheduled |
| Consistency | 10 | active days in the last 14 |
Essays are counted beside the number and never inside it, because the ISEE returns no score for the writing sample and a number there would measure that she wrote one rather than how well. Vocabulary is shown beside it too, for a different reason: the questions that test a word are already inside Accuracy and Skill mastery, so a part of its own risks counting the same Verbal answers twice. Whether it should have one is the owner's decision.
| route | what it is for |
|---|---|
/ | today — the next set, what is due, the week's checklist |
/s/<subject>/<week> | a subject's sittings for one plan week, and its skills as one list in the word bank's shape — questions, done, right, wrong, last and level, narrowed to practised, missed or not tried yet — each one opening its page |
/skill/<subject>/<skill> | every question of one skill, grouped by sub-skill, with its week, sitting and her answers on it, under the same numbers a word's page opens with; narrowed to tried, missed or not tried yet; the answer behind a tap; Practice this skill |
/review | everything a miss has scheduled, by subject, with the cause breakdown |
/mixed | twelve questions, all four subjects, shuffled — where Proficient becomes Mastered |
/precision/<week> | the week's words (20, or 40 in a doubled week), then a quiz on them |
/vocab | every word the questions teach or test: the questions that cover it, and how many times she answered them, right and wrong, and when last — counted as a skill's are |
/vocab/<word> | one word: its meaning, each question that asks it and each that offers it as a wrong choice, with her answers on every one |
/essay/<week> | plan, draft, revise against that week's rubric |
/mock, /mock/<form> | the four papers, timed by section, then corrections by skill |
/mock/TPR | a paper sat offline: its sections and source, and the scores a parent enters once it is marked |
/mock/add, /mock/P… | a paper a parent adds: its PDF (kept in her own Drive folder) or a link, her scores, the questions she missed filed under skills, and what she has redone from the booklet |
/score | readiness, its six parts, and the trend across weeks; beside the number, her essays and how her words stand |
/calendar | the real exam dates, registration cutoffs and application deadlines |
/books | the independent-reading log — titles chosen for the skills the ISEE tests, but kept out of the readiness score |
cd site && npm install && npm run dev
Before committing anything, from the repository root:
(cd site && npm run build && npm test)
python3 site/make_bundle.py && git diff --exit-code -- site/content/bundle.json
The subshell is not optional — see the note in CLAUDE.md about what a leaking cd
does to the second command. npm test runs the content validator first, so the content is
checked before anything is built out of it.
Content lives in content/**. After editing it, re-run python3 site/make_bundle.py and commit
the regenerated site/content/bundle.json. Every item is content-hashed, so the validator will
tell you if a hash and its item have drifted apart.
The validator (tools/validate_content.py) enforces, among other things: a why for every wrong
choice and none for a right one; arithmetic inside a why that actually evaluates; no choice
named by its letter in any prose, because the options are re-randomised before a bank ships; and
that answer positions across a week are not cyclic. tools/audit.py asks the other question —
not whether an item is well formed but whether it is a good question, which no validator can gate.