feat(paint-slots): concrete-plate finish + try defaults (wall=concrete, slab=wood plank 48, ceiling=soft white)
- material-library: add 'concrete-plate' KTX2 finish (512, fabric/leather-style pipeline) + editor-app texture mirror. - viewer: shared resolveSlotDefaultMaterial(colour|library ref) so a kind's slot default can be a catalog finish, not just a flat colour. - wall default -> library:concrete-plate (interior + exterior). - slab default -> library:wood-woodplank48 (slab geometry resolves it via the shared helper). - ceiling default -> soft white #f2eee6 (ceiling renders flat-tinted). 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
967a905e3b
commit
737c4e9d1d
@@ -3860,6 +3860,44 @@ export const MATERIAL_CATALOG: MaterialCatalogItem[] = [
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
id: 'concrete-plate',
|
||||
label: 'Concrete Plate',
|
||||
category: 'concrete',
|
||||
surfaces: ['wall', 'floor'],
|
||||
description: 'Smooth cast concrete plate',
|
||||
previewThumbnailUrl: '/material/concrete/concrete_plate/concrete_plate_thumb.webp',
|
||||
preset: {
|
||||
maps: {
|
||||
albedoMap: '/material/concrete/concrete_plate/concrete_plate_basecolor_512.ktx2',
|
||||
normalMap: '/material/concrete/concrete_plate/concrete_plate_normal_512.ktx2',
|
||||
roughnessMap: '/material/concrete/concrete_plate/concrete_plate_roughness_512.ktx2',
|
||||
aoMap: '/material/concrete/concrete_plate/concrete_plate_ao_512.ktx2',
|
||||
},
|
||||
mapProperties: {
|
||||
color: '#ffffff',
|
||||
roughness: 0.8,
|
||||
metalness: 0,
|
||||
repeatX: 0.5,
|
||||
repeatY: 0.5,
|
||||
rotation: 0,
|
||||
wrapS: 'Repeat',
|
||||
wrapT: 'Repeat',
|
||||
normalScaleX: 1,
|
||||
normalScaleY: 1,
|
||||
emissiveIntensity: 1,
|
||||
displacementScale: 0,
|
||||
transparent: false,
|
||||
flipY: false,
|
||||
bumpScale: 1,
|
||||
emissiveColor: '#000000',
|
||||
aoMapIntensity: 1,
|
||||
side: 0,
|
||||
opacity: 1,
|
||||
lightMapIntensity: 1,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
id: 'concrete-stucco',
|
||||
label: 'White Stucco',
|
||||
|
||||
@@ -52,8 +52,8 @@ export type WallSurfaceSide = 'interior' | 'exterior'
|
||||
// May be a `#rrggbb` colour or a `library:<id>` ref. Textures-off still
|
||||
// collapses to the themed wall role (the escape hatch).
|
||||
export const WALL_SLOT_DEFAULT: Record<WallSurfaceSide, string> = {
|
||||
interior: '#ffffff',
|
||||
exterior: '#ffffff',
|
||||
interior: 'library:concrete-plate',
|
||||
exterior: 'library:concrete-plate',
|
||||
}
|
||||
|
||||
export type WallSurfaceMaterialSpec = {
|
||||
|
||||
Reference in New Issue
Block a user