Issue #98: RAF — Vereinfachung + React Scheduler Integration stabilisieren #93
Labels
No labels
bug
docs
feature
housekeeping
html-spec
performance
react-compat
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
glow-all/true-headless-browser#93
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problembeschreibung
Die aktuelle
VirtualFrameClock(VFC,src/fakes/virtual-frame-clock.ts) ist ueberengineered:setTimeout-basierter Frame-Takt (16.67ms, 60fps)Konsequenz: Der G3.2 React-Test (
tests/interaction/react-18.test.ts) failt weil React 18 + CDN-Script-Load + RAF >500ms braucht. Das Problem ist jedoch NICHT die RAF-Komplexitaet, sondern dass:Aktuelle Architecture
Was wir eigentlich brauchen
Analyse
Option A — Vereinfachter RAF-Loop (EMPFEHLUNG)
~50 Zeilen. Gleiches Verhalten. Keine idle-Queue.
Option B — Promisified RAF + Scheduler.await
React 18 nutzt
Scheduler.unstable_next()undScheduler.yield(). Wenn wir zusaetzlich einawait new Promise(r => requestAnimationFrame(r))unterstuetzen, koennen wir mit setTimeout + Promise-Microtasks besser harmonieren.Option C — Microtask-basierte Frame-Boundaries
Statt setTimeout:
queueMicrotask(() => { ... setTimeout(loop, 16); }). Fuehrt RAF-Callbacks im Microtask-Cycle aus -> Reacts Scheduler sieht sofort neue State-Updates. Aber: Microtasks sind kein Frame-Boundary.Entscheidung
Option A (Vereinfachung). Option B (Promisified RAF) als optionaler Zusatz. Option C ist spec-widrig (RAF muss in einem Macrotask feuern, nicht Microtask).
Akzeptanzkriterien
VirtualFrameClockdurchSimpleRAFersetzt (oder VFC radikal vereinfacht)cancelAnimationFrame(id)entfernt korrekt nur den spezifischen CallbackBetroffene Dateien
src/fakes/virtual-frame-clock.tssimple-raf.tsoder radikal vereinfachensrc/runtime-isolation.tstests/interaction/react-18.test.tstests/unit/virtual-frame-clock.test.tsTechnische Risiken
Testplan