- 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>
14 lines
550 B
TypeScript
14 lines
550 B
TypeScript
import type { SlotDeclaration } from '@pascal-app/core'
|
|
|
|
export type SlabSlotId = 'surface'
|
|
|
|
// Declared default appearance for an unpainted slab surface in colored mode —
|
|
// a catalog `library:<id>` finish or a `#rrggbb` colour. Textures-off collapses
|
|
// to the themed floor role (the escape hatch).
|
|
export const SLAB_SLOT_DEFAULT = 'library:wood-woodplank48'
|
|
|
|
/** A slab exposes a single paintable floor surface. */
|
|
export function slabSlots(): SlotDeclaration[] {
|
|
return [{ slotId: 'surface', label: 'Surface', default: SLAB_SLOT_DEFAULT }]
|
|
}
|