The artifact was reworked after real incidents: a week of lost data, a
student taught out of order, and spelling diagnoses the model invented.
This takes the new export in verbatim; the port catches up in the
commits that follow.
Copied byte-identical from the bundle:
lib/ lexicon.js and sync.js are new; gate.js gains enforcement,
hangul.js letter-level marking, srs.js recall evidence,
conjugation.js deconjugate(); blocks.js now takes the last
block, closes gloss at "=", and parses recall, ::result and
::confirmed
data/ curriculum.json v5 — six 다지기 phase reviews; the 371
roadmap words are unchanged and no band moves
prompt/ English-only rule, recall, LETTER-LEVEL CHECK, marking
audit-gate.mjs, run-checks.sh, fixtures/ — the word gate measured
against 54 real tutor messages
CI runs run-checks.sh in place of validate.mjs alone, and `npm run check`
gains the audit. Baselines: validate PASS 0/0; audit 7 of 41 and 2 of 13.
types/lib/ declares the new API, and test/lib/ pins it: letterCheck on
the prompt's own 짧다/빫다 case, deconjugation, the roadmap-first order
that keeps 마셔 out of Phase 1, sync's three gates, and recall evidence —
including the two ways lib's evidence is looser than PORT.md, pinned as
they are so the call site that tightens them is visibly needed.
TaskHost gains a plain recall renderer so the tree typechecks against the
wider Task union.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1528 lines
40 KiB
JSON
1528 lines
40 KiB
JSON
{
|
||
"version": 5,
|
||
"note": "Each unit declares what it TEACHES (adds to the running inventory), what it must AVOID, and the only new WORDS it may introduce. Anything a later unit teaches is, by construction, forbidden now. | v4: 1.5 liaison examples made word-internal; sound-example fences added to 1.6-1.8; duplicate words moved from words[] into revisits[]. | v5: every phase ends with a 다지기 review unit that confirms all of its rules and words.",
|
||
"phases": [
|
||
{
|
||
"phase": 1,
|
||
"ko": "한글",
|
||
"name": "The writing system",
|
||
"units": [
|
||
{
|
||
"id": "1.1",
|
||
"ko": "자음과 모음",
|
||
"name": "Consonants & vowels",
|
||
"goal": "The ten basic vowels and the plain consonants, and how one consonant plus one vowel makes a block. Reading blocks with NO final consonant only.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"the plain consonants ㄱㄴㄷㄹㅁㅂㅅㅇㅈㅎ",
|
||
"the ten basic vowels ㅏㅑㅓㅕㅗㅛㅜㅠㅡㅣ",
|
||
"one block = one syllable, initial + vowel"
|
||
],
|
||
"avoid": [
|
||
"any block with a final consonant",
|
||
"compound vowels",
|
||
"tense or aspirated consonants"
|
||
],
|
||
"words": [
|
||
"나",
|
||
"너",
|
||
"우리",
|
||
"이",
|
||
"그",
|
||
"저",
|
||
"여기",
|
||
"거기",
|
||
"저기",
|
||
"어디",
|
||
"누구",
|
||
"아이",
|
||
"어머니",
|
||
"아버지",
|
||
"나무",
|
||
"머리",
|
||
"소리",
|
||
"하나",
|
||
"바다",
|
||
"다리"
|
||
],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "1.2",
|
||
"ko": "겹모음",
|
||
"name": "Compound vowels",
|
||
"goal": "The vowels built from two shapes: ㅐ ㅔ ㅒ ㅖ ㅘ ㅙ ㅚ ㅝ ㅞ ㅟ ㅢ. Still no final consonants.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"compound vowels ㅐㅔㅒㅖㅘㅙㅚㅝㅞㅟㅢ"
|
||
],
|
||
"avoid": [
|
||
"any block with a final consonant",
|
||
"tense or aspirated consonants"
|
||
],
|
||
"words": [
|
||
"개",
|
||
"새",
|
||
"배",
|
||
"네",
|
||
"세",
|
||
"의사",
|
||
"회사",
|
||
"뭐",
|
||
"왜",
|
||
"귀",
|
||
"위",
|
||
"돼지",
|
||
"가위",
|
||
"시계",
|
||
"매미",
|
||
"제비"
|
||
],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "1.3",
|
||
"ko": "된소리와 거센소리",
|
||
"name": "Tense & aspirated",
|
||
"goal": "ㄲ ㄸ ㅃ ㅆ ㅉ against their plain partners, and ㅋ ㅌ ㅍ ㅊ as the breathy versions. Hearing the three-way contrast ㄱ / ㅋ / ㄲ on the page.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"tense consonants ㄲㄸㅃㅆㅉ",
|
||
"aspirated consonants ㅋㅌㅍㅊ",
|
||
"the plain / aspirated / tense three-way contrast"
|
||
],
|
||
"avoid": [
|
||
"any block with a final consonant"
|
||
],
|
||
"words": [
|
||
"코",
|
||
"차",
|
||
"커피",
|
||
"포도",
|
||
"치마",
|
||
"까치",
|
||
"아빠",
|
||
"오빠",
|
||
"토끼",
|
||
"꼬리",
|
||
"찌개",
|
||
"카페",
|
||
"피자",
|
||
"쿠키",
|
||
"바쁘다"
|
||
],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "1.4",
|
||
"ko": "받침",
|
||
"name": "Batchim — final consonants",
|
||
"goal": "A consonant sitting under the block, and the seven sounds every written final collapses to: ㄱ ㄴ ㄷ ㄹ ㅁ ㅂ ㅇ. SINGLE finals only, each word read on its own.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"a single final consonant under the block",
|
||
"the seven representative final sounds",
|
||
"that ㅅ ㅆ ㅈ ㅊ ㅌ ㅎ all sound as ㄷ at the end"
|
||
],
|
||
"avoid": [
|
||
"double final consonants (겹받침)",
|
||
"any word followed by a syllable starting with ㅇ, which would trigger liaison",
|
||
"nasalisation before ㄴ or ㅁ",
|
||
"ㅎ-irregular verbs"
|
||
],
|
||
"words": [
|
||
"밥",
|
||
"물",
|
||
"책",
|
||
"집",
|
||
"손",
|
||
"발",
|
||
"눈",
|
||
"입",
|
||
"옷",
|
||
"산",
|
||
"강",
|
||
"문",
|
||
"방",
|
||
"곰",
|
||
"밤",
|
||
"꽃",
|
||
"앞",
|
||
"낮",
|
||
"밖",
|
||
"말"
|
||
],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "1.5",
|
||
"ko": "연음",
|
||
"name": "Liaison — the slide",
|
||
"goal": "THE single most important reading rule. When a final consonant is followed by a block starting with ㅇ (which carries no sound of its own), the final slides across and is pronounced as that block's initial. 한국어 is read 한구거.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"liaison 연음: a final consonant slides into a following ㅇ block",
|
||
"that ㅇ at the start of a block is silent"
|
||
],
|
||
"avoid": [
|
||
"double final consonants",
|
||
"nasalisation",
|
||
"tensification and aspiration rules",
|
||
"particles — every example here is liaison inside a single word"
|
||
],
|
||
"words": [
|
||
"한국어",
|
||
"음악",
|
||
"국어",
|
||
"단어",
|
||
"언어",
|
||
"발음",
|
||
"얼음",
|
||
"직업",
|
||
"금요일",
|
||
"일요일",
|
||
"목요일",
|
||
"작은"
|
||
],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "1.6",
|
||
"ko": "비음화",
|
||
"name": "Nasalisation",
|
||
"goal": "Before ㄴ or ㅁ, a stop final turns nasal: ㄱ becomes ㅇ, ㄷ becomes ㄴ, ㅂ becomes ㅁ. 감사합니다 is read 감사함니다 — which is why the polite endings never sound the way they are spelled.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"nasalisation 비음화 before ㄴ and ㅁ",
|
||
"why -습니다 is heard as -슴니다"
|
||
],
|
||
"avoid": [
|
||
"double final consonants",
|
||
"tensification, aspiration, palatalisation",
|
||
"do not analyse -습니다 / -ㅂ니다 or dictionary -다 as grammar here — they appear only as sound examples"
|
||
],
|
||
"words": [
|
||
"감사합니다",
|
||
"입니다",
|
||
"학년",
|
||
"국물",
|
||
"십만",
|
||
"작년",
|
||
"몇 명",
|
||
"습니다",
|
||
"한국말",
|
||
"꽃말"
|
||
],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "1.7",
|
||
"ko": "겹받침",
|
||
"name": "Double batchim",
|
||
"goal": "Two consonants under one block. Only ONE of them is pronounced at the end of a word, and which one is largely per-word rather than fully rule-based — so these are learned as items. When a vowel follows, the second one slides across instead.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"double final consonants 겹받침",
|
||
"which half is pronounced, per word",
|
||
"a double final splitting under liaison: 읽어 → 일거"
|
||
],
|
||
"avoid": [
|
||
"tensification, aspiration, palatalisation, ㅎ-dropping",
|
||
"do not analyse -습니다 / -ㅂ니다 or dictionary -다 as grammar here — they appear only as sound examples"
|
||
],
|
||
"words": [
|
||
"값",
|
||
"닭",
|
||
"여덟",
|
||
"앉다",
|
||
"읽다",
|
||
"없다",
|
||
"많다",
|
||
"삶",
|
||
"넓다",
|
||
"짧다"
|
||
],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "1.8",
|
||
"ko": "나머지 소리 변화",
|
||
"name": "The remaining sound changes",
|
||
"goal": "The four that are left: tensification 경음화 (학교 → 학꾜), aspiration 격음화 (좋다 → 조타), ㅎ-dropping (좋아 → 조아), palatalisation 구개음화 (같이 → 가치), and lateralisation 유음화 (신라 → 실라).",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"tensification 경음화",
|
||
"aspiration 격음화",
|
||
"ㅎ-dropping",
|
||
"palatalisation 구개음화",
|
||
"lateralisation 유음화"
|
||
],
|
||
"avoid": [
|
||
"do not analyse -습니다 / -ㅂ니다 or dictionary -다 as grammar here — they appear only as sound examples"
|
||
],
|
||
"words": [
|
||
"학교",
|
||
"좋다",
|
||
"같이",
|
||
"신라",
|
||
"설날",
|
||
"못해",
|
||
"축하",
|
||
"싫어",
|
||
"놓다",
|
||
"앉히다"
|
||
],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "1.9",
|
||
"ko": "첫 낱말",
|
||
"name": "First words, read correctly",
|
||
"goal": "Consolidation. Real words that need two or three of the rules at once, read for meaning rather than mechanics. No new phenomena — this unit only proves Phase 1 holds together.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"reading a written word and knowing how it actually sounds"
|
||
],
|
||
"avoid": [],
|
||
"words": [
|
||
"친구",
|
||
"사람",
|
||
"시간",
|
||
"이름",
|
||
"나라",
|
||
"하늘",
|
||
"마음",
|
||
"얼굴",
|
||
"목소리",
|
||
"이야기"
|
||
],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "1.10",
|
||
"ko": "다지기",
|
||
"name": "Phase 1 review — every sound rule, every word",
|
||
"goal": "Nothing new. This unit exists to prove Phase 1 holds: every one of the nine sound topics, read correctly and named correctly, and every word introduced along the way, recognised without a lookup. You do not leave 한글 until all of it is confirmed.",
|
||
"vocabUnit": false,
|
||
"review": true,
|
||
"teaches": [
|
||
"confirming, not adding — everything Phase 1 introduced, proven unaided"
|
||
],
|
||
"avoid": [
|
||
"anything from a later phase",
|
||
"introducing any new word — this unit adds none"
|
||
],
|
||
"words": [],
|
||
"revisits": []
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"phase": 2,
|
||
"ko": "낱말과 뼈대",
|
||
"name": "Words & the basic frame",
|
||
"units": [
|
||
{
|
||
"id": "2.1",
|
||
"ko": "이다 · 아니다",
|
||
"name": "X is Y",
|
||
"goal": "The simplest complete sentence: A B야. 야 after a vowel, 이야 after a consonant, 아니야 for the negative. No particles yet — just two nouns and an ending.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"the copula 야 / 이야 (casual 'is')",
|
||
"아니야 (is not)",
|
||
"that a question looks identical and is marked only by ?"
|
||
],
|
||
"avoid": [
|
||
"any particle",
|
||
"verbs other than the copula",
|
||
"polite endings"
|
||
],
|
||
"words": [
|
||
"학생",
|
||
"선생님",
|
||
"아니",
|
||
"맞아"
|
||
],
|
||
"revisits": [
|
||
{
|
||
"word": "의사",
|
||
"from": "1.2"
|
||
},
|
||
{
|
||
"word": "이름",
|
||
"from": "1.9"
|
||
},
|
||
{
|
||
"word": "뭐",
|
||
"from": "1.2"
|
||
},
|
||
{
|
||
"word": "누구",
|
||
"from": "1.1"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "2.2",
|
||
"ko": "있다 · 없다",
|
||
"name": "There is, there isn't",
|
||
"goal": "있어 and 없어 — existence, presence and having. The two most common predicates in the language, and the first real verbs.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"있어 / 없어 for existence and possession"
|
||
],
|
||
"avoid": [
|
||
"any particle",
|
||
"conjugation rules — teach 있어/없어 as fixed forms for now",
|
||
"past tense"
|
||
],
|
||
"words": [
|
||
"돈",
|
||
"형",
|
||
"누나",
|
||
"동생",
|
||
"가족",
|
||
"일",
|
||
"약속"
|
||
],
|
||
"revisits": [
|
||
{
|
||
"word": "시간",
|
||
"from": "1.9"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "2.3",
|
||
"ko": "어순",
|
||
"name": "Word order & the ending word",
|
||
"goal": "Subject, then object, then verb — the last word carries the action or state, everything before it is setup. And Korean drops whatever is obvious, so a bare verb is a complete sentence.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"subject–object–verb order",
|
||
"the last word as the predicate",
|
||
"that subjects and objects get dropped when obvious"
|
||
],
|
||
"avoid": [
|
||
"any particle",
|
||
"conjugation rules — use only forms given in this unit's word list",
|
||
"past or future tense"
|
||
],
|
||
"words": [
|
||
"먹어",
|
||
"마셔",
|
||
"봐",
|
||
"읽어",
|
||
"가",
|
||
"와",
|
||
"자",
|
||
"해"
|
||
],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "2.4",
|
||
"ko": "지시어와 의문사",
|
||
"name": "Pointing & asking",
|
||
"goal": "이 / 그 / 저 and the words built on them, plus the full question set — 뭐, 누구, 어디, 언제, 왜, 어떻게, 몇 — which sit in the same slot as a normal noun rather than moving to the front.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"이 / 그 / 저 and 이거 · 여기 · 이 사람 etc.",
|
||
"the question words, in normal word order"
|
||
],
|
||
"avoid": [
|
||
"any particle",
|
||
"tense"
|
||
],
|
||
"words": [
|
||
"이거",
|
||
"그거",
|
||
"저거",
|
||
"언제",
|
||
"어떻게",
|
||
"몇",
|
||
"이번",
|
||
"다음"
|
||
],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "2.5",
|
||
"ko": "숫자 ① 한자어",
|
||
"name": "Sino-Korean numbers",
|
||
"goal": "일 이 삼 사 오 육 칠 팔 구 십, then 백 천 만. Used for dates, money, minutes, phone numbers, floors and anything above ninety-nine.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"Sino-Korean numerals and how they stack",
|
||
"what Sino numbers are used for: dates, money, minutes"
|
||
],
|
||
"avoid": [
|
||
"native numerals",
|
||
"counters"
|
||
],
|
||
"words": [
|
||
"삼",
|
||
"사",
|
||
"오",
|
||
"육",
|
||
"칠",
|
||
"팔",
|
||
"구",
|
||
"십",
|
||
"백",
|
||
"천",
|
||
"만",
|
||
"년",
|
||
"월",
|
||
"분",
|
||
"원"
|
||
],
|
||
"revisits": [
|
||
{
|
||
"word": "일",
|
||
"from": "2.2"
|
||
},
|
||
{
|
||
"word": "이",
|
||
"from": "1.1"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "2.6",
|
||
"ko": "숫자 ② 고유어와 단위",
|
||
"name": "Native numbers & counters",
|
||
"goal": "하나 둘 셋 넷 다섯…, the counters that follow them (개 명 마리 잔 살 번 시), and the shortening that happens in front of one: 하나 → 한, 둘 → 두, 셋 → 세, 넷 → 네, 스물 → 스무.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"native numerals",
|
||
"counters 개 명 마리 잔 살 번 시",
|
||
"한/두/세/네/스무 before a counter",
|
||
"a clock reading using both systems"
|
||
],
|
||
"avoid": [],
|
||
"words": [
|
||
"둘",
|
||
"셋",
|
||
"넷",
|
||
"다섯",
|
||
"여섯",
|
||
"일곱",
|
||
"아홉",
|
||
"열",
|
||
"스물",
|
||
"명",
|
||
"마리",
|
||
"살",
|
||
"잔",
|
||
"번",
|
||
"시"
|
||
],
|
||
"revisits": [
|
||
{
|
||
"word": "하나",
|
||
"from": "1.1"
|
||
},
|
||
{
|
||
"word": "여덟",
|
||
"from": "1.7"
|
||
},
|
||
{
|
||
"word": "개",
|
||
"from": "1.2"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "2.7",
|
||
"ko": "어휘 · 사람과 사물",
|
||
"name": "Vocabulary — people & things",
|
||
"goal": "A vocabulary round using everything so far. Words you will meet on almost every page: people, everyday objects, places.",
|
||
"vocabUnit": true,
|
||
"teaches": [
|
||
"everyday nouns for people, objects and places"
|
||
],
|
||
"avoid": [
|
||
"any particle",
|
||
"tense"
|
||
],
|
||
"words": [
|
||
"가방",
|
||
"신발",
|
||
"열쇠",
|
||
"우산",
|
||
"의자",
|
||
"책상",
|
||
"휴대폰",
|
||
"컴퓨터",
|
||
"가게",
|
||
"길"
|
||
],
|
||
"revisits": [
|
||
{
|
||
"word": "옷",
|
||
"from": "1.4"
|
||
},
|
||
{
|
||
"word": "시계",
|
||
"from": "1.2"
|
||
},
|
||
{
|
||
"word": "학교",
|
||
"from": "1.8"
|
||
},
|
||
{
|
||
"word": "회사",
|
||
"from": "1.2"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "2.8",
|
||
"ko": "부정 ① 안 · 못",
|
||
"name": "Negation in front",
|
||
"goal": "안 before the verb for 'doesn't', 못 for 'can't'. The difference is choice against ability, and manhwa leans on it constantly. 안 먹어 is a decision; 못 먹어 is a limit.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"안 + verb",
|
||
"못 + verb",
|
||
"the choice-versus-ability contrast"
|
||
],
|
||
"avoid": [
|
||
"-지 않다 and -지 마 — those come with the endings in Phase 5"
|
||
],
|
||
"words": [
|
||
"안",
|
||
"못",
|
||
"아직",
|
||
"벌써",
|
||
"전혀",
|
||
"별로"
|
||
],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "2.9",
|
||
"ko": "다지기",
|
||
"name": "Phase 2 review — the frame, confirmed",
|
||
"goal": "Nothing new. Confirm the whole basic frame: the copula, 있다/없다, word order and the ending word, pointing and asking, both number systems with their counters, negation in front — and every word Phase 2 introduced.",
|
||
"vocabUnit": false,
|
||
"review": true,
|
||
"teaches": [
|
||
"confirming, not adding — everything Phase 2 introduced, proven unaided"
|
||
],
|
||
"avoid": [
|
||
"anything from a later phase",
|
||
"introducing any new word — this unit adds none"
|
||
],
|
||
"words": [],
|
||
"revisits": []
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"phase": 3,
|
||
"ko": "활용",
|
||
"name": "Conjugation",
|
||
"units": [
|
||
{
|
||
"id": "3.1",
|
||
"ko": "활용의 규칙",
|
||
"name": "The rule behind every verb",
|
||
"goal": "Dictionary form minus 다 is the stem. If the stem's last vowel is ㅏ or ㅗ, add 아; otherwise add 어; 하다 becomes 해. One rule, and it predicts forms he has never seen.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"stem = dictionary form minus 다",
|
||
"the 아/어 split by vowel harmony",
|
||
"하다 → 해"
|
||
],
|
||
"avoid": [
|
||
"all irregular classes",
|
||
"past and future tense",
|
||
"polite 요"
|
||
],
|
||
"words": [
|
||
"먹다",
|
||
"가다",
|
||
"오다",
|
||
"보다",
|
||
"웃다",
|
||
"잡다",
|
||
"살다",
|
||
"죽다",
|
||
"울다"
|
||
],
|
||
"revisits": [
|
||
{
|
||
"word": "좋다",
|
||
"from": "1.8"
|
||
},
|
||
{
|
||
"word": "읽다",
|
||
"from": "1.7"
|
||
},
|
||
{
|
||
"word": "앉다",
|
||
"from": "1.7"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "3.2",
|
||
"ko": "불규칙 ① ㅡ · 르",
|
||
"name": "Irregulars: ㅡ and 르",
|
||
"goal": "A stem ending in ㅡ loses it, and the harmony then follows the vowel before it: 크다 → 커, 바쁘다 → 바빠. A 르 stem drops the ㅡ and doubles the ㄹ backwards: 모르다 → 몰라.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"the ㅡ irregular",
|
||
"the 르 irregular"
|
||
],
|
||
"avoid": [
|
||
"the ㅂ ㄷ ㅅ ㅎ ㄹ irregulars",
|
||
"tense"
|
||
],
|
||
"words": [
|
||
"크다",
|
||
"쓰다",
|
||
"아프다",
|
||
"슬프다",
|
||
"예쁘다",
|
||
"모르다",
|
||
"부르다",
|
||
"다르다",
|
||
"빠르다"
|
||
],
|
||
"revisits": [
|
||
{
|
||
"word": "바쁘다",
|
||
"from": "1.3"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "3.3",
|
||
"ko": "불규칙 ② ㅂ · ㄷ · ㅅ",
|
||
"name": "Irregulars: ㅂ, ㄷ, ㅅ",
|
||
"goal": "ㅂ becomes 우 and fuses into 워 (덥다 → 더워). ㄷ becomes ㄹ (듣다 → 들어). ㅅ simply vanishes with no contraction (낫다 → 나아). Each has regular look-alikes that do not change.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"the ㅂ irregular",
|
||
"the ㄷ irregular",
|
||
"the ㅅ irregular",
|
||
"that 받다, 닫다, 웃다, 씻다 are regular despite appearances"
|
||
],
|
||
"avoid": [
|
||
"the ㅎ and ㄹ irregulars",
|
||
"tense"
|
||
],
|
||
"words": [
|
||
"덥다",
|
||
"춥다",
|
||
"쉽다",
|
||
"어렵다",
|
||
"무섭다",
|
||
"맵다",
|
||
"듣다",
|
||
"걷다",
|
||
"묻다",
|
||
"낫다",
|
||
"짓다"
|
||
],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "3.4",
|
||
"ko": "불규칙 ③ ㅎ · ㄹ",
|
||
"name": "Irregulars: ㅎ and ㄹ",
|
||
"goal": "Colour words and 그렇다-types drop the ㅎ and shift the vowel to ㅐ (빨갛다 → 빨개). A ㄹ stem keeps its 아/어 form but loses the ㄹ before certain endings (살다 → 사는).",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"the ㅎ irregular",
|
||
"the ㄹ irregular"
|
||
],
|
||
"avoid": [
|
||
"tense"
|
||
],
|
||
"words": [
|
||
"그렇다",
|
||
"어떻다",
|
||
"빨갛다",
|
||
"하얗다",
|
||
"까맣다",
|
||
"알다",
|
||
"놀다",
|
||
"멀다",
|
||
"길다",
|
||
"만들다"
|
||
],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "3.5",
|
||
"ko": "과거",
|
||
"name": "The past tense",
|
||
"goal": "Built FROM the 아/어 form, not from the dictionary form: take 먹어, insert ㅆ, add 어 → 먹었어. 가 → 갔어. 해 → 했어. Irregulars carry through: 더워 → 더웠어, 몰라 → 몰랐어.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"past tense 았/었어",
|
||
"that the past is built on the 아/어 form, so irregulars carry through"
|
||
],
|
||
"avoid": [
|
||
"future tense",
|
||
"polite 요"
|
||
],
|
||
"words": [
|
||
"했어",
|
||
"갔어",
|
||
"왔어",
|
||
"봤어",
|
||
"먹었어",
|
||
"어제",
|
||
"아까",
|
||
"방금"
|
||
],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "3.6",
|
||
"ko": "미래와 의지",
|
||
"name": "Future & intention",
|
||
"goal": "-(으)ㄹ 거야 for what is going to happen, and -(으)ㄹ게 for a promise made to the person listening. The second one is the vow panel: 내가 지킬게.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"-(으)ㄹ 거야 future",
|
||
"-(으)ㄹ게 promise"
|
||
],
|
||
"avoid": [
|
||
"polite 요"
|
||
],
|
||
"words": [
|
||
"내일",
|
||
"나중에",
|
||
"곧",
|
||
"이따가",
|
||
"진짜",
|
||
"정말"
|
||
],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "3.7",
|
||
"ko": "어휘 · 동작과 상태",
|
||
"name": "Vocabulary — actions & states",
|
||
"goal": "A vocabulary round of verbs and adjectives, every one of them run through the conjugation rules just learned.",
|
||
"vocabUnit": true,
|
||
"teaches": [
|
||
"common action verbs and descriptive adjectives"
|
||
],
|
||
"avoid": [],
|
||
"words": [
|
||
"만나다",
|
||
"기다리다",
|
||
"찾다",
|
||
"주다",
|
||
"받다",
|
||
"사다",
|
||
"팔다",
|
||
"열다",
|
||
"닫다",
|
||
"시작하다",
|
||
"끝나다",
|
||
"싸우다",
|
||
"도망치다",
|
||
"지키다"
|
||
],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "3.8",
|
||
"ko": "다지기",
|
||
"name": "Phase 3 review — every conjugation, confirmed",
|
||
"goal": "Nothing new. Confirm the 아/어 rule and all seven irregular classes by producing them on demand, past and future included, plus every verb and adjective Phase 3 introduced.",
|
||
"vocabUnit": false,
|
||
"review": true,
|
||
"teaches": [
|
||
"confirming, not adding — everything Phase 3 introduced, proven unaided"
|
||
],
|
||
"avoid": [
|
||
"anything from a later phase",
|
||
"introducing any new word — this unit adds none"
|
||
],
|
||
"words": [],
|
||
"revisits": []
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"phase": 4,
|
||
"ko": "조사",
|
||
"name": "Particles",
|
||
"units": [
|
||
{
|
||
"id": "4.1",
|
||
"ko": "은 / 는",
|
||
"name": "The topic marker",
|
||
"goal": "은/는 names what the sentence is about, and quietly sets it against something else. 은 after a consonant, 는 after a vowel. Everything so far has managed without it — this unit shows what it adds.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"은/는 as topic marker",
|
||
"the consonant/vowel split"
|
||
],
|
||
"avoid": [
|
||
"이/가, 을/를 and every other particle"
|
||
],
|
||
"words": [
|
||
"오늘",
|
||
"요즘",
|
||
"원래",
|
||
"보통"
|
||
],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "4.2",
|
||
"ko": "이 / 가",
|
||
"name": "The subject marker",
|
||
"goal": "이/가 marks who or what performs the verb, and it introduces information that is new. 이 after a consonant, 가 after a vowel; 저 + 가 contracts to 제가, 나 + 가 to 내가.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"이/가 as subject marker",
|
||
"제가 · 내가 · 네가 contractions"
|
||
],
|
||
"avoid": [
|
||
"을/를 and the later particles"
|
||
],
|
||
"words": [
|
||
"누가",
|
||
"내가",
|
||
"제가",
|
||
"네가"
|
||
],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "4.3",
|
||
"ko": "은/는 vs 이/가",
|
||
"name": "The contrast",
|
||
"goal": "No new particle — a whole unit on the difference, because it is the one that never stops mattering. Same sentence, both markers, side by side: what changes is where the weight falls and what is being answered.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"choosing between 은/는 and 이/가 by what is old and what is new"
|
||
],
|
||
"avoid": [
|
||
"을/를 and the later particles"
|
||
],
|
||
"words": [
|
||
"그런데",
|
||
"하지만"
|
||
],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "4.4",
|
||
"ko": "을 / 를",
|
||
"name": "The object marker",
|
||
"goal": "을/를 marks what the verb acts on. It is dropped constantly in speech bubbles, which is exactly why you need to recognise it when it does appear. 뭘, 널, 절 are the contractions.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"을/를 as object marker",
|
||
"the contractions 뭘 · 널 · 절"
|
||
],
|
||
"avoid": [
|
||
"에 / 에서 and the later particles"
|
||
],
|
||
"words": [
|
||
"뭘",
|
||
"널",
|
||
"절"
|
||
],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "4.5",
|
||
"ko": "에 · 에서",
|
||
"name": "Place & time",
|
||
"goal": "에 for a destination, a point in time, or where something simply is. 에서 for where an action happens, and where something came from. 집에 있어 against 집에서 일해.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"에 for destination, time and static location",
|
||
"에서 for the site of an action and for origin"
|
||
],
|
||
"avoid": [
|
||
"도, 만 and the later particles"
|
||
],
|
||
"words": [
|
||
"아래",
|
||
"옆",
|
||
"뒤",
|
||
"사이"
|
||
],
|
||
"revisits": [
|
||
{
|
||
"word": "밖",
|
||
"from": "1.4"
|
||
},
|
||
{
|
||
"word": "안",
|
||
"from": "2.8"
|
||
},
|
||
{
|
||
"word": "위",
|
||
"from": "1.2"
|
||
},
|
||
{
|
||
"word": "앞",
|
||
"from": "1.4"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "4.6",
|
||
"ko": "도 · 만",
|
||
"name": "Also & only",
|
||
"goal": "도 (also, too) and 만 (only). The catch: they REPLACE 은/는, 이/가 and 을/를 rather than stacking on top of them. 저는도 is wrong; 저도 is right.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"도 (also) and 만 (only)",
|
||
"that 도 and 만 replace the other markers"
|
||
],
|
||
"avoid": [
|
||
"the remaining particles"
|
||
],
|
||
"words": [
|
||
"혼자",
|
||
"조금",
|
||
"많이"
|
||
],
|
||
"revisits": [
|
||
{
|
||
"word": "같이",
|
||
"from": "1.8"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "4.7",
|
||
"ko": "나머지 조사",
|
||
"name": "The rest of the set",
|
||
"goal": "하고 · (이)랑 · 와/과 for and and with; (으)로 for by and toward; 부터 ~ 까지 for a span; 보다 for more than; 처럼 for like.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"하고 · (이)랑 · 와/과",
|
||
"(으)로",
|
||
"부터 ~ 까지",
|
||
"보다",
|
||
"처럼"
|
||
],
|
||
"avoid": [],
|
||
"words": [
|
||
"하고",
|
||
"랑",
|
||
"로",
|
||
"부터",
|
||
"까지",
|
||
"처럼"
|
||
],
|
||
"revisits": [
|
||
{
|
||
"word": "보다",
|
||
"from": "3.1"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "4.8",
|
||
"ko": "생략과 지시",
|
||
"name": "Omission & tracking who",
|
||
"goal": "The reading skill this whole phase was building toward. Korean drops subjects and objects constantly, and a manhwa page expects you to infer who is speaking and who is being spoken about — from who spoke last, from the ending, from the level of politeness. Given a bare line, you should be able to say WHO.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"tracing a dropped subject through a exchange",
|
||
"reading the speaker from the ending and the register"
|
||
],
|
||
"avoid": [],
|
||
"words": [
|
||
"그때",
|
||
"이제",
|
||
"걔",
|
||
"쟤",
|
||
"얘"
|
||
],
|
||
"revisits": [
|
||
{
|
||
"word": "아까",
|
||
"from": "3.5"
|
||
},
|
||
{
|
||
"word": "방금",
|
||
"from": "3.5"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "4.9",
|
||
"ko": "다지기",
|
||
"name": "Phase 4 review — every particle, confirmed",
|
||
"goal": "Nothing new. Confirm each particle by choosing correctly between them in context — 은/는 against 이/가 especially — and by tracking a dropped subject through an exchange. Plus every word Phase 4 introduced.",
|
||
"vocabUnit": false,
|
||
"review": true,
|
||
"teaches": [
|
||
"confirming, not adding — everything Phase 4 introduced, proven unaided"
|
||
],
|
||
"avoid": [
|
||
"anything from a later phase",
|
||
"introducing any new word — this unit adds none"
|
||
],
|
||
"words": [],
|
||
"revisits": []
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"phase": 5,
|
||
"ko": "어미",
|
||
"name": "Endings & clauses",
|
||
"units": [
|
||
{
|
||
"id": "5.1",
|
||
"ko": "존댓말 읽기",
|
||
"name": "Reading polite speech",
|
||
"goal": "Everything so far has been 반말. Now the 요 form and the -습니다 form, for RECOGNITION: a character switching into them is a social event, not just a different ending.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"the polite 요 ending",
|
||
"the formal -습니다 ending",
|
||
"that a switch of register is a story signal"
|
||
],
|
||
"avoid": [
|
||
"honorific -(으)시- — that is the next unit"
|
||
],
|
||
"words": [
|
||
"안녕하세요",
|
||
"죄송합니다",
|
||
"아니요",
|
||
"그렇습니다"
|
||
],
|
||
"revisits": [
|
||
{
|
||
"word": "감사합니다",
|
||
"from": "1.6"
|
||
},
|
||
{
|
||
"word": "네",
|
||
"from": "1.2"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "5.2",
|
||
"ko": "높임말",
|
||
"name": "Honorifics",
|
||
"goal": "-(으)시- inside the verb, -세요, 께서 instead of 이/가, and the suppletive words: 드시다, 주무시다, 계시다, 드리다, 말씀. Recognition only — you are reading these, not producing them.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"honorific -(으)시- and -세요",
|
||
"께서",
|
||
"드시다 · 주무시다 · 계시다 · 드리다 · 말씀"
|
||
],
|
||
"avoid": [],
|
||
"words": [
|
||
"말씀",
|
||
"님",
|
||
"드리다",
|
||
"계시다",
|
||
"주무시다"
|
||
],
|
||
"revisits": [
|
||
{
|
||
"word": "분",
|
||
"from": "2.5"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "5.3",
|
||
"ko": "부정 ② 지 않다 · 지 마",
|
||
"name": "Negation behind the verb",
|
||
"goal": "-지 않아 as the other way to say no, -지 못해 for the other kind of can't, and -지 마 for don't. The register split matters: 안 먹어 is a character speaking, 먹지 않는다 is narration.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"-지 않다",
|
||
"-지 못하다",
|
||
"-지 마 (don't)",
|
||
"the spoken/narrated register split with 안"
|
||
],
|
||
"avoid": [],
|
||
"words": [
|
||
"걱정하다",
|
||
"신경 쓰다",
|
||
"포기하다"
|
||
],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "5.4",
|
||
"ko": "바람과 능력",
|
||
"name": "Wanting & being able",
|
||
"goal": "-고 싶어 (want to), -(으)ㄹ 수 있어/없어 (can, cannot), -아/어야 돼 (have to). Three things stacked onto the end of a verb.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"-고 싶다",
|
||
"-(으)ㄹ 수 있다 / 없다",
|
||
"-아/어야 되다"
|
||
],
|
||
"avoid": [],
|
||
"words": [
|
||
"싶다",
|
||
"수",
|
||
"필요하다",
|
||
"돼"
|
||
],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "5.5",
|
||
"ko": "고 · 지만",
|
||
"name": "And, but",
|
||
"goal": "-고 joins two clauses with no claim of cause; -지만 sets them against each other. Tense sits on the final verb with -고, but -지만 takes it directly.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"-고 (and)",
|
||
"-지만 (but)"
|
||
],
|
||
"avoid": [
|
||
"-아서 and -(으)니까 — the next unit"
|
||
],
|
||
"words": [
|
||
"그리고",
|
||
"그렇지만"
|
||
],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "5.6",
|
||
"ko": "아서 · 니까",
|
||
"name": "Because",
|
||
"goal": "Two reasons endings that are not interchangeable. -아/어서 never takes past tense and never comes before a command. -(으)니까 does both — which is why every 'so let's…' line uses it.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"-아/어서 (because; and then)",
|
||
"-(으)니까 (because, before commands and suggestions)",
|
||
"that -아/어서 cannot carry tense or precede a command"
|
||
],
|
||
"avoid": [
|
||
"-는데"
|
||
],
|
||
"words": [
|
||
"그래서",
|
||
"왜냐하면",
|
||
"때문에"
|
||
],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "5.7",
|
||
"ko": "는데 ① 대조",
|
||
"name": "는데 as contrast",
|
||
"goal": "-는데 doing exactly one of its jobs: setting two things against each other. 이 옷은 예쁜데 비싸. Minimal pairs against -지만 so the difference in feel is visible.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"-는데 / -(으)ㄴ데 as contrast"
|
||
],
|
||
"avoid": [
|
||
"the other two jobs of -는데 — they are the next unit"
|
||
],
|
||
"words": [],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "5.8",
|
||
"ko": "는데 ② 배경",
|
||
"name": "는데 as background & lead-in",
|
||
"goal": "Its other two jobs: setting the scene before the main clause, and opening a topic then trailing off so the listener responds. Three labelled uses now, and a sorting exercise where you say which one each is doing.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"-는데 as scene-setting background",
|
||
"-는데 as a soft trailing lead-in",
|
||
"telling the three uses apart"
|
||
],
|
||
"avoid": [],
|
||
"words": [],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "5.9",
|
||
"ko": "조건과 목적",
|
||
"name": "Condition & purpose",
|
||
"goal": "-(으)면 (if, when), -(으)면서 (while), -(으)려고 (intending to), -(으)러 (in order to, only with verbs of movement), -기 전에 and -(으)ㄴ 후에.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"-(으)면",
|
||
"-(으)면서",
|
||
"-(으)려고",
|
||
"-(으)러",
|
||
"-기 전에 / -(으)ㄴ 후에"
|
||
],
|
||
"avoid": [],
|
||
"words": [
|
||
"만약",
|
||
"혹시",
|
||
"아마",
|
||
"먼저"
|
||
],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "5.10",
|
||
"ko": "어휘 · 감정과 관계",
|
||
"name": "Vocabulary — feelings & relationships",
|
||
"goal": "A vocabulary round on the emotional register manhwa runs on, every word used inside the endings just learned.",
|
||
"vocabUnit": true,
|
||
"teaches": [
|
||
"vocabulary for feelings, relationships and reactions"
|
||
],
|
||
"avoid": [],
|
||
"words": [
|
||
"사랑",
|
||
"기분",
|
||
"걱정",
|
||
"오해",
|
||
"비밀",
|
||
"거짓말",
|
||
"질투",
|
||
"고백",
|
||
"미안하다",
|
||
"고맙다"
|
||
],
|
||
"revisits": [
|
||
{
|
||
"word": "마음",
|
||
"from": "1.9"
|
||
},
|
||
{
|
||
"word": "약속",
|
||
"from": "2.2"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "5.11",
|
||
"ko": "다지기",
|
||
"name": "Phase 5 review — every ending, confirmed",
|
||
"goal": "Nothing new. Confirm every ending and clause connector from Phase 5, told apart by feel and not just by shape, plus the honorific and formal registers, plus every word the phase introduced.",
|
||
"vocabUnit": false,
|
||
"review": true,
|
||
"teaches": [
|
||
"confirming, not adding — everything Phase 5 introduced, proven unaided"
|
||
],
|
||
"avoid": [
|
||
"anything from a later phase",
|
||
"introducing any new word — this unit adds none"
|
||
],
|
||
"words": [],
|
||
"revisits": []
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"phase": 6,
|
||
"ko": "실전 읽기",
|
||
"name": "Reading for real",
|
||
"units": [
|
||
{
|
||
"id": "6.1",
|
||
"ko": "수식",
|
||
"name": "Modifiers before nouns",
|
||
"goal": "Korean puts the whole description in FRONT of the noun, and marks tense inside it: -는 (now), -(으)ㄴ (already), -(으)ㄹ (yet to come). 내가 죽인 몬스터. The skill is finding where the modifier ends and the noun begins.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"-는 / -(으)ㄴ / -(으)ㄹ modifying a noun",
|
||
"finding the boundary between modifier and noun"
|
||
],
|
||
"avoid": [],
|
||
"words": [
|
||
"것",
|
||
"거",
|
||
"때",
|
||
"곳",
|
||
"적"
|
||
],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "6.2",
|
||
"ko": "인용",
|
||
"name": "Quotation",
|
||
"goal": "An isolation unit, drilled with choice and build tasks so gist-guessing cannot carry you. -라고 for a direct quote, -고 for reported speech, and the contractions -대 · -래 · -냬 · -재 that mean someone else said it first.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"-라고 direct quotation",
|
||
"-고 reported speech",
|
||
"the contractions -대 · -래 · -냬 · -재"
|
||
],
|
||
"avoid": [],
|
||
"words": [
|
||
"라고",
|
||
"대",
|
||
"래",
|
||
"냬",
|
||
"재"
|
||
],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "6.3",
|
||
"ko": "말투 구분",
|
||
"name": "Narration vs speech",
|
||
"goal": "The other isolation unit: -다 endings (narration, thought, description) against -어 endings (someone speaking), and 며 against 면서. Given a line with no context, say which voice it is.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"the -다 narration register",
|
||
"telling narration from dialogue by the ending",
|
||
"며 vs 면서"
|
||
],
|
||
"avoid": [],
|
||
"words": [
|
||
"이다",
|
||
"했다",
|
||
"한다",
|
||
"였다"
|
||
],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "6.4",
|
||
"ko": "띄어쓰기와 줄임",
|
||
"name": "Spacing & contractions",
|
||
"goal": "Where the spaces fall, and the contractions speech bubbles are full of: 나는 → 난, 너는 → 넌, 이것은 → 이건, 무엇을 → 뭘, 그 아이 → 걔.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"Korean word spacing and where a chunk ends",
|
||
"the common spoken contractions"
|
||
],
|
||
"avoid": [],
|
||
"words": [
|
||
"난",
|
||
"넌",
|
||
"건",
|
||
"이건"
|
||
],
|
||
"revisits": [
|
||
{
|
||
"word": "뭘",
|
||
"from": "4.4"
|
||
},
|
||
{
|
||
"word": "걔",
|
||
"from": "4.8"
|
||
},
|
||
{
|
||
"word": "쟤",
|
||
"from": "4.8"
|
||
},
|
||
{
|
||
"word": "얘",
|
||
"from": "4.8"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "6.5",
|
||
"ko": "의성어 · 의태어",
|
||
"name": "Sound & manner words",
|
||
"goal": "The words lettered into the artwork rather than spoken by anyone. Not in most textbooks, and they carry a great deal of what a panel is doing.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"sound words 의성어 and manner words 의태어"
|
||
],
|
||
"avoid": [],
|
||
"words": [
|
||
"쿵",
|
||
"쾅",
|
||
"헉",
|
||
"헐",
|
||
"두근두근",
|
||
"반짝",
|
||
"털썩",
|
||
"씨익",
|
||
"꿀꺽",
|
||
"덜덜"
|
||
],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "6.6",
|
||
"ko": "어휘 · 장르",
|
||
"name": "Vocabulary — genre",
|
||
"goal": "The vocabulary specific to what you actually read: regression and tower fantasy, romance drama, school life, action and crime.",
|
||
"vocabUnit": true,
|
||
"teaches": [
|
||
"genre vocabulary for fantasy, romance, school and action manhwa"
|
||
],
|
||
"avoid": [],
|
||
"words": [
|
||
"회귀",
|
||
"각성",
|
||
"스킬",
|
||
"던전",
|
||
"길드",
|
||
"마왕",
|
||
"헌터",
|
||
"복수",
|
||
"배신",
|
||
"계약",
|
||
"재벌",
|
||
"선배",
|
||
"일진",
|
||
"증거"
|
||
],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "6.7",
|
||
"ko": "패널 읽기",
|
||
"name": "Reading whole panels",
|
||
"goal": "Several bubbles in a row, with sound words and dropped subjects, read for what happened and who did it.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"reading a multi-bubble exchange as one scene"
|
||
],
|
||
"avoid": [],
|
||
"words": [],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "6.8",
|
||
"ko": "속도 읽기",
|
||
"name": "Speed reading",
|
||
"goal": "Real excerpt length, timed, no lookups. The finish line: you read it once and say what happened.",
|
||
"vocabUnit": false,
|
||
"teaches": [
|
||
"reading at speed without lookups"
|
||
],
|
||
"avoid": [],
|
||
"words": [],
|
||
"revisits": []
|
||
},
|
||
{
|
||
"id": "6.9",
|
||
"ko": "다지기",
|
||
"name": "Phase 6 review — reading, confirmed",
|
||
"goal": "Nothing new, and the last unit on the roadmap. Confirm every reading skill from Phase 6 — modifiers, quotation, register, spacing, sound words, genre vocabulary — on real manhwa lines at speed.",
|
||
"vocabUnit": false,
|
||
"review": true,
|
||
"teaches": [
|
||
"confirming, not adding — everything Phase 6 introduced, proven unaided"
|
||
],
|
||
"avoid": [
|
||
"anything from a later phase",
|
||
"introducing any new word — this unit adds none"
|
||
],
|
||
"words": [],
|
||
"revisits": []
|
||
}
|
||
]
|
||
}
|
||
]
|
||
} |