put goals in the goals, and a ball to throw at them #124

Merged
sermuns merged 4 commits from feat/45-44-50-mark-the-parking-spaces into main 2026-10-21 10:47:17 +00:00
Owner
  • (slop) put goals in the goals, and a ball to throw at them
  • (slop) sign the streets of the campus
  • (slop) mark out the parking spaces of the campus

closes #45 closes #44 closes #50

What the worker did

All three issues were already implemented in the worktree's existing commits; I verified the implementation and the canonical check.

Per issue:

  • #45 Mark the parking spaces — commit 810f232 (slop) mark out the parking spaces of the campus. OSM lots and MazeMap-named places are merged in liuverse-fetch-map/src/parking.rs, bay lines come from liuverse-world/src/parking.rs using capacity (or shape-derived count), and disabled/motorcycle/charge/taxi bays take distinct AREA_PARKING_* kinds. Scene paints the lines per place. just check passes; bake produced an identical valla.bin (no re-bake change).

  • #44 Put goals in the goals — commit 486edbb (slop) put goals in the goals, and a ball to throw at them. man_made=soccer_goal ways become PROP_SOCCER_GOAL props with width from the mapped goal line, drawn as two posts + crossbar + net in liuverse-scene/src/props.rs; B throws a ball along the look direction under gravity, and liuverse-world/src/throw.rs implements the scoring rule (crosses the goal line between posts and under the bar). Count shows in the HUD. just check passes.

  • #50 Bake street name signs — commit 35afb76 (slop) sign the streets of the campus. Named roads get a roadside SIGN_STREET sign in street_signs_of, and destination_sign relations place SIGN_DESTINATION signs at their named junction in destination_signs_of; both render via sign_tris. just check passes; bake reports 204 street signs.

What I deliberately left out: integration with newer main commits (pitch colouring, relation-area sports) is out of this batch's scope and would widen it; the coordinator's merge process handles those overlaps. No new code or commits were added, since the worktree was already complete and just check is green.

How to test

See the issues for the acceptance criteria. The branch is feat/45-44-50-mark-the-parking-spaces.

A 👍 reaction on this pull request flags it for merge.

- (slop) put goals in the goals, and a ball to throw at them - (slop) sign the streets of the campus - (slop) mark out the parking spaces of the campus closes #45 closes #44 closes #50 ## What the worker did All three issues were already implemented in the worktree's existing commits; I verified the implementation and the canonical check. Per issue: - **#45 Mark the parking spaces** — commit `810f232` `(slop) mark out the parking spaces of the campus`. OSM lots and MazeMap-named places are merged in `liuverse-fetch-map/src/parking.rs`, bay lines come from `liuverse-world/src/parking.rs` using `capacity` (or shape-derived count), and disabled/motorcycle/charge/taxi bays take distinct `AREA_PARKING_*` kinds. Scene paints the lines per place. `just check` passes; bake produced an identical `valla.bin` (no re-bake change). - **#44 Put goals in the goals** — commit `486edbb` `(slop) put goals in the goals, and a ball to throw at them`. `man_made=soccer_goal` ways become `PROP_SOCCER_GOAL` props with width from the mapped goal line, drawn as two posts + crossbar + net in `liuverse-scene/src/props.rs`; `B` throws a ball along the look direction under gravity, and `liuverse-world/src/throw.rs` implements the scoring rule (crosses the goal line between posts and under the bar). Count shows in the HUD. `just check` passes. - **#50 Bake street name signs** — commit `35afb76` `(slop) sign the streets of the campus`. Named roads get a roadside `SIGN_STREET` sign in `street_signs_of`, and `destination_sign` relations place `SIGN_DESTINATION` signs at their named junction in `destination_signs_of`; both render via `sign_tris`. `just check` passes; bake reports 204 street signs. What I deliberately left out: integration with newer `main` commits (pitch colouring, relation-area sports) is out of this batch's scope and would widen it; the coordinator's merge process handles those overlaps. No new code or commits were added, since the worktree was already complete and `just check` is green. ## How to test See the issues for the acceptance criteria. The branch is `feat/45-44-50-mark-the-parking-spaces`. A 👍 reaction on this pull request flags it for merge.
The parking lots of the campus were grey patches of asphalt with nothing
on them. They are now places with bays painted in them: the count comes
from the source's capacity when it gives one and from the shape of the lot
when it does not.

OSM has the lots and MazeMap has the same places by name, so the two are
merged: a place both of them map is one place, and the name is what says a
place is for disabled people, for motorcycles or for charging.

closes #45
A road was a grey ribbon with no way to tell which one you were crossing.
Every named road now carries a street name sign at its roadside, facing
back at the road, and the name floats above it when you are near and
labels it on the map when you are zoomed in.

The destination sign relation is placed too: it names the junction it
applies to, so the sign stands at that junction rather than floating.

closes #50
The two mapped goals on the campus pitches were nothing. They are now
goals: two posts, a crossbar and a net, as wide as the goal line they were
mapped with, opening at the pitch they stand on.

A goal is the one piece of campus furniture with a rule attached to it, so
the rule is here too: B throws a ball along the way you look, it flies
under gravity, and it scores when it crosses a goal's line between the
posts and under the bar. The arithmetic lives in the world crate, with
the rest of the engine-free simulation.

The ball and the count are the local player's: they ride no wire.

closes #44
sermuns force-pushed feat/45-44-50-mark-the-parking-spaces from 486edbb475 to 657aff235f 2026-10-21 10:47:10 +00:00 Compare
Sign in to join this conversation.
No description provided.