# Пример пользовательского settings.toml (ADR 0028: %LocalAppData%\CascadeIDE\settings.toml).
# Ключи — snake_case (CascadeTomlSerializer / Tomlyn). Секции — вложенные таблицы.

# Строка топологии и грамматика якорей (ADR 0017 § display.screens).
[display.screens]
topology = "(0.25P + 0.75F) (M)"

[display.screens.grammar]
brackets = "()"
between_screens = " "
between_zones = "+"
pfd = "P"
forward = "F"
mfd = "M"

[display]
maximize_hosts_on_dedicated_screens = true
prefer_repo_instruments = false

[display.pfd]
open_on_startup = true

[display.mfd]
open_on_startup = true

[display.skia]
zone_geometry_overlay = false
instrument_mount = false

[display.mount]
default_style = "instrument_mount_v1"
enforce_eligibility = false
min_sa = 0.6
min_performance = 0.6
max_workload = 0.5
require_scores = false

[[display.mount.rules]]
surface = "main_window_docked_grid"
slot = "pfd"
instrument = "ide_health_status_v1"
style = "instrument_mount_v1"
sa_score = 0.8
performance_score = 0.8
workload_score = 0.2

[[display.mount.rules]]
surface = "main_window_plus_mfd_host_top_level"
slot = "mfd"
instrument = "ide_health_status_v1"
style = "instrument_mount_v1"
sa_score = 0.75
performance_score = 0.72
workload_score = 0.28

# Основные слоты PFD/MFD (ADR 0050): alias или канонический instrument_id.
[display.instruments]
pfd_primary = "workspace_map"

[ai]
mode = "local"

[ai.local]
backend = "ollama"

[ai.local.ollama]
model = "qwen2.5-coder:7b"

[ai.acp]
cursor_acp_path = ""
# Пусто = искать cursor-agent в PATH.
cursor_acp_model_id = ""

[ai.mcp_only]

[ai.cloud]
active_provider = "anthropic"

[ai.cloud.anthropic]
model = "claude-sonnet-4-20250514"

[ai.cloud.openai]
base_url = "https://api.openai.com"
model = "gpt-4o"

[ai.cloud.deepseek]
base_url = "https://api.deepseek.com"
model = "deepseek-chat"

[ai.chat]
settings_presentation = "mfd"
show_thinking_in_history = true

[mcp]
acp_auto_inject_ide_mcp = true
external_servers_json = "[]"
external_servers_json_path = ""

[hybrid_index]
# In-proc integration settings for Hybrid Codebase Index (ADR 0106).
# Core HCI settings live in workspace folder under `index_dir` (same as external MCP).
enabled = true
index_dir = ".hybrid-codebase-index"
debounce_ms = 750
auto_reindex_on_solution_open = true
watch_files = true
scope_mode = "workspace+solution" # or "workspace"
pause_when_mcp_stdio_host = false

# Palette go-to workspace search (ADR 0112): t:/m:/x:. hci/auto fall back to ripgrep until HCI path lands.
[command_palette.go_to_search]
backend = "rg"

[workspace]
pfd_expanded = true
show_terminal = true
show_git = false
show_instrumentation = true
mode = "Flight"
culture = ""
splitters_locked = false
# ADR 0120: "editor" (дефолт) | "intercom" — Intercom в Forward, редактор на MFD
primary_work_surface = "editor"

[code_navigation_map]
view = "list"
depth = "file"

[languages.csharp]
mode = "OmniSharp"

[languages.csharp.omni_sharp]
executable = ""
arguments = ""

[languages.markdown]
mode = "Marksman"

[languages.markdown.marksman]
executable = ""
arguments = ""

[markdown.diagrams]
kroki = true
kroki_url = "https://kroki.io"

[code_navigation]
# Пресеты: бандл CodeNavigation/presets.toml + .cascade/workspace.toml + этот файл ([[code_navigation.presets]]).
# [[code_navigation.presets]]
# id = "my_preset"
# exclude_kinds = ["same_namespace"]

[editor.inline_hints]
# Editor inlay-hints toggles.
enabled = true
parameter_names = true
variable_types = true

[editor.debug_hints]
enabled = true
show_assignments = true
show_conditions = true
