import { createEnvironmentCapabilityReport, createEnvironmentPreset } from "./EnvironmentPlatform.js";
const NAMED_ENVIRONMENT_PRESETS = {
    studio: {
        id: "studio",
        type: "studio",
        lighting: "softbox",
        background: "procedural",
        ground: "shadow-catcher",
        defaultFog: false
    },
    outdoor: {
        id: "outdoor",
        type: "outdoor",
        lighting: "overcast",
        background: "sky",
        ground: "terrain",
        defaultFog: true
    },
    city: {
        id: "city",
        type: "city",
        lighting: "neon",
        background: "procedural",
        ground: "grid",
        defaultFog: true
    },
    warehouse: {
        id: "warehouse",
        type: "warehouse",
        lighting: "warehouse",
        background: "procedural",
        ground: "shadow-catcher",
        defaultFog: true
    },
    "deep-space": {
        id: "deep-space",
        type: "space",
        lighting: "space",
        background: "procedural",
        ground: "none",
        defaultFog: false
    },
    ocean: {
        id: "ocean",
        type: "ocean",
        lighting: "sunset",
        background: "sky",
        ground: "terrain",
        defaultFog: true
    },
    "clean-void": {
        id: "clean-void",
        type: "clean-void",
        lighting: "softbox",
        background: "procedural",
        ground: "grid",
        defaultFog: false
    }
};
export function listNamedEnvironmentPresets() {
    return Object.values(NAMED_ENVIRONMENT_PRESETS);
}
export function createNamedEnvironmentPreset(id, overrides = {}) {
    const descriptor = NAMED_ENVIRONMENT_PRESETS[id];
    const fog = overrides.fog ?? (descriptor.defaultFog ? undefined : false);
    return createEnvironmentPreset({
        ...overrides,
        type: overrides.type ?? descriptor.type,
        lighting: overrides.lighting ?? descriptor.lighting,
        background: overrides.background ?? descriptor.background,
        ground: overrides.ground ?? descriptor.ground,
        fog
    });
}
export function createEnvironmentPresetReport(preset, id = "custom") {
    const capabilityReport = createEnvironmentCapabilityReport();
    const productionReady = preset.capabilityIds.every((capabilityId) => capabilityReport.productionReady.includes(capabilityId));
    return {
        id,
        type: preset.type,
        lighting: preset.lightingPreset,
        background: preset.background,
        ground: preset.ground,
        renderItemCount: preset.items.length,
        systemCount: preset.systems.length,
        capabilityIds: preset.capabilityIds,
        unsupportedRequests: preset.unsupportedRequests,
        visibleBackgroundSeparatedFromLighting: preset.background !== "none" && preset.lighting.intensity >= 0,
        hasFogProfile: preset.fog !== undefined,
        productionReady,
        claimBoundary: productionReady
            ? "Environment preset only reports production-ready when every consumed environment capability is implemented."
            : "Reusable environment preset helper; route acceptance still requires browser screenshot/report evidence, and unsupported requests must remain disclosed."
    };
}
//# sourceMappingURL=EnvironmentPreset.js.map