completenginecom

completethe unfinishedfuture

A concurrent event simulation engine where queues, locks, forks, and callbacks become one deterministic completion.

touch the wheel · scroll to advance ticks
phase 01 / fork futures

spawn three futures

Promises split into bright fibers, carry separate clocks, and keep their causality pinned to the loom.

evt.spawn({ futures: 3, drift: bounded })
phase 02 / scheduler loom

choose the next tick

The timing wheel rotates through hungry callbacks while queue spools compress pending work into a readable cadence.

q:readyq:blockedq:deferred
phase 03 / race chamber

race without collision

Magenta contenders flash at the switch, cyan paths bend around each other, and the mutex clasp holds the unsafe branch.

race.detected → lock.hold(18ms)
phase 04 / resolver gate

merge without losing causality

Resolver teeth turn amber as fibers snap into a single completion band and pending ghosts become committed events.

waitGroup.done === futures.length
phase 05 / completion stamp

complete

The replay closes the open loop: every branch accounted for, every callback settled, every ending aligned on the final tick.

COMPLETE
00:00.000 / init.clock fork fibers / three futures mutex clasp / unsafe branch held resolver gate / causality sealed
tick
evt:00
cb:wait
race
join