Polish the bollard base and newspaper-box door (recessed slot + seam)
Full build / Import + headless tests (push) Successful in 41s
Full build / Full desktop build + optional release (push) Skipped

This commit is contained in:
zwitschi committed 2026-11-03 21:59:06 +01:00
1 parent cdfd57fb65
commit b53e8a67f9
6 files changed
+20 -13

No files matched your search

+8 -7
View File
@@ -96,14 +96,14 @@
"bollard": {
"bounds_godot": {
"max": [
0.105,
0.125,
0.975,
0.105
0.125
],
"min": [
-0.105,
-0.125,
0,
-0.105
-0.125
]
},
"category": "props",
@@ -114,7 +114,7 @@
"path": "assets/models/blender/props/bollard.glb",
"replaces": "generated/bollard.glb",
"triangles": 138,
"vertices": 225
"vertices": 221
},
"camera": {
"attach": "hand",
@@ -439,14 +439,15 @@
"category": "props",
"materials": [
"news_blue",
"dark_metal",
"glass",
"paper",
"steel"
],
"path": "assets/models/blender/props/newspaper_box.glb",
"replaces": "generated/newspaper_box.glb",
"triangles": 244,
"vertices": 528
"triangles": 300,
"vertices": 648
},
"npc_casual": {
"bounds_godot": {
Binary file not shown.
Binary file not shown.
+2 -2
View File
@@ -139,11 +139,11 @@ the first candidates for a `vegetation-artist`/lookdev pass.
| Prop | Tris | Verdict |
| --- | --- | --- |
| `bollard` | 138 | — |
| `bollard` | 138 | accept (2026-11-03 flared base collar) |
| `bench` | 560 | — |
| `trash_bin` | 228 | — |
| `planter_box` | 1,324 | — |
| `newspaper_box` | 244 | — |
| `newspaper_box` | 300 | accept (2026-11-03 recessed slot + door seam) |
| `fire_hydrant` | 610 | accept (2026-11-03 rebuild: bolted flange, bonnet cap nut, larger side + front outlets) |
| `street_lamp` | 428 | — |
| `street_tree` | 2,592 | P1 candidate (flat-shaded clumps) |
Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 52 KiB

+10 -4
View File
@@ -1254,8 +1254,8 @@ def _shrub(name, center, radii, mat, lumps=7, seed=1, lump=0.42):
def build_prop(name):
M = lambda n: material(n) # noqa: E731
p = []
if name == "bollard": # matches generated: r 0.09, h 0.97
p.append(lathe("Bollard", [(0.105, 0.0), (0.105, 0.04), (0.085, 0.07), (0.08, 0.80),
if name == "bollard": # matches generated: r 0.09, h 0.97; flared base collar
p.append(lathe("Bollard", [(0.125, 0.0), (0.125, 0.05), (0.095, 0.09), (0.08, 0.80),
(0.09, 0.84), (0.09, 0.90), (0.06, 0.96), (0.0, 0.975)],
M("black_metal"), seg=8, sharp=25))
p.append(lathe("Band", [(0.0815, 0.74), (0.0815, 0.79)], M("reflective"), seg=8,
@@ -1299,8 +1299,14 @@ def build_prop(name):
p.append(box("Body", (0.42, 0.34, 0.70), (0, 0, 0.45), M("news_blue"), bevel=0.02))
p.append(box("Top", (0.44, 0.38, 0.08), (0, 0.0, 0.84), M("news_blue"),
rot=(math.radians(-12), 0, 0), bevel=0.015))
p.append(box("Window", (0.32, 0.01, 0.22), (0, -0.172, 0.62), M("glass")))
p.append(box("Paper", (0.26, 0.004, 0.14), (0, -0.168, 0.60), M("paper")))
# Recessed door frame: a dark inset so the glass reads as a window cut
# into the door rather than a flat decal on the surface.
p.append(box("DoorFrame", (0.36, 0.02, 0.26), (0, -0.152, 0.60), M("dark_metal"),
bevel=0.004))
p.append(box("Window", (0.30, 0.005, 0.20), (0, -0.157, 0.60), M("glass")))
p.append(box("Paper", (0.24, 0.004, 0.14), (0, -0.154, 0.60), M("paper")))
# Door seam above the handle so the door reads as a hinged panel.
p.append(box("DoorSeam", (0.36, 0.003, 0.002), (0, -0.16, 0.72), M("dark_metal")))
p.append(box("Handle", (0.14, 0.03, 0.02), (0, -0.18, 0.47), M("steel"), bevel=0.006))
p.append(box("Coin", (0.06, 0.02, 0.08), (0.14, -0.175, 0.76), M("steel"), bevel=0.005))
elif name == "fire_hydrant": # r 0.19 body, h ~0.76 + flange, bonnet and outlets