최상위 10_Wiki/Topic_*였던 4개 카테고리 폴더를 10_Wiki/Topics/Topic_* 로 재배치.
콘텐츠 변경 없음(순수 폴더 이동) — Topics/ 하위 나머지 폴더는 이미 지난 커밋에서
전부 정리된 상태(잔존 항목은 에이전트 운영 상태 및 사용자가 보존을 요청한
업데이트0615/무제 3.canvas 뿐).
"매 page가 user input에 reliably 반응할 수 있는 시점". 2018 Lighthouse에 도입된 TTI는 main thread quiet window를 측정. 2024년 INP (Interaction to Next Paint) 가 Core Web Vitals 의 official replacement 가 되었지만, TTI는 lab-time diagnostic 으로 여전히 유용.
매 핵심
매 정의 (Lighthouse algorithm)
First Contentful Paint 이후 시작.
5-second quiet window: long task (>50ms) 가 없는 구간.
network: 동시 in-flight request ≤ 2.
매 quiet window 의 시작 시점 = TTI.
매 vs other metrics
Metric
Measures
Status (2026)
FCP
First Contentful Paint
active
LCP
Largest Contentful Paint
Core Web Vital
TTI
Main thread quiet
lab only
TBT
Total Blocking Time
lab proxy for TTI
INP
Interaction → Next Paint
Core Web Vital (2024+ replaces FID)
매 왜 INP가 TTI를 대체했는가
TTI 는 lab-only, single point — real user의 interaction 반영 X.
INP 는 75th percentile of all interactions — full session 반영.
<!-- Critical: render-blocking ok --><scriptsrc="/critical.js"></script><!-- Non-critical: defer until after parse --><scriptsrc="/analytics.js"defer></script><!-- Independent: async --><scriptsrc="/ads.js"async></script>
Pattern 5: Long task observer
constobserver=newPerformanceObserver((list)=>{list.getEntries().forEach((entry)=>{if(entry.duration>50){console.warn('Long task',entry.name,entry.duration);// breakup with scheduler.yield() (2026 baseline)
}});});observer.observe({entryTypes:['longtask']});
Pattern 6: scheduler.yield (2026)
asyncfunctionprocessItems(items){for(constitemofitems){process(item);if(navigator.scheduling?.isInputPending()){awaitscheduler.yield();// yield to user input
}}}