Streets: sidewalks, road curves, junctions and roundabouts
Deploy web Studio / deploy (push) Successful in 4m31s
Deploy web Studio / deploy (push) Successful in 4m31s
Roads take sidewalks (none, both, left, right): 12 cm high paving with kerb faces drawn where they face the viewer. Road curve (radius, angle, left/right) carries a street round a bend; centre lines are true arcs when cut and offset, so curve joints are seamless. A road ending on another road's centre line opens that road's kerb and sidewalk (T junction); two roads ending at one corner close it. Roundabout: ring radius and width, one or two lanes, up to four arms with flared kerbs, splitter islands, give-way lines on the entry side (traffic on the left or right) and a central island with apron. Studio: a road run drawn corner by corner gets a curve in each corner (prefab meta `corner`). Tooltips list the streets each one meets. Engine: open `polyline` primitive (Prim::Poly open) so dashes run on round curves. examples/streets and a Streets demo in the web Studio; MCP guidance, docs. ROADMAP: backlog 5-7 done; multi-select and the hosted copy marked done. Tests: Rust 72, Studio 113, web 95.
This commit is contained in:
1 parent
2442966743
commit
c91d63663b
24 files changed
+989
-29
No files matched your search
+17
-5
@@ -34,7 +34,8 @@ Each phase ends with tests, a Studio/viewer check in Edge, commit and push.
|
||||
- [x] Code editor for scripts, prefabs, theme and manifest, with script errors by file and line
|
||||
- [x] MCP tools inside the page (`isokit.mcp`), WebMCP registration when the browser offers it
|
||||
- [x] `tools/build_web.py` (static output), `tools/check_web.py` (44 checks, Edge)
|
||||
- [ ] Deploy a hosted copy; render in a Web Worker for very large scenes
|
||||
- [x] Hosted copy at https://isokit.buildfor.life/ (deployed by `.gitea/workflows/deploy-web.yml`)
|
||||
- [ ] Render in a Web Worker for very large scenes
|
||||
|
||||
## Agent window (done)
|
||||
|
||||
@@ -75,9 +76,9 @@ Each phase ends with tests, a Studio/viewer check in Edge, commit and push.
|
||||
2. ~~Conveyors~~ (done, see below)
|
||||
3. ~~Producers with adjustable production speed~~ (done, see below)
|
||||
4. ~~Robotic arms~~ (done, see below)
|
||||
5. Rounded streets: curved road segments
|
||||
6. Sidewalks along streets
|
||||
7. Roundabouts
|
||||
5. ~~Rounded streets: curved road segments~~ (done, see below)
|
||||
6. ~~Sidewalks along streets~~ (done, see below)
|
||||
7. ~~Roundabouts~~ (done, see below)
|
||||
8. Waypoint animation: a person or car moving along a path of waypoints
|
||||
9. ~~Build your own house~~ (done, see above)
|
||||
|
||||
@@ -108,12 +109,23 @@ another belt or on a pallet, one move per item (or a set cycle), waiting while t
|
||||
stands; the belt after it runs in step. Drawn as a 16-pose flipbook (inverse kinematics, links as
|
||||
the new native `beam` primitive) shown by a stepped CSS animation.
|
||||
|
||||
Streets (stdlib/streets.rhai): roads take sidewalks (none, both, left, right; 12 cm high paving with
|
||||
kerb faces); Road curve (radius, angle, left / right) carries a street round a bend, its kerbs and
|
||||
sidewalks drawn as true arcs so the joints are seamless; a road ending on another road's centre
|
||||
line opens that road's kerb and sidewalk (T junction); two roads ending at one corner close it.
|
||||
Roundabout: ring radius and width, one or two lanes, up to four arms with flared kerbs, splitter
|
||||
islands and give-way lines on the entry side (traffic on the left or right), central island with
|
||||
apron (tree, grass or paved). A road run drawn corner by corner gets a curve in each corner (prefab
|
||||
meta `corner`). Tooltips list the streets each one meets. New `polyline` primitive (open paths, so
|
||||
dashes run on round curves). `examples/streets`, Streets demo in the web Studio.
|
||||
|
||||
## Phase 2: richer editing
|
||||
|
||||
- [x] Interior prefabs (see Build your own house); a building `rooms` prop is still open
|
||||
- [ ] Path objects in the Studio: click points for areas, roads (polyline with width), fences, walls,
|
||||
pipe runs; vertex handles
|
||||
- [ ] Multi-select (box select, Shift-click), group move, align/distribute
|
||||
- [x] Multi-select (box select, Ctrl+click, Shift range), group move, turn, copy, delete, edit
|
||||
- [ ] Align / distribute the selection
|
||||
- [ ] Copy/paste between projects; prefab thumbnails in the palette (rendered icons)
|
||||
- [ ] Measure tool and grid overlay; numeric resize handles on the selection
|
||||
- [ ] Studio editor for `theme.toml` (colour pickers) and for project parameters
|
||||
|
||||
Reference in new issue
Block a user