Skip to content

Task-Connector / route cost / routing boundary 구현 #99

@learncold

Description

@learncold

Summary

FacilityLayout의 connector, route cost, routing boundary를 domain 경계에서 고정해 engine이 안정적인 routing snapshot과 access override만 소비하도록 정리한다.

Parent Issue

#3

Area

Domain

Target Sprint

Sprint 1

Why Needed

문서와 UML은 connector 종류, PathCostModel, RoutingTopologySnapshot, ControlZone access override를 MVP 코어 범위로 고정한다. 이 경계가 없으면 exit choice, reroute, measurement 구조가 ad hoc 구현으로 흩어진다.

Scope

  • Connector kind와 modifier를 Room/Door/Connector topology와 연결한다.
  • PathCostModel에 current room travel time, queue time, remaining route cost 축을 반영한다.
  • RoutingTopologySnapshot, ZoneAccessOverrideState, DynamicObstacleField로 이어지는 domain-engine boundary를 고정한다.
  • measurement region과 door/room history 수집 경계를 routing boundary와 함께 정의한다.

Out of Scope

  • smoke/FED/FDS 연동
  • 추천 로직 또는 UI 편집 workflow
  • 낙상/역방향/교차류 고도화 모델

Core Design Criteria

  • engine은 rich domain object 대신 compiled routing snapshot만 소비한다.
  • ControlZone은 named room/door/connector group으로 유지하고 geometry-heavy runtime model로 승격하지 않는다.
  • route cost는 screen-only 설정이 아니라 persisted scenario/control contract가 되도록 설계한다.

Acceptance Criteria

  • connector kind와 modifier가 FacilityLayout 계약에 포함된다.
  • PathCostModel cost component가 시나리오/control 계약에서 참조 가능하다.
  • routing boundary가 engine resource 등록 경계와 일치한다.
  • measurement와 queue/throughput 결과가 door/room/region history로 이어질 수 있는 구조가 정리된다.

Related Docs

  • docs/product/Product Backlog - Pathfinder 반영안.md
  • docs/architecture/프로젝트 구조.md
  • uml/domain-control-model.puml
  • uml/engine-routing-and-connectors.puml

Dependencies / Blockers

Repository Checks

  • I checked for an existing related issue or epic before creating or updating this task.
  • I will keep the issue title aligned with the repository naming convention.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions