Commit 391e99c
authored
Implement Component Groups (#1130)
Component groups allow nesting components in the opposite layout
direction to their parent, enabling horizontal rows inside vertical
layouts and vice versa. Groups can be nested arbitrarily deep, with the
direction alternating at each level.
The layout editor presents all components, including those nested inside
groups, in a single flat list with indentation levels. Empty groups show
placeholder entries. Adding, removing, moving, and duplicating
components all work across group boundaries. The editor state exposes
the layout direction at the selected position.
Changelog (en): The layout editor now supports adding rows and columns of components, allowing for much more complex layouts.
Changelog (de): Der Layout-Editor unterstützt jetzt das Hinzufügen von Zeilen und Spalten von Komponenten, was deutlich komplexere Layouts ermöglicht.
Changelog (fr): L'éditeur de layout permet désormais d'ajouter des lignes et des colonnes de composants, permettant des mises en page bien plus complexes.
Changelog (nl): De lay-outeditor ondersteunt nu het toevoegen van rijen en kolommen van componenten, waardoor veel complexere lay-outs mogelijk zijn.
Changelog (es): El editor de diseño ahora permite añadir filas y columnas de componentes, lo que posibilita diseños mucho más complejos.
Changelog (it): L'editor del layout ora supporta l'aggiunta di righe e colonne di componenti, consentendo layout molto più complessi.
Changelog (pt): O editor de layout agora suporta adicionar linhas e colunas de componentes, permitindo layouts muito mais complexos.
Changelog (pt-BR): O editor de layout agora suporta adicionar linhas e colunas de componentes, permitindo layouts muito mais complexos.
Changelog (pl): Edytor układu obsługuje teraz dodawanie wierszy i kolumn komponentów, co umożliwia tworzenie znacznie bardziej złożonych układów.
Changelog (ru): Редактор макета теперь поддерживает добавление строк и столбцов компонентов, что позволяет создавать гораздо более сложные макеты.
Changelog (ja): レイアウトエディタでコンポーネントの行と列を追加できるようになり、より複雑なレイアウトが可能になりました。
Changelog (ko): 레이아웃 편집기에서 구성 요소의 행과 열을 추가할 수 있게 되어, 훨씬 더 복잡한 레이아웃을 만들 수 있습니다.
Changelog (zh-Hans): 布局编辑器现在支持添加组件的行和列,从而实现更加复杂的布局。
Changelog (zh-Hant): 佈局編輯器現在支持添加組件的行和列,從而實現更加複雜的佈局。1 parent 400b639 commit 391e99c
18 files changed
Lines changed: 154 additions & 2 deletions
Submodule livesplit-core updated 69 files
- capi/bind_gen/src/typescript.ts+27-6
- capi/src/group_component.rs+57
- capi/src/group_component_state.rs+41
- capi/src/layout_editor_state.rs+31-1
- capi/src/layout_state.rs+17-3
- capi/src/lib.rs+2
- capi/src/setting_value.rs+18
- crates/livesplit-auto-splitting/src/runtime/api/wasi/windows.rs+1-1
- crates/livesplit-auto-splitting/src/timer.rs+2-2
- src/comparison/mod.rs+1-1
- src/comparison/none.rs+1-1
- src/component/current_comparison.rs+2-2
- src/component/current_pace.rs+2-2
- src/component/delta/mod.rs+1-1
- src/component/group.rs+176
- src/component/key_value.rs+2-2
- src/component/mod.rs+2
- src/component/pb_chance.rs+2-2
- src/component/possible_time_save.rs+2-2
- src/component/previous_segment.rs+1-1
- src/component/segment_time/mod.rs+2-2
- src/component/splits/column.rs+1-1
- src/component/sum_of_best.rs+2-2
- src/component/text/mod.rs+4-4
- src/component/timer.rs+1-1
- src/component/title/mod.rs+4-4
- src/component/total_playtime.rs+2-2
- src/layout/component.rs+44-12
- src/layout/component_settings.rs+8-3
- src/layout/component_state.rs+4-1
- src/layout/editor/mod.rs+439-68
- src/layout/editor/state.rs+71-12
- src/layout/editor/tests.rs+764
- src/layout/general_settings.rs+3-3
- src/layout/layout_direction.rs+11-1
- src/layout/layout_state.rs+7-3
- src/layout/mod.rs+1
- src/layout/parser/mod.rs+2
- src/localization/brazilian_portuguese.rs+11
- src/localization/chinese_simplified.rs+7
- src/localization/chinese_traditional.rs+4
- src/localization/dutch.rs+11
- src/localization/english.rs+11
- src/localization/french.rs+11
- src/localization/german.rs+12-1
- src/localization/italian.rs+11
- src/localization/japanese.rs+11
- src/localization/korean.rs+11
- src/localization/mod.rs+7
- src/localization/polish.rs+11
- src/localization/portuguese.rs+11
- src/localization/russian.rs+11
- src/localization/spanish.rs+11
- src/rendering/component/group.rs+107
- src/rendering/component/key_value.rs+1-1
- src/rendering/component/mod.rs+118-23
- src/rendering/component/splits.rs+9-5
- src/rendering/component/text.rs+1-1
- src/rendering/mod.rs+67-4
- src/run/attempt.rs+1-1
- src/run/editor/cleaning.rs+1-1
- src/run/mod.rs+1-1
- src/run/segment.rs+1-1
- src/run/segment_history.rs+4-4
- src/settings/value.rs+22
- src/timing/time.rs+1-1
- src/timing/time_span.rs+1-1
- src/timing/timer/mod.rs+2-2
- tests/rendering.rs+71-1
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
59 | 64 | | |
60 | 65 | | |
61 | 66 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
247 | 247 | | |
248 | 248 | | |
249 | 249 | | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
250 | 254 | | |
251 | 255 | | |
252 | 256 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
247 | 247 | | |
248 | 248 | | |
249 | 249 | | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
250 | 254 | | |
251 | 255 | | |
252 | 256 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
247 | 247 | | |
248 | 248 | | |
249 | 249 | | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
250 | 254 | | |
251 | 255 | | |
252 | 256 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
247 | 247 | | |
248 | 248 | | |
249 | 249 | | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
250 | 254 | | |
251 | 255 | | |
252 | 256 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
247 | 247 | | |
248 | 248 | | |
249 | 249 | | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
250 | 254 | | |
251 | 255 | | |
252 | 256 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
260 | 260 | | |
261 | 261 | | |
262 | 262 | | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
263 | 267 | | |
264 | 268 | | |
265 | 269 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
247 | 247 | | |
248 | 248 | | |
249 | 249 | | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
250 | 254 | | |
251 | 255 | | |
252 | 256 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
247 | 247 | | |
248 | 248 | | |
249 | 249 | | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
250 | 254 | | |
251 | 255 | | |
252 | 256 | | |
| |||
0 commit comments