feat(paint-slots): round-2 feedback — fence 2 slots + UVs, roof defaults, stair body
- fence: split into two paint slots — panel (posts/base/infill, default charcoal) and rail (cap, default wood-finewood27) — as separate meshes with userData.slotId. Fix applyFenceUVs to continuous world-space 1 UV unit = 1 m (drop the per-part min origin that broke tiling across parts). New generateFenceSlotGeometries. - roof: real catalog defaults for the segment surfaces via getRoofMaterialArray (the actual default path): wall/trim concrete-plate (matches walls), deck + soffit soft-white, shingle terracotta; textures-off role escape hatch kept. Align nodes getRoofMaterials no-parent fallback to match. - stair: body slot default -> preset-lightgrey. - (biome formatting normalization of the round-1 merged renderer files rides along.) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
ad227a04a2
commit
e92ee05702
@@ -2,8 +2,8 @@ import {
|
||||
type ColorPreset,
|
||||
createDefaultMaterial,
|
||||
createSurfaceRoleMaterial,
|
||||
resolveSlotDefaultMaterial,
|
||||
type RenderShading,
|
||||
resolveSlotDefaultMaterial,
|
||||
} from '@pascal-app/viewer'
|
||||
import * as THREE from 'three'
|
||||
|
||||
@@ -22,10 +22,12 @@ export function getRoofMaterials(
|
||||
|
||||
const materials = textures
|
||||
? [
|
||||
createDefaultMaterial('white', 1, shading, THREE.DoubleSide), // 0: Wall/Trim
|
||||
createDefaultMaterial('#e5e5e5', 1, shading, THREE.FrontSide), // 1: Deck
|
||||
createDefaultMaterial('white', 1, shading, THREE.DoubleSide), // 2: Interior
|
||||
resolveSlotDefaultMaterial('library:roof-weatheredshingles', shading), // 3: Shingle
|
||||
// Mirrors getRoofMaterialArray's catalog defaults (wall/trim concrete,
|
||||
// soft-white deck + soffit, terracotta shingle) for the no-parent path.
|
||||
resolveSlotDefaultMaterial('library:concrete-plate', shading), // 0: Wall/Trim
|
||||
resolveSlotDefaultMaterial('library:preset-softwhite', shading), // 1: Deck
|
||||
resolveSlotDefaultMaterial('library:preset-softwhite', shading), // 2: Interior
|
||||
resolveSlotDefaultMaterial('library:roof-terracottatiles', shading), // 3: Shingle
|
||||
]
|
||||
: [
|
||||
createSurfaceRoleMaterial('roof', colorPreset),
|
||||
|
||||
Reference in New Issue
Block a user