feat(topola-egui): Move debug-only view options to new menubar's menu "Debug"

This commit is contained in:
Mikolaj Wielgus 2025-10-29 03:53:18 +01:00
parent b9f7d4ec4f
commit 04293d9e4a
10 changed files with 152 additions and 131 deletions

View File

@ -165,16 +165,7 @@ impl EditActions {
pub struct ViewActions {
pub zoom_to_fit: Switch,
pub show_ratsnest: Switch,
pub show_navmesh: Switch,
pub show_guide_circles: Switch,
pub show_guide_bitangents: Switch,
pub show_triangulation: Switch,
pub show_triangulation_constraints: Switch,
pub show_pathfinding_scores: Switch,
pub show_topo_navmesh: Switch,
pub show_bboxes: Switch,
pub show_origin_destination: Switch,
pub show_primitive_indices: Switch,
pub show_appearance_panel: Switch,
}
@ -183,34 +174,10 @@ impl ViewActions {
Self {
zoom_to_fit: Action::new_keyless(tr.text("tr-menu-view-zoom-to-fit")).into_switch(),
show_ratsnest: Action::new_keyless(tr.text("tr-menu-view-show-ratsnest")).into_switch(),
show_navmesh: Action::new_keyless(tr.text("tr-menu-view-show-navmesh")).into_switch(),
show_guide_circles: Action::new_keyless(tr.text("tr-menu-view-show-guide-circles"))
.into_switch(),
show_guide_bitangents: Action::new_keyless(
tr.text("tr-menu-view-show-guide-bitangents"),
)
.into_switch(),
show_triangulation: Action::new_keyless(tr.text("tr-menu-view-show-triangulation"))
.into_switch(),
show_triangulation_constraints: Action::new_keyless(
tr.text("tr-menu-view-show-triangulation-constraints"),
)
.into_switch(),
show_pathfinding_scores: Action::new_keyless(
tr.text("tr-menu-view-show-pathfinding-scores"),
)
.into_switch(),
show_topo_navmesh: Action::new_keyless(tr.text("tr-menu-view-show-topo-navmesh"))
.into_switch(),
show_bboxes: Action::new_keyless(tr.text("tr-menu-view-show-bboxes")).into_switch(),
show_origin_destination: Action::new_keyless(
tr.text("tr-menu-view-show-origin-destination"),
)
.into_switch(),
show_primitive_indices: Action::new_keyless(
tr.text("tr-menu-view-show-primitive-indices"),
)
.into_switch(),
show_appearance_panel: Action::new_keyless(tr.text("tr-menu-view-show-layer-manager"))
.into_switch(),
}
@ -231,24 +198,8 @@ impl ViewActions {
ui.separator();
ui.add_enabled_ui(have_workspace, |ui| {
self.show_ratsnest.checkbox(ui, &mut menu_bar.show_ratsnest);
self.show_navmesh.checkbox(ui, &mut menu_bar.show_navmesh);
self.show_guide_circles
.checkbox(ui, &mut menu_bar.show_guide_circles);
self.show_guide_bitangents
.checkbox(ui, &mut menu_bar.show_guide_bitangents);
self.show_triangulation
.checkbox(ui, &mut menu_bar.show_triangulation);
self.show_triangulation_constraints
.checkbox(ui, &mut menu_bar.show_triangulation_constraints);
self.show_pathfinding_scores
.checkbox(ui, &mut menu_bar.show_pathfinding_scores);
self.show_topo_navmesh
.checkbox(ui, &mut menu_bar.show_topo_navmesh);
self.show_bboxes.checkbox(ui, &mut menu_bar.show_bboxes);
self.show_origin_destination
.checkbox(ui, &mut menu_bar.show_origin_destination);
self.show_primitive_indices
.checkbox(ui, &mut menu_bar.show_primitive_indices);
});
ui.separator();
@ -412,6 +363,68 @@ impl InspectActions {
}
}
pub struct DebugActions {
pub show_navmesh: Switch,
pub show_guide_circles: Switch,
pub show_guide_bitangents: Switch,
pub show_triangulation: Switch,
pub show_triangulation_constraints: Switch,
pub show_pathfinding_scores: Switch,
pub show_topo_navmesh: Switch,
pub show_bboxes: Switch,
pub show_primitive_indices: Switch,
}
impl DebugActions {
pub fn new(tr: &Translator) -> Self {
Self {
show_navmesh: Action::new_keyless(tr.text("tr-menu-debug-show-navmesh")).into_switch(),
show_guide_circles: Action::new_keyless(tr.text("tr-menu-debug-show-guide-circles"))
.into_switch(),
show_guide_bitangents: Action::new_keyless(
tr.text("tr-menu-debug-show-guide-bitangents"),
)
.into_switch(),
show_triangulation: Action::new_keyless(tr.text("tr-menu-debug-show-triangulation"))
.into_switch(),
show_triangulation_constraints: Action::new_keyless(
tr.text("tr-menu-debug-show-triangulation-constraints"),
)
.into_switch(),
show_pathfinding_scores: Action::new_keyless(
tr.text("tr-menu-debug-show-pathfinding-scores"),
)
.into_switch(),
show_topo_navmesh: Action::new_keyless(tr.text("tr-menu-debug-show-topo-navmesh"))
.into_switch(),
show_bboxes: Action::new_keyless(tr.text("tr-menu-debug-show-bboxes")).into_switch(),
show_primitive_indices: Action::new_keyless(
tr.text("tr-menu-debug-show-primitive-indices"),
)
.into_switch(),
}
}
pub fn render_menu(&mut self, _ctx: &Context, ui: &mut Ui, menu_bar: &mut MenuBar) {
self.show_navmesh.checkbox(ui, &mut menu_bar.show_navmesh);
self.show_guide_circles
.checkbox(ui, &mut menu_bar.show_guide_circles);
self.show_guide_bitangents
.checkbox(ui, &mut menu_bar.show_guide_bitangents);
self.show_triangulation
.checkbox(ui, &mut menu_bar.show_triangulation);
self.show_triangulation_constraints
.checkbox(ui, &mut menu_bar.show_triangulation_constraints);
self.show_pathfinding_scores
.checkbox(ui, &mut menu_bar.show_pathfinding_scores);
self.show_topo_navmesh
.checkbox(ui, &mut menu_bar.show_topo_navmesh);
self.show_bboxes.checkbox(ui, &mut menu_bar.show_bboxes);
self.show_primitive_indices
.checkbox(ui, &mut menu_bar.show_primitive_indices);
}
}
pub struct HelpActions {
pub online_documentation: Trigger,
}
@ -441,6 +454,7 @@ pub struct Actions {
pub place: PlaceActions,
pub route: RouteActions,
pub inspect: InspectActions,
pub debug: DebugActions,
pub help: HelpActions,
}
@ -453,6 +467,7 @@ impl Actions {
place: PlaceActions::new(tr),
route: RouteActions::new(tr),
inspect: InspectActions::new(tr),
debug: DebugActions::new(tr),
help: HelpActions::new(tr),
}
}

View File

@ -40,7 +40,7 @@ pub struct MenuBar {
pub show_origin_destination: bool,
pub show_primitive_indices: bool,
pub show_appearance_panel: bool,
pub frame_timestep: f32,
pub update_timestep: f32,
}
impl MenuBar {
@ -74,7 +74,7 @@ impl MenuBar {
show_origin_destination: false,
show_primitive_indices: false,
show_appearance_panel: true,
frame_timestep: 0.1,
update_timestep: 0.1,
}
}
@ -129,21 +129,6 @@ impl MenuBar {
viewport,
maybe_workspace.is_some(),
);
ui.separator();
ui.label(tr.text("tr-menu-view-frame-timestep"));
ui.add(
// NOTE: Frame timestep slider's minimal value
// should not go down to zero seconds because this
// will leave no time for the GUI to update until
// the currently performed action finishes, which
// may leave the GUI unresponsive during that time,
// or even freeze the application if the action
// fails to end in reasonable time.
egui::widgets::Slider::new(&mut self.frame_timestep, 0.001..=3.0)
.suffix(" s"),
);
});
// NOTE: we could disable the entire range of menus below
@ -179,6 +164,25 @@ impl MenuBar {
Self::update_preferences_menu(ctx, ui, tr);
ui.menu_button(tr.text("tr-menu-debug"), |ui| {
actions.debug.render_menu(ctx, ui, self);
ui.separator();
ui.label(tr.text("tr-menu-debug-frame-timestep"));
ui.add(
// NOTE: Frame timestep slider's minimal value
// should not go down to zero seconds because this
// will leave no time for the GUI to update until
// the currently performed action finishes, which
// may leave the GUI unresponsive during that time,
// or even freeze the application if the action
// fails to end in reasonable time.
egui::widgets::Slider::new(&mut self.update_timestep, 0.001..=3.0)
.suffix(" s"),
);
});
ui.menu_button(tr.text("tr-menu-help"), |ui| {
actions.help.render_menu(ctx, ui, online_documentation_url)
});
@ -352,6 +356,17 @@ impl MenuBar {
self.multilayer_autoroute_options,
)
});
} else if actions
.place
.place_route_plan
.consume_key_triggered(ctx, ui)
{
self.is_placing_via = false;
workspace.interactor.interact(InteractionStepper::RoutePlan(
RoutePlan::new(
self.multilayer_autoroute_options.planar.principal_layer,
),
));
} else if actions
.route
.planar_autoroute
@ -371,17 +386,6 @@ impl MenuBar {
schedule(error_dialog, workspace, |selection| {
Command::MeasureLength(selection.band_selection)
});
} else if actions
.place
.place_route_plan
.consume_key_triggered(ctx, ui)
{
self.is_placing_via = false;
workspace.interactor.interact(InteractionStepper::RoutePlan(
RoutePlan::new(
self.multilayer_autoroute_options.planar.principal_layer,
),
));
}
}
}

