Diagonals: streets, walls, fences, hedges and house walls at any angle
Deploy web Studio / deploy (push) Successful in 1m5s
Deploy web Studio / deploy (push) Successful in 1m5s
Object frames turn by any angle (quarter turns stay exact, so scenes along the axes render byte for byte as before); a box in a turned frame is a prism with its own corners. Rotation is kept as given (normalised to 0..360), no longer snapped to quarter turns. Depth sort: sprites whose plan outline is not their box carry their convex outline; when boxes overlap, an outline edge that separates two sprites orders them. A long diagonal wall sorts right against both sides. Joints (line_meet, end_cut, cut_box in util.rhai): where a piece off the axes is involved, corners are mitred and T-junctions slanted; fences put a corner post or pillar in its own sprite and mitre stone bases; Y joints let the lowest id run through. Streets: every end part is a cut e + k*w, so side streets come in at any angle (slanted sidewalk gaps), two streets meet in a mitre with seam patches; fixes a curve's outer sidewalk that was skipped when its kerb and back lines had different point counts. Studio: runs and drags keep to x/y or snap to 45 degree diagonals, Ctrl gives any angle; a road run turning 45 degrees gets a 45 degree curve; Rotation is a number box. Streets demo: a diagonal lane with a hedge. MCP guidance, SCRIPTING/README/ROADMAP. Tests: Rust 76, Studio and web checks green.
This commit is contained in:
1 parent
c91d63663b
commit
96d472625f
18 files changed
+1051
-178
No files matched your search
+14
-1
@@ -68,7 +68,8 @@ Each phase ends with tests, a Studio/viewer check in Edge, commit and push.
|
||||
(hover preview) and move, turn, copy and delete with them, new parts land on the storey
|
||||
shown, collapsible palette that scrolls on its own
|
||||
- [x] `examples/house` (a furnished house built from parts), House demo in the web Studio
|
||||
- [ ] Openings across two walls; diagonal walls; floor openings for stairs
|
||||
- [x] Diagonal walls (any angle, mitred corners, windows and doors on them)
|
||||
- [ ] Openings across two walls; floor openings for stairs
|
||||
|
||||
## Backlog (2026-10)
|
||||
|
||||
@@ -81,6 +82,8 @@ Each phase ends with tests, a Studio/viewer check in Edge, commit and push.
|
||||
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)
|
||||
10. ~~Diagonal streets, walls, fences, hedges~~ (done, see below)
|
||||
11. Wildlife and nature: deer, bushes, beehives and more
|
||||
|
||||
Done since: the middle mouse button only moves the camera; fences and site walls join like house
|
||||
walls (`line_joint`); fence designs (mesh, wood, bars, half stone, cobble, brick with pillars);
|
||||
@@ -119,6 +122,16 @@ apron (tree, grass or paved). A road run drawn corner by corner gets a curve in
|
||||
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.
|
||||
|
||||
Diagonals: object frames turn by any angle (quarter turns stay exact, so scenes along the axes
|
||||
draw as before, byte for byte). Roads, walls, fences, hedges and house walls run at any angle;
|
||||
where a piece off the axes meets another, corners are mitred and T-junctions slanted
|
||||
(`line_meet`, `cut_box`), fence corners get a post or pillar of their own, side streets come in at
|
||||
a slant and open the sidewalk along them, two streets meet in a mitre. The depth sort orders
|
||||
sprites whose plan outline is not their box by outline edges, so a long diagonal wall sorts right
|
||||
against everything on either side. Studio: runs and drags keep to x or y or go diagonal at 45°
|
||||
(Ctrl: any angle), a road run turning 45° gets a 45° curve, Rotation takes any angle. The
|
||||
streets demo has a diagonal lane.
|
||||
|
||||
## Phase 2: richer editing
|
||||
|
||||
- [x] Interior prefabs (see Build your own house); a building `rooms` prop is still open
|
||||
|
||||
Reference in new issue
Block a user