Tiltmark V3 · Hane 0.3.0

Inside
Tiltmark.

Tiltmark is the painting technology. Hane is its Android interface and host: it gathers input, manages documents and presents the canvas while Tiltmark determines the implement, material and mark. This page maps the production engine in the Google Play 0.3.0 release, checked against the current source on August 13, 2026.

← Return to the artist-facing Hane page
The artist-visible contract

What the engine
must preserve.

Tiltmark is a bounded, deterministic approximation of traditional implements, materials, paper and time. The simulation is engineered around recognizable behavior and editable documents, not a claim to reproduce every molecule.

01

Persistent implement

A brush or nib keeps its identity, pigment, liquid, contamination, fibre load and mechanical state across strokes. Pointer-up does not reset the tool.

02

Finite, conserved material

Pigment and vehicle deplete independently. Contact records actual material transfer instead of emitting an unlimited cosmetic color stream.

03

Pickup → mark → deposit

Pickup planning, marking, discharge and acquisition run in a fixed order. Live work and replay use the same physical contact semantics.

04

Material that keeps moving

Wet and loose-dry material remains part of the document after the hand leaves it. It can spread, wick, settle, cure, reactivate, abrade or be picked up later.

05

Whole-studio history

Undo, cancel and recovery restore artwork, physical field, simulation clock and implement checkpoints together.

06

Portable authority

The executable authority is Rust. Hane and Sloom Studio can host the same pinned engine without maintaining competing browser-side brush formulas.

Input and stroke construction

Pressure is only
the beginning.

Canonical stylus input

Document-space position and time, pressure, tangential pressure, altitude, azimuth, supported barrel twist, hover distance, pointer kind and eraser state are normalized and sanitized in Rust. Unsupported axes stay explicitly unsupported.

Calibrated physical pose

Hane builds a bounded device profile from light and firm pressure, upright and side contact, and physical direction. Coalesced Android and Pointer Event samples enter one convention.

Constructed, replayable strokes

Tiltmark owns spacing, time-aware smoothing, stabilization, taper, endpoint catch-up, held-contact deposition, symmetry, QuickLine finalization and stable seeded scatter, size, opacity and angle variation.

Programmable dynamics

Up to 32 ordered mappings can route pressure, tilt, twist or velocity into geometry, transfer, media, load, grain and variation through bounded curves. Tip textures support 1–16 frames; grain remains anchored in document space.

Implements and material routes

Not one brush.
A material system.

The production catalog contains 252 brush presets across 13 engine medium labels, plus four versioned spray-can tools: 256 production implements in Hane Full. Categories organize the library; the medium and recipe choose the physical route.

TIP GEOMETRY

Six tip families

Graphite point/side contact, chisel, round, particle, ribbon and persistent bristle geometry. Imported tip masks alter visible coverage without replacing the physical footprint.

BRISTLES

Representative fibre bundles

Up to 24 stable fibre clusters bend, trail, splay, rake and recover through stiffness, damping, drag and cohesion. Individual fibres can carry distinct mixtures; this is not a one-hair-per-strand volumetric simulation.

NIBS

Flexible metal nibs

G Pen, Maru and Crow Quill keep spread, feed and railroading state. Pressure, tilt, drag and recovery control width and center/edge deposit rather than swapping static stamp shapes.

RESERVOIR

Load, contamination and care

Persistent pigment, water, alcohol, thinner or medium can be loaded, mixed, rinsed, blotted, wiped, dried, reloaded or reset. Wet bristles partition supply across fibres and belly.

DRY MEDIA

Graphite, charcoal and pastel

Dedicated tagged phases preserve loose dry carrier, abrasion, pickup and redeposit. Colored pencil has its own pigment, binder and solvent phase rather than masquerading as watercolor.

WET MEDIA

Watercolor through oil

Watercolor, ink wash, gouache, acrylic, oil, thinned oil, alcohol dye and blending carry distinct water, binder, solvent, oil, acrylic, diffusion, evaporation, cure, reactivation and film-lock recipes.

SPRAY

Four physical spray cans

Fat, soft, precision and calligraphy caps use deterministic particles and respond to pressure, distance, angle, dwell, velocity, surface orientation and gravity. Pigment and solvent remain conserved in the evolving field.

PAPER

Six surface profiles

Smooth synthetic, hot press, cold press, rough watercolor, laid paper and canvas vary absorbency, sizing, topology, tooth and directional fibre wicking. Per-layer intent also carries stain, lift and drying behavior.

Wet Physics V3

Surface, paper
and time.

New Hane physical layers use V3. Older documents preserve their stored V1 or V2 solver. V3 is a reduced, overdamped finite-volume model designed for bounded mobile execution—not Navier–Stokes or a full capillary-network solver.

