Compatibility lab

Put the packages under pressure.

This page runs bounded, deterministic browser scenarios across every non-empty combination of Model, Mediator, View, and Router. Each card can run normally, execute a 1000-operation stress pass, reset, and destroy.

The public controls are intentionally safe for a static site. More aggressive Node.js request-isolation and lifecycle stress cases run in CI instead of exposing a public load endpoint.

20 scenarios ready Run a card individually or run the bounded suite.

Live scenario

Observable state editor

  • Model

Object updates, deep mutation events, reset, destroy, and reuse.

Ready Not run yet.
Operations
0
Events
0
Renders/routes
0
Last run
—

Live scenario

Synchronous event bus

  • Mediator

Publish, subscribe, cancellation, listener cleanup, and reuse.

Ready Not run yet.
Operations
0
Events
0
Renders/routes
0
Last run
—

Live scenario

Template + owned events

  • View

Template rendering, delegated events, root replacement, and teardown.

Ready Not run yet.
Operations
0
Events
0
Renders/routes
0
Last run
—

Live scenario

URL matching

  • Router

Route matching, query parsing, programmatic navigation, and rejection-safe state.

Ready Not run yet.
Operations
0
Events
0
Renders/routes
0
Last run
—

Live scenario

Relayed model events

  • Model
  • Mediator

Namespaced Model events relayed through a standards-based mediator.

Ready Not run yet.
Operations
0
Events
0
Renders/routes
0
Last run
—

Live scenario

Reactive counter

  • Model
  • View

Model-driven rendering with View-owned interaction and repeated rerendering.

Ready Not run yet.
Operations
0
Events
0
Renders/routes
0
Last run
—

Live scenario

URL-driven filters

  • Model
  • Router

Router query state translated into observable application state.

Ready Not run yet.
Operations
0
Events
0
Renders/routes
0
Last run
—

Live scenario

Notification surface

  • Mediator
  • View

Independent application events drive a View without a state package.

Ready Not run yet.
Operations
0
Events
0
Renders/routes
0
Last run
—

Live scenario

Navigation commands

  • Mediator
  • Router

Navigation intent crosses the mediator/router structural event boundary.

Ready Not run yet.
Operations
0
Events
0
Renders/routes
0
Last run
—

Live scenario

Route-owned presentation

  • View
  • Router

Routes switch View output while preserving explicit lifecycle ownership.

Ready Not run yet.
Operations
0
Events
0
Renders/routes
0
Last run
—

Live scenario

Shopping cart

  • Model
  • Mediator
  • View

View interaction mutates Model state while Mediator observes relayed changes.

Ready Not run yet.
Operations
0
Events
0
Renders/routes
0
Last run
—

Live scenario

Session routing

  • Model
  • Mediator
  • Router

Route intent updates session state and publishes namespaced state events.

Ready Not run yet.
Operations
0
Events
0
Renders/routes
0
Last run
—

Live scenario

Search refinements

  • Model
  • View
  • Router

URL query data drives Model state and reactive View output.

Ready Not run yet.
Operations
0
Events
0
Renders/routes
0
Last run
—

Live scenario

Navigation shell

  • Mediator
  • View
  • Router

Router intent emits application events consumed by an independent View.

Ready Not run yet.
Operations
0
Events
0
Renders/routes
0
Last run
—

Live scenario

Full stack dashboard

  • Model
  • Mediator
  • View
  • Router

Router → Model → Mediator → View plus View-owned navigation interaction.

Ready Not run yet.
Operations
0
Events
0
Renders/routes
0
Last run
—

Live scenario

Deep observation pressure

  • Model

Repeated nested writes verify mutate paths and detached-state behavior.

Ready Not run yet.
Operations
0
Events
0
Renders/routes
0
Last run
—

Live scenario

Event fan-out pressure

  • Mediator

Many simultaneous listeners exercise synchronous dispatch and cleanup.

Ready Not run yet.
Operations
0
Events
0
Renders/routes
0
Last run
—

Live scenario

Render batching pressure

  • View

Animation-frame batching coalesces repeated observable change events.

Ready Not run yet.
Operations
0
Events
0
Renders/routes
0
Last run
—

Live scenario

Atomic guard rejection

  • Router

Rejected guarded navigation must preserve the last successful route state.

Ready Not run yet.
Operations
0
Events
0
Renders/routes
0
Last run
—

Live scenario

Lifecycle storm

  • Model
  • Mediator
  • View
  • Router

Repeated create/run/destroy cycles hunt leaked listeners and cross-instance state.

Ready Not run yet.
Operations
0
Events
0
Renders/routes
0
Last run
—