View File

@ -69,7 +69,7 @@ impl Viewport {
workspace.advance_state_by_dt(
tr,
error_dialog,
menu_bar.frame_timestep,
menu_bar.update_timestep,
&interactive_input,
);

View File

@ -2,7 +2,7 @@ tr-menu-edit-undo = Rückgängig
tr-menu-edit-redo = Vorwärts
tr-menu-view-show-layer-manager = Zeige Ebenen-Verwaltung
tr-menu-open-specctra-session-file = Specctra-Sitzungsdatei (*.ses)
tr-menu-view-frame-timestep = Rahmen-Zeitschritt
tr-menu-debug-update-timestep = Rahmen-Zeitschritt
tr-menu-file = Datei
tr-menu-edit = Bearbeiten
tr-menu-view = Ansicht
@ -24,8 +24,8 @@ tr-menu-route-options-squeeze-through-under-bends = Presse unter Biegungen durch
tr-menu-route-options-wrap-around-bands = Wickle um Bänder
tr-menu-view-zoom-to-fit = Einpassen
tr-menu-view-show-ratsnest = Zeige Ratsnest
tr-menu-view-show-navmesh = Zeige Navmesh
tr-menu-view-show-bboxes = Zeige BBoxen
tr-menu-debug-show-navmesh = Zeige Navmesh
tr-menu-debug-show-bboxes = Zeige BBoxen
tr-menu-view-show-origin-destination = Zeige Ursprung-Ziel
tr-menu-inspect-measure-length = Länge messen
tr-error-failed-to-parse-as-specctra-dsn = kann Datei nicht als Specctra-DSN interpretieren
@ -49,18 +49,18 @@ tr-menu-edit-select-all = Alles auswählen
tr-menu-edit-unselect-all = Alles abwählen
tr-menu-open-specctra-design-file = Specctra-Designdatei (*.dsn)
tr-menu-edit-recalculate-topo-navmesh = Topologisches Navmesh neuberechnen
tr-menu-view-show-topo-navmesh = Topologisches Navmesh anzeigen
tr-menu-debug-show-topo-navmesh = Topologisches Navmesh anzeigen
tr-menu-view-kdb-scroll-delta-factor = Tastatur Scroll Delta Faktor
tr-menu-view-show-pathfinding-scores = Zeige Pfadsuch-Bewertungen
tr-menu-debug-show-pathfinding-scores = Zeige Pfadsuch-Bewertungen
tr-menu-place-place-route-plan = Platziere Routenplan
tr-menu-route-topo-autoroute = Topologisches planares Autorouten
tr-menu-view-show-triangulation = Zeige Triangulation
tr-menu-view-show-triangulation-constraints = Zeige Triangulationszwänge
tr-menu-debug-show-triangulation = Zeige Triangulation
tr-menu-debug-show-triangulation-constraints = Zeige Triangulationszwänge
tr-menu-route-options-presort-by = Vorsortieren nach
tr-menu-route-options-presort-by-ratline-intersection-count-and-length = Anzahl und Länge von Überschneidungen
tr-menu-route-options-permutate = Permutieren
tr-menu-view-show-guide-bitangents = Zeige Führungs-Bitangenten
tr-menu-view-show-guide-circles = Zeige Führungskreise
tr-menu-view-show-primitive-indices = Zeige primitive Indizes
tr-menu-debug-show-guide-bitangents = Zeige Führungs-Bitangenten
tr-menu-debug-show-guide-circles = Zeige Führungskreise
tr-menu-debug-show-primitive-indices = Zeige primitive Indizes
tr-menu-route-planar-autoroute = planares Autorouten
tr-menu-route-fanout-clearance = Fanout-Mindestabstand

View File

@ -21,19 +21,9 @@ tr-menu-edit-remove-bands = Remove Bands
tr-menu-view = View
tr-menu-view-zoom-to-fit = Zoom to Fit
tr-menu-view-show-ratsnest = Show Ratsnest
tr-menu-view-show-navmesh = Show Navmesh
tr-menu-view-show-guide-circles = Show Guide-Circles
tr-menu-view-show-guide-bitangents = Show Guide-Bitangents
tr-menu-view-show-triangulation = Show Triangulation
tr-menu-view-show-triangulation-constraints = Show Triangulation Constraints
tr-menu-view-show-pathfinding-scores = Show Pathfinding Scores
tr-menu-view-show-topo-navmesh = Show Topological Navmesh
tr-menu-view-show-bboxes = Show BBoxes
tr-menu-view-show-origin-destination = Show OriginDestination
tr-menu-view-show-primitive-indices = Show Primitive Indices
tr-menu-view-show-layer-manager = Show Layer Manager
tr-menu-view-kdb-scroll-delta-factor = Keyboard scroll delta factor
tr-menu-view-frame-timestep = Frame Timestep
tr-menu-place = Place
tr-menu-place-place-via = Place Via
@ -46,10 +36,22 @@ tr-menu-route-topo-autoroute = Topological planar Autoroute
tr-menu-route-routed-band-width = Routed Band Width
tr-menu-route-fanout-clearance = Fanout Clearance
tr-menu-debug = Debug
tr-menu-debug-show-navmesh = Show Navmesh
tr-menu-debug-show-guide-circles = Show Guide-Circles
tr-menu-debug-show-guide-bitangents = Show Guide-Bitangents
tr-menu-debug-show-triangulation = Show Triangulation
tr-menu-debug-show-triangulation-constraints = Show Triangulation Constraints
tr-menu-debug-show-pathfinding-scores = Show Pathfinding Scores
tr-menu-debug-show-topo-navmesh = Show Topological Navmesh
tr-menu-debug-show-bboxes = Show BBoxes
tr-menu-debug-show-primitive-indices = Show Primitive Indices
tr-menu-debug-update-timestep = Update Timestep
tr-menu-help = Help
tr-menu-help-online-documentation = Online Documentation
# Misnamed tag, TODO fix this.
# Misnamed tag. TODO fix this.
tr-menu-options = Options
tr-menu-route-options-presort-by = Presort by
@ -58,9 +60,9 @@ tr-menu-route-options-presort-by-pairwise-detours = Pairwise Detours
tr-menu-route-options-permutate = Permutate
## Continuously applied, so use frequentative or imperfective aspect
## if possible, e.g. in Polish it should be "przeciskaj pod taśmami"
## (frequentative) instead of "przeciśnij pod taśmami".
## Continuously applied, so use frequentative or imperfective aspect if
## possible, e.g. in Polish it should be "przeciskaj pod taśmami" (imperfective)
## instead of "przeciśnij pod taśmami".
tr-menu-route-options-squeeze-through-under-bends = Squeeze through under Bends
tr-menu-route-options-wrap-around-bands = Wrap around Bands

View File

@ -7,8 +7,8 @@ tr-menu-edit-remove-bands = Banden verwijderen
tr-menu-inspect-compare-detours = Vergelijk Omwegen
tr-menu-edit-undo = Ongedaan maken
tr-menu-edit-redo = Opnieuw doen
tr-menu-view-show-navmesh = Toon Navmesh
tr-menu-view-show-bboxes = Toon BBoxen
tr-menu-debug-show-navmesh = Toon Navmesh
tr-menu-debug-show-bboxes = Toon BBoxen
tr-menu-file-open = Open
tr-menu-route-autoroute = Automatische route
tr-menu-file-import-history = Geschiedenis importeren
@ -27,7 +27,7 @@ tr-menu-view-zoom-to-fit = Zoomen om aan te passen
tr-dialog-error-messages = Foutmeldingen
tr-dialog-error-messages-reset = Berichten resetten
tr-error-unable-to-read-file = kan bestand niet lezen
tr-menu-view-frame-timestep = Frame Tijdstap
tr-menu-debug-update-timestep = Frame Tijdstap
tr-menu-help-online-documentation = Online documentatie
tr-menu-route-options-presort-by-pairwise-detours = Paarwijze omwegen
tr-menu-route-options-wrap-around-bands = Wikkel rond banden
@ -49,18 +49,18 @@ tr-menu-edit-select-all = Alles selecteren
tr-menu-edit-unselect-all = Alles deselecteren
tr-menu-open-specctra-design-file = Specctra ontwerpbestand (*.dsn)
tr-menu-edit-recalculate-topo-navmesh = Topologische Navmesh herberekenen
tr-menu-view-show-topo-navmesh = Toon Topologisch Navmesh
tr-menu-view-show-pathfinding-scores = Toon padvinden scores
tr-menu-debug-show-topo-navmesh = Toon Topologisch Navmesh
tr-menu-debug-show-pathfinding-scores = Toon padvinden scores
tr-menu-view-kdb-scroll-delta-factor = Toetsenbord scroll delta factor
tr-menu-place-place-route-plan = Plaats routeplan
tr-menu-view-show-triangulation = Toon triangulatie
tr-menu-view-show-triangulation-constraints = Toon triangulatiebeperkingen
tr-menu-debug-show-triangulation = Toon triangulatie
tr-menu-debug-show-triangulation-constraints = Toon triangulatiebeperkingen
tr-menu-route-topo-autoroute = Topologische vlakke Autoroute
tr-menu-route-options-presort-by = Voorsorteren op
tr-menu-route-options-presort-by-ratline-intersection-count-and-length = Aantal kruispunten en lengte
tr-menu-route-options-permutate = Permuteren
tr-menu-view-show-guide-circles = Toon gids-cirkels
tr-menu-view-show-guide-bitangents = Toon gids-bitangent
tr-menu-view-show-primitive-indices = Primitieve indices weergeven
tr-menu-debug-show-guide-circles = Toon gids-cirkels
tr-menu-debug-show-guide-bitangents = Toon gids-bitangent
tr-menu-debug-show-primitive-indices = Primitieve indices weergeven
tr-menu-route-planar-autoroute = Planaire Autoroute
tr-menu-route-fanout-clearance = Uitwaaieringsvrijgave

View File

@ -13,8 +13,8 @@ tr-menu-file-export-session-file = Eksportuj plik sesji
tr-menu-file-import-history = Importuj historię
tr-menu-file-quit = Wyjdź
tr-menu-inspect-compare-detours = Porównaj objazdy
tr-menu-view-show-navmesh = Pokaż siatkę nawigacyjną
tr-menu-view-show-bboxes = Pokaż obwiednie
tr-menu-debug-show-navmesh = Pokaż siatkę nawigacyjną
tr-menu-debug-show-bboxes = Pokaż obwiednie
tr-menu-view-show-origin-destination = Pokaż pochodzenie i destynację
tr-menu-options = Opcje
tr-menu-route-options-wrap-around-bands = Owiń wokół taśm
@ -43,7 +43,7 @@ tr-menu-edit-unselect-all = Odznacz wszystko
tr-menu-edit-select-all = Zaznacz wszystko
tr-menu-open-specctra-design-file = Plik projektu Specctra (*.dsn)
tr-module-specctra-dsn-file-loader = Ładowanie plików Specctra DSN
tr-menu-view-frame-timestep = Odstęp czasowy klatki
tr-menu-debug-update-timestep = Odstęp czasowy klatki
tr-error-failed-to-parse-as-history-json = nie udało się sparować pliku jako History JSON
tr-menu-route-routed-band-width = Trasowana szerokość pasma
tr-module-invoker = Wywoływacz

View File

@ -12,7 +12,7 @@ tr-menu-view = Visualizar
tr-menu-view-zoom-to-fit = Zoom para caber
tr-menu-view-show-origin-destination = Mostrar Origem-Destino
tr-menu-view-show-layer-manager = Mostrar Gerenciador de Camadas
tr-menu-view-frame-timestep = Passo de Tempo de Quadro
tr-menu-debug-update-timestep = Passo de Tempo de Quadro
tr-menu-place = Colocar
tr-menu-place-place-via = Colocar Via
tr-menu-route = Rota
@ -20,8 +20,8 @@ tr-menu-route-autoroute = Rota Automática
tr-menu-route-routed-band-width = Largura da Banda Roteada
tr-menu-help = Ajuda
tr-menu-options = Opções
tr-menu-view-show-navmesh = Mostrar Malha de Navegação
tr-menu-view-show-bboxes = Mostrar BBoxes
tr-menu-debug-show-navmesh = Mostrar Malha de Navegação
tr-menu-debug-show-bboxes = Mostrar BBoxes
tr-menu-view-show-ratsnest = Mostrar Ratsnest
tr-menu-route-options-presort-by-pairwise-detours = Preordenar por Desvios de Pares
tr-menu-route-options-squeeze-through-under-bends = Espremer embaixo das bandas

View File

@ -10,11 +10,11 @@ tr-module-history-file-loader = Geçmiş dosyası yükleyici
tr-menu-edit-remove-bands = Bantları Kaldır
tr-menu-view-zoom-to-fit = Sığdır
tr-menu-view-show-ratsnest = Ratsnest'i Görüntüle
tr-menu-view-show-navmesh = Navmesh'i Görüntüle
tr-menu-view-show-bboxes = BBoxes'i Görüntüle
tr-menu-debug-show-navmesh = Navmesh'i Görüntüle
tr-menu-debug-show-bboxes = BBoxes'i Görüntüle
tr-menu-view-show-origin-destination = Başlangıç-Hedef Görüntüle
tr-menu-view-show-layer-manager = Katman Yöneticisini Görüntüle
tr-menu-view-frame-timestep = Kare Zaman Adımı
tr-menu-debug-update-timestep = Kare Zaman Adımı
tr-menu-place = Yerleştir
tr-menu-place-place-via = Birlikte Yerleştir
tr-menu-route = Rota

View File

@ -12,9 +12,9 @@ tr-menu-inspect-measure-length = 测量长度
tr-menu-edit-redo = 恢复
tr-menu-edit-abort = 中止
tr-menu-view-show-ratsnest = 显示飞线
tr-menu-view-show-bboxes = 显示边界框
tr-menu-debug-show-bboxes = 显示边界框
tr-menu-view-show-layer-manager = 显示图层管理器
tr-menu-view-frame-timestep = 帧时间步长
tr-menu-debug-update-timestep = 帧时间步长
tr-dialog-error-messages = 错误消息
tr-menu-open-specctra-session-file = Specctra 会话文件 (*.ses)
tr-dialog-error-messages-discard = 丢弃
@ -25,7 +25,7 @@ tr-error-unable-to-read-file = 无法读取文件
tr-error-failed-to-parse-as-specctra-dsn = 文件无法解析为 Specctra DSN
tr-error-failed-to-parse-as-history-json = 文件无法解析为历史 JSON
tr-error-unable-to-initialize-autorouter = 无法初始化自动布线工具
tr-menu-view-show-navmesh = 显示导航网格
tr-menu-debug-show-navmesh = 显示导航网格
tr-menu-view-show-origin-destination = 显示起点—终点
tr-menu-file = 文件
tr-menu-edit-undo = 撤销
@ -48,19 +48,19 @@ tr-menu-edit-select-all = 全选
tr-menu-open-specctra-design-file = Specctra 设计文件 (*.dsn)
tr-menu-route-options-wrap-around-bands = 绕带布线
tr-menu-edit-recalculate-topo-navmesh = 重新计算拓扑导航网格
tr-menu-view-show-topo-navmesh = 显示拓扑导航网格
tr-menu-debug-show-topo-navmesh = 显示拓扑导航网格
tr-menu-route-options-squeeze-through-under-bends = 弯曲处挤线
tr-menu-view-kdb-scroll-delta-factor = 键盘滚动增量因子
tr-menu-view-show-pathfinding-scores = 显示路径查找分数
tr-menu-debug-show-pathfinding-scores = 显示路径查找分数
tr-menu-place-place-route-plan = 放置布线规划
tr-menu-route-topo-autoroute = 拓扑平面自动布线‌
tr-menu-view-show-triangulation = 显示三角剖分
tr-menu-view-show-triangulation-constraints = 显示三角剖分约束条件
tr-menu-debug-show-triangulation = 显示三角剖分
tr-menu-debug-show-triangulation-constraints = 显示三角剖分约束条件
tr-menu-route-options-presort-by = 预排序依据
tr-menu-route-options-presort-by-ratline-intersection-count-and-length = ‌交叉点数量及长度
tr-menu-route-options-permutate = 排列组合
tr-menu-view-show-guide-circles = 显示辅助圆
tr-menu-view-show-guide-bitangents = 显示双切线
tr-menu-view-show-primitive-indices = 显示图元索引‌
tr-menu-debug-show-guide-circles = 显示辅助圆
tr-menu-debug-show-guide-bitangents = 显示双切线
tr-menu-debug-show-primitive-indices = 显示图元索引‌
tr-menu-route-planar-autoroute = 平面自动布线
tr-menu-route-fanout-clearance = 扇出间距‌