V3 represents

  • Separate exposed surface film and finite pore occupancy
  • Conservative water, solvent, binder, oil and acrylic transport
  • Paper uptake and directional fibre wicking
  • Separate surface/pore evaporation for water and solvent
  • Suspended and deposited pigment, dispersion and dye exchange
  • Pooling, blooms, granulation, staining and pigment filtration
  • Drying, cure, film lock and bounded reactivation
  • Paper-height head, contact-line pinning and canvas-plane gravity

Additional physical operators

  • Oil/acrylic body height, leveling, ownership and cure-aware locking
  • Neutral relief shading from body height and paper topology
  • Visible clean-water film with a quieter absorbed-pore cue
  • Wet selected-area presets for washes, added water and lifting
  • Table, drafting-board, easel and wall gravity presets
  • Quality, balanced and performance physical-field resolutions
  • Disconnected wet-island scheduling and continuous spray rivulets
  • Complete snapshots with solver, scheduler and body state

The persisted substrate has 51 named arrays. The engaged wet GPU ABI carries a 32-channel, 128-byte-per-cell wet prefix; lossless body height uses a separate sidecar, while dry and colored-pencil tags remain Rust-only.

Execution and host boundary

One engine.
Bounded acceleration.

Rust owns input interpretation, contact, material meaning, snapshots and fallback behavior. Eligible accelerators may evolve and rasterize exact mirrored state only behind an ordered, replayable authority fence.

INTERFACE

Hane / Sloom host

Input collection, calibration workflow, documents, layers, commands, scheduling and final presentation.

TECHNOLOGY

Tiltmark Rust / WASM

Stroke construction, implements, reservoirs, pickup/deposit, dry and wet material, snapshots, compatibility and CPU authority.

ACCELERATION

WebGPU / WebGL2 / Rust

Capability-gated wet evolution, body work where supported, compact dirty-tile raster and exact fallback.

The current GPU claim

GPU-resident wet evolution and rasterization on supported hardware.

WebGPU runs V3 transport, local chemistry, optional body work and rasterization. Eligible WebGL2 runs the V3 wet field and raster while body-bearing state remains Rust-authoritative. Failure preserves or replays state before falling back. Final layer composition is still Canvas2D and wet presentation still crosses a GPU-to-CPU RGBA readback, so Tiltmark is not yet a zero-copy or universally GPU-only engine.

SPARSE WORK

Dirty regions, not whole canvases

Rust tracks active, deferred and dormant tiles. Regional planners preserve disconnected wet islands, merge bounded windows and include causal frontiers rather than growing one empty-space rectangle.

AUTHORITY FENCE

Pickup never reads stale paint

Before pickup, erase, snapshot, read, dry or backend replacement, pending GPU evolution is synchronized or deterministically replayed into Rust. Unsafe fallback fails closed.

PERSISTENCE

Versioned physical documents

Brush interchange is V4, implement snapshots V3, wet snapshots emit V10 and restore V1–V10, body sidecars are V1, and the FFI ABI is V2. Baked appearance remains available to older readers.

DETERMINISM

Replayable by construction

Normalized samples, seed, preset, paper, physics version, step sequence and scheduler metadata are captured. Rust ordering and clocks are stable; cross-GPU transcendental results are tolerance-qualified.

Production evidence and limits

Strong claims.
Visible boundaries.

Hane 0.3.0 is the current Google Play production release. Its V3 release includes the expanded wet/body model, four spray tools, gravity-aware flow, GPU-resident wet evolution on supported hardware, and compatibility for existing artwork.

Qualified now

  • 252 brushes plus 4 spray tools
  • Persistent finite reservoirs, contamination and care
  • Bristle bundles, flexible nibs and physical pickup/deposit
  • Dedicated wet, loose-dry and colored-pencil routes
  • V3 surface/pore transport, paper wicking and gravity
  • Oil/acrylic body height and relief
  • WebGPU and WebGL2 V3 field/raster paths with Rust fallback
  • Rust/RX 5700 XT and Galaxy S26 Ultra qualification evidence

Not claimed

  • Molecular fluid or complete pigment chemistry
  • Navier–Stokes, momentum or a full multi-depth capillary network
  • One volumetric collision simulation per real hair
  • Shear-dependent non-Newtonian or thixotropic rheology
  • Volumetric impasto mechanics, scraping or knife displacement
  • Production spectral-field transport; K/S color remains experimental
  • Zero-copy GPU-to-final-screen composition
  • Universal behavior on every Android pen, GPU and device

Sparse page-addressed GPU storage and wet K/S color transport are versioned experiments, not silent replacements for production documents. Automated conservation, parity and performance gates supplement—but do not replace—artist visual review and broader device qualification.