package com.zioinfo.kintex.module.m2.dto;

import jakarta.validation.constraints.Min;

/**
 * AI 자동배치 조건(SCR-03 툴바 · SCR-04 헤더). 제약 솔버/휴리스틱 입력.
 *
 * @param targetBoothCount 목표 부스 수
 * @param premiumRatio     프리미엄(6×3m) 비율 0.0~1.0
 * @param stageCount       무대 수
 * @param loungeCount      라운지 수
 * @param mainEntranceCount 주출입구 수
 * @param optionCount      생성할 배치안 개수(기본 3)
 * @param zoneId           선택 구역(소분류, V60 hall_zone.id — 예 "H1-A"). null이면 홀 전체.
 *                         지정 시 해당 구역 경계 안에서만 부스를 패킹한다(평면도 트리 선택, 2026-07-14).
 */
public record AutoLayoutRequest(
        @Min(1) int targetBoothCount,
        double premiumRatio,
        int stageCount,
        int loungeCount,
        int mainEntranceCount,
        @Min(1) int optionCount,
        String zoneId
) {
}
