bi-15 step 03 — Traces 6–7: setState and fetch, then the table

Goal

The two traces that require the framework strand, and the artefact the whole module exists to produce.

Tasks

Trace 6 — setCount(count + 1) (after fw-04)

  1. State slot write, scheduling, batching, priority.
  2. Render phase (interruptible) and commit phase (atomic).
  3. Count the DOM operations.
  4. Invalidation scope; layout needed or not; paint needed or not; compositor-only or not.
  5. Produce two variants: one compositor-only, one running every stage. Explain the difference at every layer.

Trace 7 — fetch() (after bi-02)

  1. Binding, promise creation, which microtask resolves it.
  2. Renderer → network service via Mojo. The renderer never holds the socket.
  3. Where CORS, CSP, and cross-origin read blocking are enforced — and why there.
  4. Response streaming; which thread the body arrives on.
  5. Does resolution yield to rendering? (bi-11)

Then: the layer-skipping table. Fill it from your own traces. Cross-check every row against css_properties.json5.

Done when

  • Both traces complete with all eight layers addressed
  • Two setState variants explained layer by layer
  • The layer-skipping table filled from your own measurements
  • PROGRESS.md ledger updated with deepest genuinely resolved layer per trace