Variable MaterialPresetsConst

MaterialPresets: {
    brick: {
        color: number[];
        hatchPattern: HatchParams;
        metallic: number;
        roughness: number;
    };
    bronze: {
        color: number[];
        hatchPattern: HatchParams;
        metallic: number;
        roughness: number;
    };
    castIron: {
        color: number[];
        hatchPattern: HatchParams;
        metallic: number;
        roughness: number;
    };
    concrete: {
        color: number[];
        hatchPattern: HatchParams;
        metallic: number;
        roughness: number;
    };
    concreteHeavy: {
        color: number[];
        hatchPattern: HatchParams;
        metallic: number;
        roughness: number;
    };
    earth: {
        color: number[];
        hatchPattern: HatchParams;
        metallic: number;
        roughness: number;
    };
    glass: {
        color: number[];
        metallic: number;
        opacity: number;
        roughness: number;
    };
    insulation: {
        color: number[];
        hatchPattern: HatchParams;
        metallic: number;
        roughness: number;
    };
    plastic: {
        color: number[];
        hatchPattern: HatchParams;
        metallic: number;
        roughness: number;
    };
    steel: {
        color: number[];
        hatchPattern: HatchParams;
        metallic: number;
        roughness: number;
    };
    wood: {
        color: number[];
        hatchPattern: HatchParams;
        metallic: number;
        roughness: number;
    };
} = ...

Spread-able fragments for SceneMaterialParams carrying conventional engineering / architectural material settings: PBR-ish base values + an ANSI/ISO cross-section hatch in world space.

Use by spreading into a material:

sceneModel.fromParams({
materials: [
{ id: "beam", ...MaterialPresets.steel },
{ id: "slab", ...MaterialPresets.concrete },
{ id: "facade", ...MaterialPresets.brick, color: [0.55, 0.32, 0.24] },
],
...
});

Each preset carries:

  • color, roughness, metallic — sensible PBR-ish base for RealisticRender.
  • hatchPattern — world-space hatch using the relevant ANSI/ISO families. Picked up when caps render or when the view is in DetailedRender.

Override any field by adding it AFTER the spread.

The preset is just a plain object — no class, no factory. Spreading copies the references, so don't mutate the arrays inside (hatchPattern.families) without cloning.

Type declaration

  • brick: {
        color: number[];
        hatchPattern: HatchParams;
        metallic: number;
        roughness: number;
    }

    Brick / masonry: ANSI 36 running-bond brick over warm tone.

  • bronze: {
        color: number[];
        hatchPattern: HatchParams;
        metallic: number;
        roughness: number;
    }

    Bronze: ANSI 33 alternating diagonal lines over warm metal base.

  • castIron: {
        color: number[];
        hatchPattern: HatchParams;
        metallic: number;
        roughness: number;
    }

    Cast iron: ANSI 31 single 45° diagonal over duller steel base.

  • concrete: {
        color: number[];
        hatchPattern: HatchParams;
        metallic: number;
        roughness: number;
    }

    Concrete (fine): ISO single-direction 45° hatch over light grey.

  • concreteHeavy: {
        color: number[];
        hatchPattern: HatchParams;
        metallic: number;
        roughness: number;
    }

    Heavy concrete: coarser ISO crosshatch for thick sections.

  • earth: {
        color: number[];
        hatchPattern: HatchParams;
        metallic: number;
        roughness: number;
    }

    Earth / soil fill: ANSI 38 dot grid over warm brown.

  • glass: { color: number[]; metallic: number; opacity: number; roughness: number }

    Glass: no hatch, low roughness, glassy tint. Cap (when sliced) renders capColor only.

  • insulation: {
        color: number[];
        hatchPattern: HatchParams;
        metallic: number;
        roughness: number;
    }

    Insulation: ANSI 37 wavy diagonal lines over neutral grey.

  • plastic: {
        color: number[];
        hatchPattern: HatchParams;
        metallic: number;
        roughness: number;
    }

    Plastic / lead: ANSI 38 dot grid over a soft neutral.

  • steel: {
        color: number[];
        hatchPattern: HatchParams;
        metallic: number;
        roughness: number;
    }

    Steel: ANSI 32 crosshatch over polished metallic base.

  • wood: {
        color: number[];
        hatchPattern: HatchParams;
        metallic: number;
        roughness: number;
    }

    Wood: ANSI 31-style dense diagonal over warm brown.