spore_pod (the Candida foe) now renders a real 3D mesh instead of an icosahedron:
flux_local "budding yeast colony clump, fused knobbly spheres" -> bg_remove -> trellis_mac
-> Blender decimate 197k->3019 tris + strip materials (entities are flat emissive, only the
silhouette matters) -> web/assets/models/spore_pod.glb (213KB, texture-free).
First real GLB through the loader wired in 0ac11ae: verified in-engine — loaded, merged,
normalized to a unit bounding sphere (r=1.0000), 6056 verts, scaled to the archetype radius,
rendering emissive amber. assets.get('models','spore_pod').geometry lights up the hook.
flora stays a procedural CapsuleGeometry on purpose: its concept IS a smooth rod, so a
5.7k-tri capsule GLB would be pure download for zero visual gain. The pipeline is for shapes
a primitive can't fake — which is exactly the yeast cluster.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
148 lines
3.0 KiB
JSON
148 lines
3.0 KiB
JSON
{
|
|
"audio": {
|
|
"beds": {
|
|
"esophagus": {
|
|
"gain": 0.5,
|
|
"loop": true,
|
|
"m4a": "audio/bed-esophagus.m4a",
|
|
"ogg": "audio/bed-esophagus.ogg",
|
|
"seconds": 24.0
|
|
}
|
|
},
|
|
"sfx": {
|
|
"boost": {
|
|
"gain": 0.6,
|
|
"loop": false,
|
|
"m4a": "audio/sfx-boost.m4a",
|
|
"ogg": "audio/sfx-boost.ogg",
|
|
"seconds": 0.85
|
|
},
|
|
"hit_squelch": {
|
|
"gain": 0.7,
|
|
"loop": false,
|
|
"m4a": "audio/sfx-hit-squelch.m4a",
|
|
"ogg": "audio/sfx-hit-squelch.ogg",
|
|
"seconds": 0.34
|
|
},
|
|
"pellet": {
|
|
"gain": 0.5,
|
|
"loop": false,
|
|
"m4a": "audio/sfx-pellet.m4a",
|
|
"ogg": "audio/sfx-pellet.ogg",
|
|
"seconds": 0.2
|
|
},
|
|
"pickup": {
|
|
"gain": 0.5,
|
|
"loop": false,
|
|
"m4a": "audio/sfx-pickup.m4a",
|
|
"ogg": "audio/sfx-pickup.ogg",
|
|
"seconds": 0.5
|
|
}
|
|
}
|
|
},
|
|
"matcaps": {
|
|
"mol_chrome": {
|
|
"url": "gen/matcap_mol_chrome.webp"
|
|
},
|
|
"mol_glass": {
|
|
"url": "gen/matcap_mol_glass.webp"
|
|
},
|
|
"mol_matte": {
|
|
"url": "gen/matcap_mol_matte.webp"
|
|
},
|
|
"mol_molten": {
|
|
"url": "gen/matcap_mol_molten.webp"
|
|
},
|
|
"mol_pearl": {
|
|
"url": "gen/matcap_mol_pearl.webp"
|
|
},
|
|
"tissue_wet": {
|
|
"url": "gen/matcap_tissue_wet.webp"
|
|
}
|
|
},
|
|
"models": {
|
|
"spore_pod": { "url": "models/spore_pod.glb", "tris": 3019 }
|
|
},
|
|
"textures": {
|
|
"wall_colon_a": {
|
|
"normal": "gen/wall_colon_a_n.webp",
|
|
"tile": [
|
|
3,
|
|
20
|
|
],
|
|
"url": "gen/wall_colon_a.webp"
|
|
},
|
|
"wall_colon_b": {
|
|
"normal": "gen/wall_colon_b_n.webp",
|
|
"tile": [
|
|
4,
|
|
15
|
|
],
|
|
"url": "gen/wall_colon_b.webp"
|
|
},
|
|
"wall_esophagus_a": {
|
|
"normal": "gen/wall_esophagus_a_n.webp",
|
|
"tile": [
|
|
4,
|
|
16
|
|
],
|
|
"url": "gen/wall_esophagus_a.webp"
|
|
},
|
|
"wall_esophagus_b": {
|
|
"normal": "gen/wall_esophagus_b_n.webp",
|
|
"tile": [
|
|
3,
|
|
12
|
|
],
|
|
"url": "gen/wall_esophagus_b.webp"
|
|
},
|
|
"wall_oral_a": {
|
|
"normal": "gen/wall_oral_a_n.webp",
|
|
"tile": [
|
|
5,
|
|
12
|
|
],
|
|
"url": "gen/wall_oral_a.webp"
|
|
},
|
|
"wall_oral_b": {
|
|
"normal": "gen/wall_oral_b_n.webp",
|
|
"tile": [
|
|
3,
|
|
20
|
|
],
|
|
"url": "gen/wall_oral_b.webp"
|
|
},
|
|
"wall_smallint_a": {
|
|
"normal": "gen/wall_smallint_a_n.webp",
|
|
"tile": [
|
|
5,
|
|
14
|
|
],
|
|
"url": "gen/wall_smallint_a.webp"
|
|
},
|
|
"wall_smallint_b": {
|
|
"normal": "gen/wall_smallint_b_n.webp",
|
|
"tile": [
|
|
6,
|
|
10
|
|
],
|
|
"url": "gen/wall_smallint_b.webp"
|
|
},
|
|
"wall_stomach_a": {
|
|
"normal": "gen/wall_stomach_a_n.webp",
|
|
"tile": [
|
|
4,
|
|
18
|
|
],
|
|
"url": "gen/wall_stomach_a.webp"
|
|
},
|
|
"wall_stomach_b": {
|
|
"normal": "gen/wall_stomach_b_n.webp",
|
|
"tile": [
|
|
3,
|
|
22
|
|
],
|
|
"url": "gen/wall_stomach_b.webp"
|
|
}
|
|
}
|
|
} |