WaveNav Labs

Build and test the mobile web that existed before modern browsers.

Waves is the desktop face of a layered WAP/WML emulator stack focused on deterministic runtime behavior, protocol realism, and tooling that makes this niche platform usable again.

  • Engine fidelity Deck and card navigation, forms, timers, and script/runtime semantics are driven by an engine-first contract.
  • Desktop host Waves gives the stack a fast desktop shell for fixtures, local examples, debug views, and real network sessions.
  • Protocol realism Transport and gateway layers stay separate so constrained-network behavior does not leak into the runtime.
Waves rendering a WML form example with editable fields and event timeline
Local mode with working forms, examples, and runtime inspection.
Waves showing a network-rendered WML page with selectable links
Network-rendered decks keep the old mobile-web interaction model visible and testable.

Local examples, forms, and select controls now work directly in Waves.

Network mode handles offline and slow-server cases with less UI blocking.

Payload guardrails and deterministic history behavior are covered end to end.

WAP stacks are usually either historically vague or hard to work on.

This project is aimed at a stricter middle ground: preserve authentic behavior where it matters, but make the engine, host, and transport layers testable enough for modern iteration.

Layered by design

  • GatewayKannel environment and gateway wiring.
  • TransportWBXML, WSP/WTP behavior, and constrained fetch rules.
  • EngineRust/WASM WML parser, runtime, layout, navigation, and script execution.
  • WavesTauri desktop host with examples, debug affordances, and integration coverage.

The product shell is now useful, not just a harness.

Use local examples to learn the runtime, flip to network mode for live fetches, and inspect session state, snapshots, timelines, and transport responses while you work.

Launch the simulator

Recent work moved Waves from fragile prototype toward usable emulator shell.

Interaction

Text inputs, select controls, and form-submit handling are wired through the engine and desktop host.

Responsiveness

Network mode startup and failed fetches no longer monopolize the entire interface the way they did before.

Determinism

History replay, payload limits, and frame-oriented engine updates now have better behavioral coverage.

Explore Waves, then dig into the stack.