Repository navigation
Commit 45e45e0
feat(showcase): add fern-mossy-rock (nature)
The ninth piece in the nature category: a shaded woodland corner, 2.29 x
2.22 m and 0.86 m high, on a soil bank that rises 190 mm per metre toward
the back. A gritstone boulder (1.2 x 1.0 m in plan, 0.5 m out of the bank)
is an ellipsoid cut by ten cleavage planes through weathering bevels, with
seven chipped facets, and split across its top by a crack: a V 124 mm wide
and 220 mm deep along a plane through the field's origin, closing on the
low flanks. Its cube-sphere lattice is turned so one family of lines runs
along the crack and drawn in toward it, so the narrow V and its lip are
resolved. It is bedded sector by sector until each of eight sectors' most
buried flank vertex is 40 mm under the soil, its underside cut flat 40 mm
over Z = 0. Four moss cushions are conforming lens shells snapped to the
stone as built: the main one over the larger block's crown, draped down its
shaded front, hummocks up to 58 mm deep along the stone's normal, a
scalloped rim tucked 5 mm into the stone, stopping short of the soil and,
on a ragged line, of the crack's lip. At the downhill foot a male fern's
scaly rootstock, bedded in the soil with seven old stipe bases, carries a
shuttlecock crown of eleven bipinnate fronds (0.96-1.14 m): one tapering
tube each, scaly stipe then green rachis, with 15 alternate pinnae a side,
longest a third of the way up and tapering to the tip, each a closed thin
shell cut almost to its costa into up to five alternate pinnules a side.
Three fiddleheads unroll as logarithmic spirals (1.65 turns). A four-frond
fern grows from a rootstock wedged down the crack. 56 beech leaves drift
against the boulder among 16 pebbles, a twig and eight clumps of wood
sorrel. Ten materials; fronds and sorrel carry a translucent lobe.
Budgets (measured, 5.2.1): 77176 tris (76800-77600), LOD 0.5000/0.2200,
10 materials with face floors, UVs 0..1 no overlap, AABB 2.2896x2.2209x
0.8601 (+-0.01), collider 128 (<=200), hygiene 0 incl. 0 coplanar
cross-shell pairs, zmin 0; 25 stalks >=0.0085 m inside their rootstock
(>=0.004), 434 pinnae >=0.0013 m inside their rachis (>=0.0004), rootstock
sealed 8/8 (worst 0.0322, >=0.010); moss top 0.0111-0.0568 m over the stone
(0.006-0.080), rim and underside >=0.0040 inside it; boulder sealed 8/8
(worst 0.0400, >=0.020); moss facing 0.8982 (>=0.85); crack fern bite
0.0192, in the cleft, walls 0.0100 (<=0.060); 15 fronds alternate, gaps
0.442-0.575 (0.25-0.75), peak 0.223-0.468 (0.10-0.60), tip <=0.326
(<=0.40), base <=0.647 (<=0.88); fiddleheads 1.697-1.722 turns (>=1.20),
curvature ratio >=2.901 (>=1.80); 102 cover pieces bedded, 186 shells
joined. Two default runs identical; 4.5.11 and 5.1.2 print the same
measurements (export differs by 8 bytes).
Heavier than broadleaf-oak (77176 vs 68350 tris): 65% is pinnae, and the
point of the piece is geometric pinnule detail at hero size.
Fixes found on the way: 216 coplanar cross-shell pairs on the first build,
211 within one frond - pinnae along a rachis are translated copies in one
blade plane. Pinnae are now flat (costa 0.12% of the pinna's length proud,
floored so tiny tip pinnae do not weld top to bottom: that gave 6 doubles),
twisted in a +-0.20 rad three-step cycle, and the plan turns each in 0.04
rad steps until its plane is 8 deg off every pinna whose faces can come
within the coplanar range; all 434 clear. Sorrel leaflets sharing a petiole
point are turned apart the same way (14 deg); beech leaves are rolled
0.20-0.32 rad so none lies in a soil face's plane. The boulder first sank
0.28 m through the disc's base (zmin -0.277); its underside is now cut flat.
The moss seat audit caught spokes aimed at the crack floored at a quarter
length, putting top vertices down the V 27 mm inside the far block; every
ring on a spoke now clears the lip. The moss and then the crack fern tied
for the top of the envelope, so --float-moss and --perch-rock exited 8; the
crack fern now stands 81 mm over the moss. --perch-rock first passed: the
boulder was bedded on a coarser lattice than the audit reads; it is now
bedded on the shipped lattice. --stray-vert first exited 8 (vertex above
the box). A first --sunny-moss turned every cushion rigidly and overlapped
two (exit 15); it now moves the main cushion alone.
Falsifiers (flag -> measured -> exit), 5.2.1 and 4.5.11 identical; tris
77176 and envelope unchanged in all:
--skip-decimate LOD1 1.0000 9
--stray-vert loose_v 1 15
--lift-z zmin 0.05000 16
--float-fronds shallowest stalk base -0.0484 m 17
--lift-crown rootstock worst sector -0.0178 m 17
--float-moss top to 0.0967 m, rim -0.0360 m 18
--perch-rock worst sector -0.0166 m, 7/8 20
--sunny-moss facing 0.4250 21
--perch-crack-fern centre not in cleft, walls 0.1557 m 22
--flat-taper tip ratio 0.996 23
--opposite-pinnae gaps 0.0026-0.9976, not alternate 23
--open-crozier 0.932 turns, curvature ratio 1.128 24
--float-cover -0.046 m, 186 shells loose 25
tests/check_falsifier_targets.py --run --only fern-mossy-rock passes.
Blender: E:\Blender-Developer-Tools\.scratch\5.2\blender-5.2.1-windows-x64\blender.exe,
reports "Blender 5.2.1 LTS"; default and every falsifier also run on
.scratch\blender-4.5.11-windows-x64 ("Blender 4.5.11 LTS"); default on
.scratch\blender-5.1.2-windows-x64 ("Blender 5.1.2").
Render: render_hero.py wrote hero and preview; framing fill x 0.766, y
0.728, margins left 0.131 right 0.103 bottom 0.094 top 0.178; asset-quality
floors pass (10 materials, edge90 0.007). Default stage, hero yaw -50 deg
about Z so the fern stands in front of the mossy, cracked face.
Asset sheet (docs/gallery/asset-sheets/fern-mossy-rock.webp): not the
least-designed object; the hydrant is plainer. Isolated, it reads as a
mossy cleft boulder with a lush fern clump at its foot. Weak point: the
piece is wide and low (frond tips set the box), so it sits small in its
panel and pinnule detail is lost at sheet scale; the disc was pulled in
toward the subject to limit that.
Contact sheet (docs/gallery/contact-sheets/fern-mossy-rock-contact-sheet.webp):
luma 0.2401 against 0.2369-0.2428 (in band, after relighting from 0.3509,
0.2487 and 0.2431); stage 0.2425 against 0.1919-0.2517; wedge warmth
+0.0546 (calibration -0.144..+0.105); saturation 0.2116 against
0.1525-0.2367; subject fill 0.766 horizontal. Thumbnail legible: a fern
clump in front of a moss-covered boulder reads at a glance.
Also updated: README, CLAUDE.md, AGENTS.md counts (65 -> 66), ROADMAP
Nature list (fern & mossy rock shipped), asset_sheet.py SELECT row,
catalog.json, plugin.json and the regenerated gallery. build_gallery,
check_site_links (121 pages, 0 failures), check_falsifier_targets (static
and --run), check_exit_code_readme, check_engine_id, check_gallery_images
and check_import_export_rules pass.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>1 parent 832a317 commit 45e45e0
81 files changed
Lines changed: 10297 additions & 141 deletions
File tree
- .cursor-plugin
- docs/gallery
- anvil
- apothecary-shelf
- archery-target
- asset-sheets
- assets
- basketball-hoop
- book-trolley
- bookshelf
- boulder-cluster
- bowling-pins
- brazier
- broadleaf-oak
- butter-churn
- cactus-garden
- campfire
- cargo-loader
- cart
- chopping-block
- contact-sheets
- crate-stack
- desk-lamp
- espresso-machine
- fallen-log
- farm-tractor
- fence-kit
- fern-mossy-rock
- floor-fan
- go-kart
- grain-sacks
- grindstone
- hand-pump
- hay-bale
- hitching-post
- hover-bike
- iron-cauldron
- market-stall
- motor-scooter
- mushroom-stump
- office-chair
- palm-tree
- park-bench
- pine-tree
- planet-rover
- pond-edge
- quad-drone
- road-bicycle
- rope-bridge
- shipping-crate
- signpost
- skate-ramp
- soccer-goal
- stand-mixer
- stone-archway
- stone-well
- street-lantern
- tavern-stool
- terrain-scatter
- traffic-cones
- treasure-chest
- wall-torch
- watchtower
- water-trough
- weight-rack
- wheelbarrow
- wingback-armchair
- wooden-barrel
- wooden-bucket
- wooden-ladder
- wooden-yoke
- scripts
- showcase
- fern-mossy-rock
- tests/smoke
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
203 | 203 | | |
204 | 204 | | |
205 | 205 | | |
206 | | - | |
| 206 | + | |
| 207 | + | |
207 | 208 | | |
208 | 209 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
24 | | - | |
| 24 | + | |
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | | - | |
| 25 | + | |
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
| 21 | + | |
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
40 | | - | |
| 40 | + | |
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
| |||
106 | 106 | | |
107 | 107 | | |
108 | 108 | | |
109 | | - | |
| 109 | + | |
110 | 110 | | |
111 | 111 | | |
112 | 112 | | |
| |||
174 | 174 | | |
175 | 175 | | |
176 | 176 | | |
| 177 | + | |
177 | 178 | | |
178 | 179 | | |
179 | 180 | | |
| |||
302 | 303 | | |
303 | 304 | | |
304 | 305 | | |
| 306 | + | |
| 307 | + | |
305 | 308 | | |
306 | 309 | | |
307 | 310 | | |
| |||
0 commit comments