기억은 손실 압축이다. 다시 꺼낼수록 낡고, 꺼내지 않은 건 먼저 사라진다.
구현
- 2단계 상태머신:
compose→remembering - 텍스트를 공백 기준 토큰화, 각
Word에{ id, text, pinned, fadedAt }부여 - 8초(
FADE_INTERVAL_MS) 간격 스케줄러: 후보 단어 중 50% 확률로 긴 단어 편향(sort desc by length → pick top 3) / 50% 랜덤 - fade 연출:
opacity: 0.12 + blur(2.2px) + transition 1.8s cubic-bezier(0.4,0,0.2,1) - 고정: 클릭 시
pinned토글 — 이미 흐려진 단어는fadedAt = null로 되돌아옴 - 임계치: 전체의 50% fade + 총 4단어 이상일 때 "이것이 당신이 남긴 것입니다" reveal
prefers-reduced-motion에서 간격 14s로 완화 (흐림 자체는 필수 — 제거하면 남는 것 없음)
엣지
- 한 글자라도 입력되면 시작 가능 (한국어 공백 없는 문장 수용)
- IME 조합 중 입력은 무시 · 고정된 단어는 후보 pool에서 제외