ruleset: navsea_render_rules_v1
bundle_id: navsea-core
version: v1-draft
rules:
  - rule_id: REN-NAV-001
    rule_revision: 1
    priority: 100
    enabled: true
    match_expr:
      all:
        - field: canonical_object_type
          op: eq
          value: 港湾灯台
        - field: geom_type
          op: eq
          value: Point
    output:
      chart_render_type: symbol
      chart_symbol_family: navigation_light
      chart_symbol_code: lighthouse
      chart_priority: 900
      chart_visibility_min: 7
      chart_visibility_max: 24
    reason: 港湾灯台应以高优先级灯标符号渲染。

  - rule_id: REN-HAZ-001
    rule_revision: 1
    priority: 120
    enabled: true
    match_expr:
      all:
        - field: canonical_object_type
          op: eq
          value: 魚礁
        - field: geom_type
          op: eq
          value: Point
    output:
      chart_render_type: symbol
      chart_symbol_family: hazard
      chart_symbol_code: fish_reef
      chart_priority: 860
      area_usage_class: fishery
      hazard_class: fish_reef
      hazard_severity: major
    reason: 点状鱼礁以鱼礁专用危险物符号表达。

  - rule_id: REN-HAZ-002
    rule_revision: 1
    priority: 121
    enabled: true
    match_expr:
      all:
        - field: canonical_object_type
          op: eq
          value: 魚礁
        - field: geom_type
          op: in
          value: [Polygon, MultiPolygon]
    output:
      chart_render_type: fill
      chart_symbol_family: hazard
      chart_fill_style: fish_reef_area
      chart_priority: 850
      area_usage_class: fishery
      hazard_class: fish_reef
      hazard_severity: major
    reason: 面状鱼礁区以鱼礁专用危险区填充表达，同时保留 fishery 用途语义。

  - rule_id: REN-DEPTH-001
    rule_revision: 1
    priority: 200
    enabled: true
    match_expr:
      all:
        - field: canonical_object_type
          op: eq
          value: 等深线
    output:
      chart_render_type: line
      chart_symbol_family: contour
      chart_line_style: contour_minor
      chart_priority: 640
      chart_visibility_min: 8
      chart_visibility_max: 24
    reason: 等深线统一归入 contour line 体系。

  - rule_id: REN-SEABED-001
    rule_revision: 1
    priority: 210
    enabled: true
    match_expr:
      all:
        - field: canonical_object_type
          op: eq
          value: 底質
    output:
      chart_render_type: label
      chart_symbol_family: seabed
      chart_text_style: seabed_text
      chart_priority: 500
      chart_visibility_min: 11
      chart_visibility_max: 24
    reason: 底质对象以海底属性文字渲染。

  - rule_id: REN-PLACE-001
    rule_revision: 1
    priority: 220
    enabled: true
    match_expr:
      all:
        - field: canonical_object_type
          op: eq
          value: 海上地名
    output:
      chart_render_type: label
      chart_symbol_family: place
      chart_text_style: place_name_sea
      chart_priority: 450
      chart_visibility_min: 7
      chart_visibility_max: 24
    reason: 海上地名使用海上地名字体体系渲染。

  - rule_id: REN-PLACE-002
    rule_revision: 1
    priority: 221
    enabled: true
    match_expr:
      all:
        - field: canonical_object_type
          op: eq
          value: 陆上地名
    output:
      chart_render_type: label
      chart_symbol_family: place
      chart_text_style: place_name_land
      chart_priority: 440
      chart_visibility_min: 7
      chart_visibility_max: 24
    reason: 陆上地名使用陆地地名字体体系渲染。

  - rule_id: REN-USAGE-001
    rule_revision: 1
    priority: 230
    enabled: true
    match_expr:
      all:
        - field: canonical_object_type
          op: eq
          value: 錨泊地
        - field: geom_type
          op: in
          value: [Polygon, MultiPolygon]
    output:
      chart_render_type: fill
      chart_symbol_family: usage_area
      chart_fill_style: anchorage_area
      chart_priority: 750
      area_usage_class: anchorage
    reason: 锚泊地区域以 anchorage_area 语义填充表达。

  - rule_id: REN-FALLBACK-001
    rule_revision: 1
    priority: 9999
    enabled: true
    match_expr:
      all: []
    output:
      chart_render_type: none
      chart_priority: 0
    reason: 未命中渲染规则的对象默认不进入正式语义渲染，待补录。
