Deploy web Studio / deploy (push) Successful in 1m4s
New route prefab (routes.rhai): cars, buses, motorbikes, cyclists, people, deer or elephants move along waypoints, round a loop or there and back. Each way keeps to the left of the line (or right), corners are rounded into pieces of at most 45 degrees; there-and-back routes become loops with U-turns, so the two directions never share a strip. Engine: Prim::Travel / sprite.begin_travel / script travel(a, b, dur, windows) ... end(): the mover is drawn at a piece's start and slides to its end while it is on that piece, hidden otherwise. The renderer writes keyframes per piece (named by a hash of their content) into one <style> per view. Each piece is its own sprite with the lane strip as its sort extent (ext_reset), mitred at the corners, so movers pass in front of and behind trees, lamps and houses. Movers that look alike and never meet on a piece share one drawing. iso-travel pauses (not hides) in still, reduced-motion and ghosted views. Studio: meta shape "path" draws point by point (snapping like runs) and saves one object with pts; ending on the first point closes the loop. MCP: pts in the object schema, route guidance. Demos: streets gets traffic round the block, a bus, motorbikes, cyclists and strolling people (replacing the one-axis cars); country gets cars on the lane. Tests: Rust 79 (each mover on exactly one piece at every moment, in every rotation), Studio 125, web 99.
30 lines
824 B
TOML
30 lines
824 B
TOML
# isokit streets demo: roads with sidewalks, a rounded corner, junctions and a roundabout.
|
|
# Open it with `isokit studio examples/streets`.
|
|
title = "isokit streets"
|
|
note = "Streets drawn along their centre lines: curves carry them round corners, side streets open the sidewalks they join, and the roundabout's kerbs flare into its arms. Cars go round the block, a bus, motorbikes, cyclists and people along their routes. Tap a street for its numbers. Drag to pan, Ctrl + wheel or pinch to zoom."
|
|
default_level = "site"
|
|
default_rotation = 1
|
|
prelude = []
|
|
theme = []
|
|
|
|
[[level]]
|
|
id = "site"
|
|
label = "Site"
|
|
title = "A town quarter"
|
|
|
|
[[param]]
|
|
name = "labels"
|
|
type = "bool"
|
|
default = true
|
|
label = "Labels"
|
|
|
|
[[param]]
|
|
name = "running"
|
|
type = "bool"
|
|
default = true
|
|
label = "Animation"
|
|
|
|
[build]
|
|
out = "dist/index.html"
|
|
budget = 6000
|