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": { "bollard": {
"bounds_godot": { "bounds_godot": {
"max": [ "max": [
0.105, 0.125,
0.975, 0.975,
0.105 0.125
], ],
"min": [ "min": [
-0.105, -0.125,
0, 0,
-0.105 -0.125
] ]
}, },
"category": "props", "category": "props",
@@ -114,7 +114,7 @@
"path": "assets/models/blender/props/bollard.glb", "path": "assets/models/blender/props/bollard.glb",
"replaces": "generated/bollard.glb", "replaces": "generated/bollard.glb",
"triangles": 138, "triangles": 138,
"vertices": 225 "vertices": 221
}, },
"camera": { "camera": {
"attach": "hand", "attach": "hand",
@@ -439,14 +439,15 @@
"category": "props", "category": "props",
"materials": [ "materials": [
"news_blue", "news_blue",
"dark_metal",
"glass", "glass",
"paper", "paper",
"steel" "steel"
], ],
"path": "assets/models/blender/props/newspaper_box.glb", "path": "assets/models/blender/props/newspaper_box.glb",
"replaces": "generated/newspaper_box.glb", "replaces": "generated/newspaper_box.glb",
"triangles": 244, "triangles": 300,
"vertices": 528 "vertices": 648
}, },
"npc_casual": { "npc_casual": {
"bounds_godot": { "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 | | Prop | Tris | Verdict |
| --- | --- | --- | | --- | --- | --- |
| `bollard` | 138 | — | | `bollard` | 138 | accept (2026-11-03 flared base collar) |
| `bench` | 560 | — | | `bench` | 560 | — |
| `trash_bin` | 228 | — | | `trash_bin` | 228 | — |
| `planter_box` | 1,324 | — | | `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) | | `fire_hydrant` | 610 | accept (2026-11-03 rebuild: bolted flange, bonnet cap nut, larger side + front outlets) |
| `street_lamp` | 428 | — | | `street_lamp` | 428 | — |
| `street_tree` | 2,592 | P1 candidate (flat-shaded clumps) | | `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): def build_prop(name):
M = lambda n: material(n) # noqa: E731 M = lambda n: material(n) # noqa: E731
p = [] p = []
if name == "bollard": # matches generated: r 0.09, h 0.97 if name == "bollard": # matches generated: r 0.09, h 0.97; flared base collar
p.append(lathe("Bollard", [(0.105, 0.0), (0.105, 0.04), (0.085, 0.07), (0.08, 0.80), 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)], (0.09, 0.84), (0.09, 0.90), (0.06, 0.96), (0.0, 0.975)],
M("black_metal"), seg=8, sharp=25)) M("black_metal"), seg=8, sharp=25))
p.append(lathe("Band", [(0.0815, 0.74), (0.0815, 0.79)], M("reflective"), seg=8, 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("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"), 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)) 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"))) # Recessed door frame: a dark inset so the glass reads as a window cut
p.append(box("Paper", (0.26, 0.004, 0.14), (0, -0.168, 0.60), M("paper"))) # 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("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)) 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 elif name == "fire_hydrant": # r 0.19 body, h ~0.76 + flange, bonnet and outlets