- Node-API — the standard napi_* C ABI for native addons:
building against the prefab package, registering and requiring addons,
threading and finalizer contracts, and the documented divergences from Node
(shared with the iOS runtime).
- Performance API — WHATWG performance (hr-time, user
timing, performance timeline with PerformanceObserver), per-isolate time
origins for workers, the native clock hook that future requestAnimationFrame
work must share, and the documented spec deviations.
- AbortController / AbortSignal — the DOM abort primitives
(AbortController, AbortSignal with the abort/timeout/any statics)
layered on the runtime's EventTarget, the GC contract (weak timers and
any() links, listener-driven persistence), and the DOMException
reasons.
- TextEncoder / TextDecoder and atob / btoa — the WHATWG
encoding and base64 globals (TextEncoder, TextDecoder, atob, btoa),
the supported encodings with their label sets, streaming decode semantics,
and the lazy-global tier that runs their builtins only on first use.
- Error handling — global error/unhandledrejection events, reportError, catching Java exceptions in JS (error.nativeException), forwarding JS throws to Java callers (interop.escapeException), JS stacks on Java exceptions (com.tns.JavaScriptStackTrace), configuration flags, and crash-reporter integration.
- structuredClone — the WHATWG structuredClone(value, { transfer }) global: what clones, how graph identity and cycles are preserved, ArrayBuffer transfer, and the DataCloneError DOMException on failure.
- Messaging and node:worker_threads — MessagePort,
MessageChannel, BroadcastChannel and MessageEvent, the
node:worker_threads real-vs-shim table and its documented deviations,
the strong-until-closed port lifetime, HTML port enabling, and the
transfer support matrix with its DataCloneError messages.
- Implementing additional Chrome DevTools protocol Domains
Notes on work that is done, kept because the reasoning is expensive to
reconstruct rather than because anything needs doing.
- V8 10.3 → 14.9 migration — the API changes and
their site counts, why each non-default gn arg exists, the accessor rules that
are not mechanical, and the traps that only show up at runtime.