detached 59ad951

refactor(domain): move the pane layout tree to internal/domain/layout

The split tree only depends on domain values and is shared by the daemon
and the snapshot codec, so it belongs in the domain layer.
commit
59ad951fe1daadee599158fffd4cc5ce5b5b71b6
author
brice · · 2026-10-08 05:22 UTC
parent
aebe61c
signature
GPG VerifiedCD88F9E564E0102646FB6077A1A07C7C7C3E349D · arch-gpg Verified for the committer email
90 files · +79 -79
M docs/architecture.md +1 -1
@@ -14,7 +14,7 @@ Every result keeps its request ID for strict correlation.
1414
1515 ## Package ownership
1616
17-- `internal/domain`: pure shared values and invariants. `domain/terminalcap` owns terminal capability values and environment detection policy.
17+- `internal/domain`: pure shared values and invariants. `domain/terminalcap` owns terminal capability values and environment detection policy. `domain/layout` owns the pure pane split tree and its geometry.
1818 - `internal/protocol`: typed, transport-neutral client/daemon messages, protocol version, semantic validation, and handshake policy.
1919 - `internal/protocol/catalogue`: independently versioned remote discovery JSON schema and bounded validation.
2020 - `internal/protocol/wire`: Protobuf wire contract. Sources of truth are
@@ -14,7 +14,7 @@ Every result keeps its request ID for strict correlation.
14 14
15 ## Package ownership15 ## Package ownership
16 16
17-- `internal/domain`: pure shared values and invariants. `domain/terminalcap` owns terminal capability values and environment detection policy.17+- `internal/domain`: pure shared values and invariants. `domain/terminalcap` owns terminal capability values and environment detection policy. `domain/layout` owns the pure pane split tree and its geometry.
18 - `internal/protocol`: typed, transport-neutral client/daemon messages, protocol version, semantic validation, and handshake policy.18 - `internal/protocol`: typed, transport-neutral client/daemon messages, protocol version, semantic validation, and handshake policy.
19 - `internal/protocol/catalogue`: independently versioned remote discovery JSON schema and bounded validation.19 - `internal/protocol/catalogue`: independently versioned remote discovery JSON schema and bounded validation.
20 - `internal/protocol/wire`: Protobuf wire contract. Sources of truth are20 - `internal/protocol/wire`: Protobuf wire contract. Sources of truth are
R internal/usecase/layout/consume_expel.go → internal/domain/layout/consume_expel.go +0 -0 renamed, 100% similar

renamed, 100% similar

R internal/usecase/layout/consume_expel_test.go → internal/domain/layout/consume_expel_test.go +0 -0 renamed, 100% similar

renamed, 100% similar

R internal/usecase/layout/cross_focus_test.go → internal/domain/layout/cross_focus_test.go +0 -0 renamed, 100% similar

renamed, 100% similar

R internal/usecase/layout/dividers.go → internal/domain/layout/dividers.go +0 -0 renamed, 100% similar

renamed, 100% similar

R internal/usecase/layout/dividers_test.go → internal/domain/layout/dividers_test.go +0 -0 renamed, 100% similar

renamed, 100% similar

R internal/usecase/layout/geometry.go → internal/domain/layout/geometry.go +0 -0 renamed, 100% similar

renamed, 100% similar

R internal/usecase/layout/layout_test.go → internal/domain/layout/layout_test.go +0 -0 renamed, 100% similar

renamed, 100% similar

R internal/usecase/layout/ops.go → internal/domain/layout/ops.go +0 -0 renamed, 100% similar

renamed, 100% similar

R internal/usecase/layout/resize_test.go → internal/domain/layout/resize_test.go +0 -0 renamed, 100% similar

renamed, 100% similar

R internal/usecase/layout/tree.go → internal/domain/layout/tree.go +0 -0 renamed, 100% similar

renamed, 100% similar

R internal/usecase/layout/weights_test.go → internal/domain/layout/weights_test.go +0 -0 renamed, 100% similar

renamed, 100% similar

M internal/usecase/daemon/attachment_output_test.go +1 -1
@@ -9,10 +9,10 @@ import (
99 renderer "github.com/bnema/vev-vt/ansi"
1010 "github.com/bnema/vev-vt/graphics"
1111 "github.com/bnema/vev/internal/domain"
12+ "github.com/bnema/vev/internal/domain/layout"
1213 "github.com/bnema/vev/internal/domain/terminalcap"
1314 "github.com/bnema/vev/internal/protocol"
1415 "github.com/bnema/vev/internal/protocol/wire"
15- "github.com/bnema/vev/internal/usecase/layout"
1616 "github.com/stretchr/testify/require"
1717 )
1818
@@ -9,10 +9,10 @@ import (
9 renderer "github.com/bnema/vev-vt/ansi"9 renderer "github.com/bnema/vev-vt/ansi"
10 "github.com/bnema/vev-vt/graphics"10 "github.com/bnema/vev-vt/graphics"
11 "github.com/bnema/vev/internal/domain"11 "github.com/bnema/vev/internal/domain"
12+ "github.com/bnema/vev/internal/domain/layout"
12 "github.com/bnema/vev/internal/domain/terminalcap"13 "github.com/bnema/vev/internal/domain/terminalcap"
13 "github.com/bnema/vev/internal/protocol"14 "github.com/bnema/vev/internal/protocol"
14 "github.com/bnema/vev/internal/protocol/wire"15 "github.com/bnema/vev/internal/protocol/wire"
15- "github.com/bnema/vev/internal/usecase/layout"
16 "github.com/stretchr/testify/require"16 "github.com/stretchr/testify/require"
17 )17 )
18 18
M internal/usecase/daemon/attention_test.go +1 -1
@@ -12,11 +12,11 @@ import (
1212
1313 renderer "github.com/bnema/vev-vt"
1414 "github.com/bnema/vev/internal/domain"
15+ "github.com/bnema/vev/internal/domain/layout"
1516 "github.com/bnema/vev/internal/ports"
1617 "github.com/bnema/vev/internal/protocol"
1718 "github.com/bnema/vev/internal/protocol/wire"
1819 "github.com/bnema/vev/internal/usecase/keys"
19- "github.com/bnema/vev/internal/usecase/layout"
2020 "github.com/bnema/vev/internal/usecase/ui"
2121 )
2222
@@ -12,11 +12,11 @@ import (
12 12
13 renderer "github.com/bnema/vev-vt"13 renderer "github.com/bnema/vev-vt"
14 "github.com/bnema/vev/internal/domain"14 "github.com/bnema/vev/internal/domain"
15+ "github.com/bnema/vev/internal/domain/layout"
15 "github.com/bnema/vev/internal/ports"16 "github.com/bnema/vev/internal/ports"
16 "github.com/bnema/vev/internal/protocol"17 "github.com/bnema/vev/internal/protocol"
17 "github.com/bnema/vev/internal/protocol/wire"18 "github.com/bnema/vev/internal/protocol/wire"
18 "github.com/bnema/vev/internal/usecase/keys"19 "github.com/bnema/vev/internal/usecase/keys"
19- "github.com/bnema/vev/internal/usecase/layout"
20 "github.com/bnema/vev/internal/usecase/ui"20 "github.com/bnema/vev/internal/usecase/ui"
21 )21 )
22 22
M internal/usecase/daemon/bar_refresh_test.go +1 -1
@@ -11,9 +11,9 @@ import (
1111 "time"
1212
1313 "github.com/bnema/vev/internal/domain"
14+ "github.com/bnema/vev/internal/domain/layout"
1415 "github.com/bnema/vev/internal/ports"
1516 portsmocks "github.com/bnema/vev/internal/ports/mocks"
16- "github.com/bnema/vev/internal/usecase/layout"
1717 "github.com/stretchr/testify/mock"
1818 "github.com/stretchr/testify/require"
1919 )
@@ -11,9 +11,9 @@ import (
11 "time"11 "time"
12 12
13 "github.com/bnema/vev/internal/domain"13 "github.com/bnema/vev/internal/domain"
14+ "github.com/bnema/vev/internal/domain/layout"
14 "github.com/bnema/vev/internal/ports"15 "github.com/bnema/vev/internal/ports"
15 portsmocks "github.com/bnema/vev/internal/ports/mocks"16 portsmocks "github.com/bnema/vev/internal/ports/mocks"
16- "github.com/bnema/vev/internal/usecase/layout"
17 "github.com/stretchr/testify/mock"17 "github.com/stretchr/testify/mock"
18 "github.com/stretchr/testify/require"18 "github.com/stretchr/testify/require"
19 )19 )
M internal/usecase/daemon/control.go +1 -1
@@ -11,11 +11,11 @@ import (
1111 "strings"
1212
1313 "github.com/bnema/vev/internal/domain"
14+ "github.com/bnema/vev/internal/domain/layout"
1415 "github.com/bnema/vev/internal/ports"
1516 "github.com/bnema/vev/internal/protocol"
1617 "github.com/bnema/vev/internal/protocol/catalogue"
1718 "github.com/bnema/vev/internal/usecase/command"
18- "github.com/bnema/vev/internal/usecase/layout"
1919 )
2020
2121 // handleCommand serves one typed one-shot control request.
@@ -11,11 +11,11 @@ import (
11 "strings"11 "strings"
12 12
13 "github.com/bnema/vev/internal/domain"13 "github.com/bnema/vev/internal/domain"
14+ "github.com/bnema/vev/internal/domain/layout"
14 "github.com/bnema/vev/internal/ports"15 "github.com/bnema/vev/internal/ports"
15 "github.com/bnema/vev/internal/protocol"16 "github.com/bnema/vev/internal/protocol"
16 "github.com/bnema/vev/internal/protocol/catalogue"17 "github.com/bnema/vev/internal/protocol/catalogue"
17 "github.com/bnema/vev/internal/usecase/command"18 "github.com/bnema/vev/internal/usecase/command"
18- "github.com/bnema/vev/internal/usecase/layout"
19 )19 )
20 20
21 // handleCommand serves one typed one-shot control request.21 // handleCommand serves one typed one-shot control request.
M internal/usecase/daemon/control_test.go +1 -1
@@ -14,13 +14,13 @@ import (
1414 "time"
1515
1616 "github.com/bnema/vev/internal/domain"
17+ "github.com/bnema/vev/internal/domain/layout"
1718 appports "github.com/bnema/vev/internal/ports"
1819 portsmocks "github.com/bnema/vev/internal/ports/mocks"
1920 "github.com/bnema/vev/internal/protocol"
2021 "github.com/bnema/vev/internal/protocol/catalogue"
2122 "github.com/bnema/vev/internal/protocol/wire"
2223 "github.com/bnema/vev/internal/usecase/command"
23- "github.com/bnema/vev/internal/usecase/layout"
2424 "github.com/stretchr/testify/mock"
2525 "github.com/stretchr/testify/require"
2626 )
@@ -14,13 +14,13 @@ import (
14 "time"14 "time"
15 15
16 "github.com/bnema/vev/internal/domain"16 "github.com/bnema/vev/internal/domain"
17+ "github.com/bnema/vev/internal/domain/layout"
17 appports "github.com/bnema/vev/internal/ports"18 appports "github.com/bnema/vev/internal/ports"
18 portsmocks "github.com/bnema/vev/internal/ports/mocks"19 portsmocks "github.com/bnema/vev/internal/ports/mocks"
19 "github.com/bnema/vev/internal/protocol"20 "github.com/bnema/vev/internal/protocol"
20 "github.com/bnema/vev/internal/protocol/catalogue"21 "github.com/bnema/vev/internal/protocol/catalogue"
21 "github.com/bnema/vev/internal/protocol/wire"22 "github.com/bnema/vev/internal/protocol/wire"
22 "github.com/bnema/vev/internal/usecase/command"23 "github.com/bnema/vev/internal/usecase/command"
23- "github.com/bnema/vev/internal/usecase/layout"
24 "github.com/stretchr/testify/mock"24 "github.com/stretchr/testify/mock"
25 "github.com/stretchr/testify/require"25 "github.com/stretchr/testify/require"
26 )26 )
M internal/usecase/daemon/copymode_lifecycle_test.go +1 -1
@@ -8,9 +8,9 @@ import (
88 "github.com/stretchr/testify/require"
99
1010 "github.com/bnema/vev/internal/domain"
11+ "github.com/bnema/vev/internal/domain/layout"
1112 portsmocks "github.com/bnema/vev/internal/ports/mocks"
1213 scopy "github.com/bnema/vev/internal/usecase/copy"
13- "github.com/bnema/vev/internal/usecase/layout"
1414 )
1515
1616 func TestCopyModeLifecycleResizeExitsBeforeGeometryChange(t *testing.T) {
@@ -8,9 +8,9 @@ import (
8 "github.com/stretchr/testify/require"8 "github.com/stretchr/testify/require"
9 9
10 "github.com/bnema/vev/internal/domain"10 "github.com/bnema/vev/internal/domain"
11+ "github.com/bnema/vev/internal/domain/layout"
11 portsmocks "github.com/bnema/vev/internal/ports/mocks"12 portsmocks "github.com/bnema/vev/internal/ports/mocks"
12 scopy "github.com/bnema/vev/internal/usecase/copy"13 scopy "github.com/bnema/vev/internal/usecase/copy"
13- "github.com/bnema/vev/internal/usecase/layout"
14 )14 )
15 15
16 func TestCopyModeLifecycleResizeExitsBeforeGeometryChange(t *testing.T) {16 func TestCopyModeLifecycleResizeExitsBeforeGeometryChange(t *testing.T) {
M internal/usecase/daemon/copymode_test.go +1 -1
@@ -17,12 +17,12 @@ import (
1717 vt "github.com/bnema/vev-vt"
1818 renderer "github.com/bnema/vev-vt/ansi"
1919 "github.com/bnema/vev/internal/domain"
20+ "github.com/bnema/vev/internal/domain/layout"
2021 "github.com/bnema/vev/internal/ports"
2122 portsmocks "github.com/bnema/vev/internal/ports/mocks"
2223 "github.com/bnema/vev/internal/protocol"
2324 "github.com/bnema/vev/internal/protocol/wire"
2425 scopy "github.com/bnema/vev/internal/usecase/copy"
25- "github.com/bnema/vev/internal/usecase/layout"
2626 "github.com/bnema/vev/internal/usecase/ui"
2727 )
2828
@@ -17,12 +17,12 @@ import (
17 vt "github.com/bnema/vev-vt"17 vt "github.com/bnema/vev-vt"
18 renderer "github.com/bnema/vev-vt/ansi"18 renderer "github.com/bnema/vev-vt/ansi"
19 "github.com/bnema/vev/internal/domain"19 "github.com/bnema/vev/internal/domain"
20+ "github.com/bnema/vev/internal/domain/layout"
20 "github.com/bnema/vev/internal/ports"21 "github.com/bnema/vev/internal/ports"
21 portsmocks "github.com/bnema/vev/internal/ports/mocks"22 portsmocks "github.com/bnema/vev/internal/ports/mocks"
22 "github.com/bnema/vev/internal/protocol"23 "github.com/bnema/vev/internal/protocol"
23 "github.com/bnema/vev/internal/protocol/wire"24 "github.com/bnema/vev/internal/protocol/wire"
24 scopy "github.com/bnema/vev/internal/usecase/copy"25 scopy "github.com/bnema/vev/internal/usecase/copy"
25- "github.com/bnema/vev/internal/usecase/layout"
26 "github.com/bnema/vev/internal/usecase/ui"26 "github.com/bnema/vev/internal/usecase/ui"
27 )27 )
28 28
M internal/usecase/daemon/final_acceptance_test.go +1 -1
@@ -5,8 +5,8 @@ import (
55
66 vt "github.com/bnema/vev-vt"
77 "github.com/bnema/vev/internal/domain"
8+ "github.com/bnema/vev/internal/domain/layout"
89 "github.com/bnema/vev/internal/protocol"
9- "github.com/bnema/vev/internal/usecase/layout"
1010 "github.com/stretchr/testify/require"
1111 )
1212
@@ -5,8 +5,8 @@ import (
5 5
6 vt "github.com/bnema/vev-vt"6 vt "github.com/bnema/vev-vt"
7 "github.com/bnema/vev/internal/domain"7 "github.com/bnema/vev/internal/domain"
8+ "github.com/bnema/vev/internal/domain/layout"
8 "github.com/bnema/vev/internal/protocol"9 "github.com/bnema/vev/internal/protocol"
9- "github.com/bnema/vev/internal/usecase/layout"
10 "github.com/stretchr/testify/require"10 "github.com/stretchr/testify/require"
11 )11 )
12 12
M internal/usecase/daemon/floating.go +1 -1
@@ -6,7 +6,7 @@ import (
66 "strings"
77
88 "github.com/bnema/vev/internal/domain"
9- "github.com/bnema/vev/internal/usecase/layout"
9+ "github.com/bnema/vev/internal/domain/layout"
1010 )
1111
1212 // floatingState describes the lifecycle of a tab's independent floating pane.
@@ -6,7 +6,7 @@ import (
6 "strings"6 "strings"
7 7
8 "github.com/bnema/vev/internal/domain"8 "github.com/bnema/vev/internal/domain"
9- "github.com/bnema/vev/internal/usecase/layout"9+ "github.com/bnema/vev/internal/domain/layout"
10 )10 )
11 11
12 // floatingState describes the lifecycle of a tab's independent floating pane.12 // floatingState describes the lifecycle of a tab's independent floating pane.
M internal/usecase/daemon/floating_render_test.go +1 -1
@@ -11,7 +11,7 @@ import (
1111
1212 renderer "github.com/bnema/vev-vt/ansi"
1313 "github.com/bnema/vev/internal/domain"
14- "github.com/bnema/vev/internal/usecase/layout"
14+ "github.com/bnema/vev/internal/domain/layout"
1515 themeui "github.com/bnema/vev/internal/usecase/theme"
1616 "github.com/bnema/vev/internal/usecase/ui"
1717 )
@@ -11,7 +11,7 @@ import (
11 11
12 renderer "github.com/bnema/vev-vt/ansi"12 renderer "github.com/bnema/vev-vt/ansi"
13 "github.com/bnema/vev/internal/domain"13 "github.com/bnema/vev/internal/domain"
14- "github.com/bnema/vev/internal/usecase/layout"14+ "github.com/bnema/vev/internal/domain/layout"
15 themeui "github.com/bnema/vev/internal/usecase/theme"15 themeui "github.com/bnema/vev/internal/usecase/theme"
16 "github.com/bnema/vev/internal/usecase/ui"16 "github.com/bnema/vev/internal/usecase/ui"
17 )17 )
M internal/usecase/daemon/floating_spare.go +1 -1
@@ -1,7 +1,7 @@
11 package daemon
22
33 import (
4- "github.com/bnema/vev/internal/usecase/layout"
4+ "github.com/bnema/vev/internal/domain/layout"
55 )
66
77 // floatingSpare is one pre-started floating shell owned by a session rather
@@ -1,7 +1,7 @@
1 package daemon1 package daemon
2 2
3 import (3 import (
4- "github.com/bnema/vev/internal/usecase/layout"4+ "github.com/bnema/vev/internal/domain/layout"
5 )5 )
6 6
7 // floatingSpare is one pre-started floating shell owned by a session rather7 // floatingSpare is one pre-started floating shell owned by a session rather
M internal/usecase/daemon/floating_test.go +1 -1
@@ -15,12 +15,12 @@ import (
1515 "github.com/stretchr/testify/require"
1616
1717 "github.com/bnema/vev/internal/domain"
18+ "github.com/bnema/vev/internal/domain/layout"
1819 "github.com/bnema/vev/internal/ports"
1920 portsmocks "github.com/bnema/vev/internal/ports/mocks"
2021 "github.com/bnema/vev/internal/protocol"
2122 "github.com/bnema/vev/internal/protocol/wire"
2223 scopy "github.com/bnema/vev/internal/usecase/copy"
23- "github.com/bnema/vev/internal/usecase/layout"
2424 themeui "github.com/bnema/vev/internal/usecase/theme"
2525 )
2626
@@ -15,12 +15,12 @@ import (
15 "github.com/stretchr/testify/require"15 "github.com/stretchr/testify/require"
16 16
17 "github.com/bnema/vev/internal/domain"17 "github.com/bnema/vev/internal/domain"
18+ "github.com/bnema/vev/internal/domain/layout"
18 "github.com/bnema/vev/internal/ports"19 "github.com/bnema/vev/internal/ports"
19 portsmocks "github.com/bnema/vev/internal/ports/mocks"20 portsmocks "github.com/bnema/vev/internal/ports/mocks"
20 "github.com/bnema/vev/internal/protocol"21 "github.com/bnema/vev/internal/protocol"
21 "github.com/bnema/vev/internal/protocol/wire"22 "github.com/bnema/vev/internal/protocol/wire"
22 scopy "github.com/bnema/vev/internal/usecase/copy"23 scopy "github.com/bnema/vev/internal/usecase/copy"
23- "github.com/bnema/vev/internal/usecase/layout"
24 themeui "github.com/bnema/vev/internal/usecase/theme"24 themeui "github.com/bnema/vev/internal/usecase/theme"
25 )25 )
26 26
M internal/usecase/daemon/graphics_output.go +1 -1
@@ -15,8 +15,8 @@ import (
1515 renderer "github.com/bnema/vev-vt"
1616 "github.com/bnema/vev-vt/graphics"
1717 "github.com/bnema/vev/internal/domain"
18+ "github.com/bnema/vev/internal/domain/layout"
1819 "github.com/bnema/vev/internal/protocol"
19- "github.com/bnema/vev/internal/usecase/layout"
2020 themeui "github.com/bnema/vev/internal/usecase/theme"
2121 )
2222
@@ -15,8 +15,8 @@ import (
15 renderer "github.com/bnema/vev-vt"15 renderer "github.com/bnema/vev-vt"
16 "github.com/bnema/vev-vt/graphics"16 "github.com/bnema/vev-vt/graphics"
17 "github.com/bnema/vev/internal/domain"17 "github.com/bnema/vev/internal/domain"
18+ "github.com/bnema/vev/internal/domain/layout"
18 "github.com/bnema/vev/internal/protocol"19 "github.com/bnema/vev/internal/protocol"
19- "github.com/bnema/vev/internal/usecase/layout"
20 themeui "github.com/bnema/vev/internal/usecase/theme"20 themeui "github.com/bnema/vev/internal/usecase/theme"
21 )21 )
22 22
M internal/usecase/daemon/graphics_output_test.go +1 -1
@@ -13,10 +13,10 @@ import (
1313 vt "github.com/bnema/vev-vt"
1414 "github.com/bnema/vev-vt/graphics"
1515 "github.com/bnema/vev/internal/domain"
16+ "github.com/bnema/vev/internal/domain/layout"
1617 "github.com/bnema/vev/internal/domain/terminalcap"
1718 "github.com/bnema/vev/internal/protocol"
1819 "github.com/bnema/vev/internal/protocol/wire"
19- "github.com/bnema/vev/internal/usecase/layout"
2020 "github.com/stretchr/testify/require"
2121 )
2222
@@ -13,10 +13,10 @@ import (
13 vt "github.com/bnema/vev-vt"13 vt "github.com/bnema/vev-vt"
14 "github.com/bnema/vev-vt/graphics"14 "github.com/bnema/vev-vt/graphics"
15 "github.com/bnema/vev/internal/domain"15 "github.com/bnema/vev/internal/domain"
16+ "github.com/bnema/vev/internal/domain/layout"
16 "github.com/bnema/vev/internal/domain/terminalcap"17 "github.com/bnema/vev/internal/domain/terminalcap"
17 "github.com/bnema/vev/internal/protocol"18 "github.com/bnema/vev/internal/protocol"
18 "github.com/bnema/vev/internal/protocol/wire"19 "github.com/bnema/vev/internal/protocol/wire"
19- "github.com/bnema/vev/internal/usecase/layout"
20 "github.com/stretchr/testify/require"20 "github.com/stretchr/testify/require"
21 )21 )
22 22
M internal/usecase/daemon/input.go +1 -1
@@ -7,10 +7,10 @@ import (
77 "strconv"
88
99 "github.com/bnema/vev/internal/domain"
10+ "github.com/bnema/vev/internal/domain/layout"
1011 "github.com/bnema/vev/internal/usecase/command"
1112 "github.com/bnema/vev/internal/usecase/keys"
1213 "github.com/bnema/vev/internal/usecase/keys/kittykey"
13- "github.com/bnema/vev/internal/usecase/layout"
1414 "github.com/bnema/vev/internal/usecase/mouse"
1515 )
1616
@@ -7,10 +7,10 @@ import (
7 "strconv"7 "strconv"
8 8
9 "github.com/bnema/vev/internal/domain"9 "github.com/bnema/vev/internal/domain"
10+ "github.com/bnema/vev/internal/domain/layout"
10 "github.com/bnema/vev/internal/usecase/command"11 "github.com/bnema/vev/internal/usecase/command"
11 "github.com/bnema/vev/internal/usecase/keys"12 "github.com/bnema/vev/internal/usecase/keys"
12 "github.com/bnema/vev/internal/usecase/keys/kittykey"13 "github.com/bnema/vev/internal/usecase/keys/kittykey"
13- "github.com/bnema/vev/internal/usecase/layout"
14 "github.com/bnema/vev/internal/usecase/mouse"14 "github.com/bnema/vev/internal/usecase/mouse"
15 )15 )
16 16
M internal/usecase/daemon/input_test.go +1 -1
@@ -15,12 +15,12 @@ import (
1515
1616 vt "github.com/bnema/vev-vt"
1717 "github.com/bnema/vev/internal/domain"
18+ "github.com/bnema/vev/internal/domain/layout"
1819 portsmocks "github.com/bnema/vev/internal/ports/mocks"
1920 "github.com/bnema/vev/internal/protocol"
2021 "github.com/bnema/vev/internal/protocol/wire"
2122 scopy "github.com/bnema/vev/internal/usecase/copy"
2223 "github.com/bnema/vev/internal/usecase/keys"
23- "github.com/bnema/vev/internal/usecase/layout"
2424 "github.com/bnema/vev/internal/usecase/mouse"
2525 "github.com/bnema/vev/internal/usecase/picker"
2626 "github.com/bnema/vev/internal/usecase/ui"
@@ -15,12 +15,12 @@ import (
15 15
16 vt "github.com/bnema/vev-vt"16 vt "github.com/bnema/vev-vt"
17 "github.com/bnema/vev/internal/domain"17 "github.com/bnema/vev/internal/domain"
18+ "github.com/bnema/vev/internal/domain/layout"
18 portsmocks "github.com/bnema/vev/internal/ports/mocks"19 portsmocks "github.com/bnema/vev/internal/ports/mocks"
19 "github.com/bnema/vev/internal/protocol"20 "github.com/bnema/vev/internal/protocol"
20 "github.com/bnema/vev/internal/protocol/wire"21 "github.com/bnema/vev/internal/protocol/wire"
21 scopy "github.com/bnema/vev/internal/usecase/copy"22 scopy "github.com/bnema/vev/internal/usecase/copy"
22 "github.com/bnema/vev/internal/usecase/keys"23 "github.com/bnema/vev/internal/usecase/keys"
23- "github.com/bnema/vev/internal/usecase/layout"
24 "github.com/bnema/vev/internal/usecase/mouse"24 "github.com/bnema/vev/internal/usecase/mouse"
25 "github.com/bnema/vev/internal/usecase/picker"25 "github.com/bnema/vev/internal/usecase/picker"
26 "github.com/bnema/vev/internal/usecase/ui"26 "github.com/bnema/vev/internal/usecase/ui"
M internal/usecase/daemon/layout_mutation.go +1 -1
@@ -4,7 +4,7 @@ import (
44 "slices"
55
66 "github.com/bnema/vev/internal/domain"
7- "github.com/bnema/vev/internal/usecase/layout"
7+ "github.com/bnema/vev/internal/domain/layout"
88 )
99
1010 // mutateTargetLayout preserves the publication semantics used by resize and
@@ -4,7 +4,7 @@ import (
4 "slices"4 "slices"
5 5
6 "github.com/bnema/vev/internal/domain"6 "github.com/bnema/vev/internal/domain"
7- "github.com/bnema/vev/internal/usecase/layout"7+ "github.com/bnema/vev/internal/domain/layout"
8 )8 )
9 9
10 // mutateTargetLayout preserves the publication semantics used by resize and10 // mutateTargetLayout preserves the publication semantics used by resize and
M internal/usecase/daemon/mouse_panes.go +1 -1
@@ -6,7 +6,7 @@ import (
66 "strings"
77
88 "github.com/bnema/vev/internal/domain"
9- "github.com/bnema/vev/internal/usecase/layout"
9+ "github.com/bnema/vev/internal/domain/layout"
1010 "github.com/bnema/vev/internal/usecase/mouse"
1111 )
1212
@@ -6,7 +6,7 @@ import (
6 "strings"6 "strings"
7 7
8 "github.com/bnema/vev/internal/domain"8 "github.com/bnema/vev/internal/domain"
9- "github.com/bnema/vev/internal/usecase/layout"9+ "github.com/bnema/vev/internal/domain/layout"
10 "github.com/bnema/vev/internal/usecase/mouse"10 "github.com/bnema/vev/internal/usecase/mouse"
11 )11 )
12 12
M internal/usecase/daemon/move_acceptance_test.go +1 -1
@@ -7,7 +7,7 @@ import (
77 "github.com/stretchr/testify/require"
88
99 "github.com/bnema/vev/internal/domain"
10- "github.com/bnema/vev/internal/usecase/layout"
10+ "github.com/bnema/vev/internal/domain/layout"
1111 )
1212
1313 func catalogueUpdateNames(updates []domain.CatalogueMetadataUpdate) []string {
@@ -7,7 +7,7 @@ import (
7 "github.com/stretchr/testify/require"7 "github.com/stretchr/testify/require"
8 8
9 "github.com/bnema/vev/internal/domain"9 "github.com/bnema/vev/internal/domain"
10- "github.com/bnema/vev/internal/usecase/layout"10+ "github.com/bnema/vev/internal/domain/layout"
11 )11 )
12 12
13 func catalogueUpdateNames(updates []domain.CatalogueMetadataUpdate) []string {13 func catalogueUpdateNames(updates []domain.CatalogueMetadataUpdate) []string {
M internal/usecase/daemon/move_pane_admission.go +1 -1
@@ -1,6 +1,6 @@
11 package daemon
22
3-import "github.com/bnema/vev/internal/usecase/layout"
3+import "github.com/bnema/vev/internal/domain/layout"
44
55 // movePaneTopology is the private pane topology Implementation consumed by the
66 // shared moveTransaction Module.
@@ -1,6 +1,6 @@
1 package daemon1 package daemon
2 2
3-import "github.com/bnema/vev/internal/usecase/layout"3+import "github.com/bnema/vev/internal/domain/layout"
4 4
5 // movePaneTopology is the private pane topology Implementation consumed by the5 // movePaneTopology is the private pane topology Implementation consumed by the
6 // shared moveTransaction Module.6 // shared moveTransaction Module.
M internal/usecase/daemon/move_pane_candidate.go +1 -1
@@ -6,7 +6,7 @@ import (
66 "math"
77
88 "github.com/bnema/vev/internal/domain"
9- "github.com/bnema/vev/internal/usecase/layout"
9+ "github.com/bnema/vev/internal/domain/layout"
1010 )
1111
1212 // movePaneCandidate contains only unpublished topology and identity changes.
@@ -6,7 +6,7 @@ import (
6 "math"6 "math"
7 7
8 "github.com/bnema/vev/internal/domain"8 "github.com/bnema/vev/internal/domain"
9- "github.com/bnema/vev/internal/usecase/layout"9+ "github.com/bnema/vev/internal/domain/layout"
10 )10 )
11 11
12 // movePaneCandidate contains only unpublished topology and identity changes.12 // movePaneCandidate contains only unpublished topology and identity changes.
M internal/usecase/daemon/move_pane_commit.go +1 -1
@@ -1,6 +1,6 @@
11 package daemon
22
3-import "github.com/bnema/vev/internal/usecase/layout"
3+import "github.com/bnema/vev/internal/domain/layout"
44
55 // movePaneCommit owns pane-private validation and publication. The shared
66 // moveTransaction already holds daemon, routing, ordered Session, and resize
@@ -1,6 +1,6 @@
1 package daemon1 package daemon
2 2
3-import "github.com/bnema/vev/internal/usecase/layout"3+import "github.com/bnema/vev/internal/domain/layout"
4 4
5 // movePaneCommit owns pane-private validation and publication. The shared5 // movePaneCommit owns pane-private validation and publication. The shared
6 // moveTransaction already holds daemon, routing, ordered Session, and resize6 // moveTransaction already holds daemon, routing, ordered Session, and resize
M internal/usecase/daemon/move_rejection.go +1 -1
@@ -4,8 +4,8 @@ import (
44 "errors"
55
66 "github.com/bnema/vev/internal/domain"
7+ "github.com/bnema/vev/internal/domain/layout"
78 "github.com/bnema/vev/internal/protocol"
8- "github.com/bnema/vev/internal/usecase/layout"
99 )
1010
1111 // moveRejectionReason is the daemon API category for a rejected move. It keeps
@@ -4,8 +4,8 @@ import (
4 "errors"4 "errors"
5 5
6 "github.com/bnema/vev/internal/domain"6 "github.com/bnema/vev/internal/domain"
7+ "github.com/bnema/vev/internal/domain/layout"
7 "github.com/bnema/vev/internal/protocol"8 "github.com/bnema/vev/internal/protocol"
8- "github.com/bnema/vev/internal/usecase/layout"
9 )9 )
10 10
11 // moveRejectionReason is the daemon API category for a rejected move. It keeps11 // moveRejectionReason is the daemon API category for a rejected move. It keeps
M internal/usecase/daemon/move_rejection_test.go +1 -1
@@ -7,8 +7,8 @@ import (
77 "github.com/stretchr/testify/require"
88
99 "github.com/bnema/vev/internal/domain"
10+ "github.com/bnema/vev/internal/domain/layout"
1011 "github.com/bnema/vev/internal/protocol"
11- "github.com/bnema/vev/internal/usecase/layout"
1212 )
1313
1414 func TestMoveRejectionCategoriesPreserveLegacyIdentity(t *testing.T) {
@@ -7,8 +7,8 @@ import (
7 "github.com/stretchr/testify/require"7 "github.com/stretchr/testify/require"
8 8
9 "github.com/bnema/vev/internal/domain"9 "github.com/bnema/vev/internal/domain"
10+ "github.com/bnema/vev/internal/domain/layout"
10 "github.com/bnema/vev/internal/protocol"11 "github.com/bnema/vev/internal/protocol"
11- "github.com/bnema/vev/internal/usecase/layout"
12 )12 )
13 13
14 func TestMoveRejectionCategoriesPreserveLegacyIdentity(t *testing.T) {14 func TestMoveRejectionCategoriesPreserveLegacyIdentity(t *testing.T) {
M internal/usecase/daemon/move_resize_fences_test.go +1 -1
@@ -7,7 +7,7 @@ import (
77
88 "github.com/stretchr/testify/require"
99
10- "github.com/bnema/vev/internal/usecase/layout"
10+ "github.com/bnema/vev/internal/domain/layout"
1111 )
1212
1313 func requireMutexLocked(t *testing.T, mu *sync.Mutex, message string) {
@@ -7,7 +7,7 @@ import (
7 7
8 "github.com/stretchr/testify/require"8 "github.com/stretchr/testify/require"
9 9
10- "github.com/bnema/vev/internal/usecase/layout"10+ "github.com/bnema/vev/internal/domain/layout"
11 )11 )
12 12
13 func requireMutexLocked(t *testing.T, mu *sync.Mutex, message string) {13 func requireMutexLocked(t *testing.T, mu *sync.Mutex, message string) {
M internal/usecase/daemon/move_tab.go +1 -1
@@ -4,7 +4,7 @@ import (
44 "context"
55
66 "github.com/bnema/vev/internal/domain"
7- "github.com/bnema/vev/internal/usecase/layout"
7+ "github.com/bnema/vev/internal/domain/layout"
88 )
99
1010 // moveTabTopology is the private whole-Tab topology Implementation consumed by
@@ -4,7 +4,7 @@ import (
4 "context"4 "context"
5 5
6 "github.com/bnema/vev/internal/domain"6 "github.com/bnema/vev/internal/domain"
7- "github.com/bnema/vev/internal/usecase/layout"7+ "github.com/bnema/vev/internal/domain/layout"
8 )8 )
9 9
10 // moveTabTopology is the private whole-Tab topology Implementation consumed by10 // moveTabTopology is the private whole-Tab topology Implementation consumed by
M internal/usecase/daemon/move_test.go +1 -1
@@ -8,7 +8,7 @@ import (
88 "github.com/stretchr/testify/require"
99
1010 "github.com/bnema/vev/internal/domain"
11- "github.com/bnema/vev/internal/usecase/layout"
11+ "github.com/bnema/vev/internal/domain/layout"
1212 )
1313
1414 func TestMovePaneMutationSameSession(t *testing.T) {
@@ -8,7 +8,7 @@ import (
8 "github.com/stretchr/testify/require"8 "github.com/stretchr/testify/require"
9 9
10 "github.com/bnema/vev/internal/domain"10 "github.com/bnema/vev/internal/domain"
11- "github.com/bnema/vev/internal/usecase/layout"11+ "github.com/bnema/vev/internal/domain/layout"
12 )12 )
13 13
14 func TestMovePaneMutationSameSession(t *testing.T) {14 func TestMovePaneMutationSameSession(t *testing.T) {
M internal/usecase/daemon/multi_attachment_callers_test.go +1 -1
@@ -5,7 +5,7 @@ import (
55 "testing"
66
77 "github.com/bnema/vev/internal/domain"
8- "github.com/bnema/vev/internal/usecase/layout"
8+ "github.com/bnema/vev/internal/domain/layout"
99 "github.com/stretchr/testify/require"
1010 )
1111
@@ -5,7 +5,7 @@ import (
5 "testing"5 "testing"
6 6
7 "github.com/bnema/vev/internal/domain"7 "github.com/bnema/vev/internal/domain"
8- "github.com/bnema/vev/internal/usecase/layout"8+ "github.com/bnema/vev/internal/domain/layout"
9 "github.com/stretchr/testify/require"9 "github.com/stretchr/testify/require"
10 )10 )
11 11
M internal/usecase/daemon/navigation_attachment_handoff_test.go +1 -1
@@ -6,8 +6,8 @@ import (
66 "time"
77
88 "github.com/bnema/vev/internal/domain"
9+ "github.com/bnema/vev/internal/domain/layout"
910 "github.com/bnema/vev/internal/protocol"
10- "github.com/bnema/vev/internal/usecase/layout"
1111 "github.com/bnema/vev/internal/usecase/picker"
1212 "github.com/stretchr/testify/require"
1313 )
@@ -6,8 +6,8 @@ import (
6 "time"6 "time"
7 7
8 "github.com/bnema/vev/internal/domain"8 "github.com/bnema/vev/internal/domain"
9+ "github.com/bnema/vev/internal/domain/layout"
9 "github.com/bnema/vev/internal/protocol"10 "github.com/bnema/vev/internal/protocol"
10- "github.com/bnema/vev/internal/usecase/layout"
11 "github.com/bnema/vev/internal/usecase/picker"11 "github.com/bnema/vev/internal/usecase/picker"
12 "github.com/stretchr/testify/require"12 "github.com/stretchr/testify/require"
13 )13 )
M internal/usecase/daemon/navigation_overflow.go +1 -1
@@ -4,7 +4,7 @@ import (
44 "sort"
55
66 "github.com/bnema/vev/internal/domain"
7- "github.com/bnema/vev/internal/usecase/layout"
7+ "github.com/bnema/vev/internal/domain/layout"
88 "github.com/bnema/vev/internal/usecase/picker"
99 )
1010
@@ -4,7 +4,7 @@ import (
4 "sort"4 "sort"
5 5
6 "github.com/bnema/vev/internal/domain"6 "github.com/bnema/vev/internal/domain"
7- "github.com/bnema/vev/internal/usecase/layout"7+ "github.com/bnema/vev/internal/domain/layout"
8 "github.com/bnema/vev/internal/usecase/picker"8 "github.com/bnema/vev/internal/usecase/picker"
9 )9 )
10 10
M internal/usecase/daemon/navigation_overflow_test.go +1 -1
@@ -7,8 +7,8 @@ import (
77 "github.com/stretchr/testify/require"
88
99 "github.com/bnema/vev/internal/domain"
10+ "github.com/bnema/vev/internal/domain/layout"
1011 "github.com/bnema/vev/internal/usecase/keys"
11- "github.com/bnema/vev/internal/usecase/layout"
1212 "github.com/bnema/vev/internal/usecase/picker"
1313 )
1414
@@ -7,8 +7,8 @@ import (
7 "github.com/stretchr/testify/require"7 "github.com/stretchr/testify/require"
8 8
9 "github.com/bnema/vev/internal/domain"9 "github.com/bnema/vev/internal/domain"
10+ "github.com/bnema/vev/internal/domain/layout"
10 "github.com/bnema/vev/internal/usecase/keys"11 "github.com/bnema/vev/internal/usecase/keys"
11- "github.com/bnema/vev/internal/usecase/layout"
12 "github.com/bnema/vev/internal/usecase/picker"12 "github.com/bnema/vev/internal/usecase/picker"
13 )13 )
14 14
M internal/usecase/daemon/nil_pty_test.go +1 -1
@@ -9,8 +9,8 @@ import (
99 "github.com/stretchr/testify/require"
1010
1111 "github.com/bnema/vev/internal/domain"
12+ "github.com/bnema/vev/internal/domain/layout"
1213 "github.com/bnema/vev/internal/protocol"
13- "github.com/bnema/vev/internal/usecase/layout"
1414 )
1515
1616 func TestNilPTYLifecyclePathsDoNotPanic(t *testing.T) {
@@ -9,8 +9,8 @@ import (
9 "github.com/stretchr/testify/require"9 "github.com/stretchr/testify/require"
10 10
11 "github.com/bnema/vev/internal/domain"11 "github.com/bnema/vev/internal/domain"
12+ "github.com/bnema/vev/internal/domain/layout"
12 "github.com/bnema/vev/internal/protocol"13 "github.com/bnema/vev/internal/protocol"
13- "github.com/bnema/vev/internal/usecase/layout"
14 )14 )
15 15
16 func TestNilPTYLifecyclePathsDoNotPanic(t *testing.T) {16 func TestNilPTYLifecyclePathsDoNotPanic(t *testing.T) {
M internal/usecase/daemon/palette.go +1 -1
@@ -7,9 +7,9 @@ import (
77
88 renderer "github.com/bnema/vev-vt"
99 "github.com/bnema/vev/internal/domain"
10+ "github.com/bnema/vev/internal/domain/layout"
1011 "github.com/bnema/vev/internal/protocol"
1112 "github.com/bnema/vev/internal/usecase/command"
12- "github.com/bnema/vev/internal/usecase/layout"
1313 "github.com/bnema/vev/internal/usecase/palette"
1414 "github.com/bnema/vev/internal/usecase/picker"
1515 themeui "github.com/bnema/vev/internal/usecase/theme"
@@ -7,9 +7,9 @@ import (
7 7
8 renderer "github.com/bnema/vev-vt"8 renderer "github.com/bnema/vev-vt"
9 "github.com/bnema/vev/internal/domain"9 "github.com/bnema/vev/internal/domain"
10+ "github.com/bnema/vev/internal/domain/layout"
10 "github.com/bnema/vev/internal/protocol"11 "github.com/bnema/vev/internal/protocol"
11 "github.com/bnema/vev/internal/usecase/command"12 "github.com/bnema/vev/internal/usecase/command"
12- "github.com/bnema/vev/internal/usecase/layout"
13 "github.com/bnema/vev/internal/usecase/palette"13 "github.com/bnema/vev/internal/usecase/palette"
14 "github.com/bnema/vev/internal/usecase/picker"14 "github.com/bnema/vev/internal/usecase/picker"
15 themeui "github.com/bnema/vev/internal/usecase/theme"15 themeui "github.com/bnema/vev/internal/usecase/theme"
M internal/usecase/daemon/pane.go +1 -1
@@ -7,8 +7,8 @@ import (
77
88 vt "github.com/bnema/vev-vt"
99 "github.com/bnema/vev/internal/domain"
10+ "github.com/bnema/vev/internal/domain/layout"
1011 "github.com/bnema/vev/internal/ports"
11- "github.com/bnema/vev/internal/usecase/layout"
1212 )
1313
1414 // paneProcessLifetime owns the context passed to PTYFactory.Open. Its daemon
@@ -7,8 +7,8 @@ import (
7 7
8 vt "github.com/bnema/vev-vt"8 vt "github.com/bnema/vev-vt"
9 "github.com/bnema/vev/internal/domain"9 "github.com/bnema/vev/internal/domain"
10+ "github.com/bnema/vev/internal/domain/layout"
10 "github.com/bnema/vev/internal/ports"11 "github.com/bnema/vev/internal/ports"
11- "github.com/bnema/vev/internal/usecase/layout"
12 )12 )
13 13
14 // paneProcessLifetime owns the context passed to PTYFactory.Open. Its daemon14 // paneProcessLifetime owns the context passed to PTYFactory.Open. Its daemon
M internal/usecase/daemon/pane_actions.go +1 -1
@@ -6,7 +6,7 @@ import (
66 "slices"
77
88 "github.com/bnema/vev/internal/domain"
9- "github.com/bnema/vev/internal/usecase/layout"
9+ "github.com/bnema/vev/internal/domain/layout"
1010 )
1111
1212 type paneFocusChange struct {
@@ -6,7 +6,7 @@ import (
6 "slices"6 "slices"
7 7
8 "github.com/bnema/vev/internal/domain"8 "github.com/bnema/vev/internal/domain"
9- "github.com/bnema/vev/internal/usecase/layout"9+ "github.com/bnema/vev/internal/domain/layout"
10 )10 )
11 11
12 type paneFocusChange struct {12 type paneFocusChange struct {
M internal/usecase/daemon/pane_actions_test.go +1 -1
@@ -14,11 +14,11 @@ import (
1414
1515 renderer "github.com/bnema/vev-vt"
1616 "github.com/bnema/vev/internal/domain"
17+ "github.com/bnema/vev/internal/domain/layout"
1718 "github.com/bnema/vev/internal/ports"
1819 portsmocks "github.com/bnema/vev/internal/ports/mocks"
1920 "github.com/bnema/vev/internal/protocol/wire"
2021 scopy "github.com/bnema/vev/internal/usecase/copy"
21- "github.com/bnema/vev/internal/usecase/layout"
2222 )
2323
2424 func TestLayoutGenerationMutationBookkeeping(t *testing.T) {
@@ -14,11 +14,11 @@ import (
14 14
15 renderer "github.com/bnema/vev-vt"15 renderer "github.com/bnema/vev-vt"
16 "github.com/bnema/vev/internal/domain"16 "github.com/bnema/vev/internal/domain"
17+ "github.com/bnema/vev/internal/domain/layout"
17 "github.com/bnema/vev/internal/ports"18 "github.com/bnema/vev/internal/ports"
18 portsmocks "github.com/bnema/vev/internal/ports/mocks"19 portsmocks "github.com/bnema/vev/internal/ports/mocks"
19 "github.com/bnema/vev/internal/protocol/wire"20 "github.com/bnema/vev/internal/protocol/wire"
20 scopy "github.com/bnema/vev/internal/usecase/copy"21 scopy "github.com/bnema/vev/internal/usecase/copy"
21- "github.com/bnema/vev/internal/usecase/layout"
22 )22 )
23 23
24 func TestLayoutGenerationMutationBookkeeping(t *testing.T) {24 func TestLayoutGenerationMutationBookkeeping(t *testing.T) {
M internal/usecase/daemon/pane_lifetime_test.go +1 -1
@@ -12,8 +12,8 @@ import (
1212 "github.com/stretchr/testify/require"
1313
1414 "github.com/bnema/vev/internal/domain"
15+ "github.com/bnema/vev/internal/domain/layout"
1516 "github.com/bnema/vev/internal/ports"
16- "github.com/bnema/vev/internal/usecase/layout"
1717 )
1818
1919 type lifetimePTY struct {
@@ -12,8 +12,8 @@ import (
12 "github.com/stretchr/testify/require"12 "github.com/stretchr/testify/require"
13 13
14 "github.com/bnema/vev/internal/domain"14 "github.com/bnema/vev/internal/domain"
15+ "github.com/bnema/vev/internal/domain/layout"
15 "github.com/bnema/vev/internal/ports"16 "github.com/bnema/vev/internal/ports"
16- "github.com/bnema/vev/internal/usecase/layout"
17 )17 )
18 18
19 type lifetimePTY struct {19 type lifetimePTY struct {
M internal/usecase/daemon/pane_owner_reader_test.go +1 -1
@@ -6,8 +6,8 @@ import (
66 "testing"
77
88 "github.com/bnema/vev/internal/domain"
9+ "github.com/bnema/vev/internal/domain/layout"
910 "github.com/bnema/vev/internal/ports"
10- "github.com/bnema/vev/internal/usecase/layout"
1111 "github.com/stretchr/testify/require"
1212 )
1313
@@ -6,8 +6,8 @@ import (
6 "testing"6 "testing"
7 7
8 "github.com/bnema/vev/internal/domain"8 "github.com/bnema/vev/internal/domain"
9+ "github.com/bnema/vev/internal/domain/layout"
9 "github.com/bnema/vev/internal/ports"10 "github.com/bnema/vev/internal/ports"
10- "github.com/bnema/vev/internal/usecase/layout"
11 "github.com/stretchr/testify/require"11 "github.com/stretchr/testify/require"
12 )12 )
13 13
M internal/usecase/daemon/pane_owner_test.go +1 -1
@@ -4,7 +4,7 @@ import (
44 "testing"
55
66 "github.com/bnema/vev/internal/domain"
7- "github.com/bnema/vev/internal/usecase/layout"
7+ "github.com/bnema/vev/internal/domain/layout"
88 "github.com/stretchr/testify/require"
99 )
1010
@@ -4,7 +4,7 @@ import (
4 "testing"4 "testing"
5 5
6 "github.com/bnema/vev/internal/domain"6 "github.com/bnema/vev/internal/domain"
7- "github.com/bnema/vev/internal/usecase/layout"7+ "github.com/bnema/vev/internal/domain/layout"
8 "github.com/stretchr/testify/require"8 "github.com/stretchr/testify/require"
9 )9 )
10 10
M internal/usecase/daemon/pane_rearrange.go +1 -1
@@ -4,7 +4,7 @@ import (
44 "errors"
55
66 "github.com/bnema/vev/internal/domain"
7- "github.com/bnema/vev/internal/usecase/layout"
7+ "github.com/bnema/vev/internal/domain/layout"
88 )
99
1010 var errDaemonActionNoChange = errors.New("daemon action made no change")
@@ -4,7 +4,7 @@ import (
4 "errors"4 "errors"
5 5
6 "github.com/bnema/vev/internal/domain"6 "github.com/bnema/vev/internal/domain"
7- "github.com/bnema/vev/internal/usecase/layout"7+ "github.com/bnema/vev/internal/domain/layout"
8 )8 )
9 9
10 var errDaemonActionNoChange = errors.New("daemon action made no change")10 var errDaemonActionNoChange = errors.New("daemon action made no change")
M internal/usecase/daemon/pane_rearrange_test.go +1 -1
@@ -11,10 +11,10 @@ import (
1111 "github.com/stretchr/testify/require"
1212
1313 "github.com/bnema/vev/internal/domain"
14+ "github.com/bnema/vev/internal/domain/layout"
1415 "github.com/bnema/vev/internal/ports"
1516 portsmocks "github.com/bnema/vev/internal/ports/mocks"
1617 "github.com/bnema/vev/internal/usecase/keys"
17- "github.com/bnema/vev/internal/usecase/layout"
1818 )
1919
2020 func TestMutateTargetLayoutPublishesOnlyChangedCandidates(t *testing.T) {
@@ -11,10 +11,10 @@ import (
11 "github.com/stretchr/testify/require"11 "github.com/stretchr/testify/require"
12 12
13 "github.com/bnema/vev/internal/domain"13 "github.com/bnema/vev/internal/domain"
14+ "github.com/bnema/vev/internal/domain/layout"
14 "github.com/bnema/vev/internal/ports"15 "github.com/bnema/vev/internal/ports"
15 portsmocks "github.com/bnema/vev/internal/ports/mocks"16 portsmocks "github.com/bnema/vev/internal/ports/mocks"
16 "github.com/bnema/vev/internal/usecase/keys"17 "github.com/bnema/vev/internal/usecase/keys"
17- "github.com/bnema/vev/internal/usecase/layout"
18 )18 )
19 19
20 func TestMutateTargetLayoutPublishesOnlyChangedCandidates(t *testing.T) {20 func TestMutateTargetLayoutPublishesOnlyChangedCandidates(t *testing.T) {
M internal/usecase/daemon/pane_titles.go +1 -1
@@ -4,7 +4,7 @@ import (
44 "strings"
55 "time"
66
7- "github.com/bnema/vev/internal/usecase/layout"
7+ "github.com/bnema/vev/internal/domain/layout"
88 )
99
1010 const paneTitleCacheTTL = time.Second
@@ -4,7 +4,7 @@ import (
4 "strings"4 "strings"
5 "time"5 "time"
6 6
7- "github.com/bnema/vev/internal/usecase/layout"7+ "github.com/bnema/vev/internal/domain/layout"
8 )8 )
9 9
10 const paneTitleCacheTTL = time.Second10 const paneTitleCacheTTL = time.Second
M internal/usecase/daemon/performance_benchmark_test.go +1 -1
@@ -14,10 +14,10 @@ import (
1414
1515 renderer "github.com/bnema/vev-vt"
1616 "github.com/bnema/vev/internal/domain"
17+ "github.com/bnema/vev/internal/domain/layout"
1718 "github.com/bnema/vev/internal/ports"
1819 "github.com/bnema/vev/internal/protocol"
1920 "github.com/bnema/vev/internal/protocol/wire"
20- "github.com/bnema/vev/internal/usecase/layout"
2121 snapcodec "github.com/bnema/vev/internal/usecase/snapshot"
2222 )
2323
@@ -14,10 +14,10 @@ import (
14 14
15 renderer "github.com/bnema/vev-vt"15 renderer "github.com/bnema/vev-vt"
16 "github.com/bnema/vev/internal/domain"16 "github.com/bnema/vev/internal/domain"
17+ "github.com/bnema/vev/internal/domain/layout"
17 "github.com/bnema/vev/internal/ports"18 "github.com/bnema/vev/internal/ports"
18 "github.com/bnema/vev/internal/protocol"19 "github.com/bnema/vev/internal/protocol"
19 "github.com/bnema/vev/internal/protocol/wire"20 "github.com/bnema/vev/internal/protocol/wire"
20- "github.com/bnema/vev/internal/usecase/layout"
21 snapcodec "github.com/bnema/vev/internal/usecase/snapshot"21 snapcodec "github.com/bnema/vev/internal/usecase/snapshot"
22 )22 )
23 23
M internal/usecase/daemon/reduced_color_test.go +1 -1
@@ -11,10 +11,10 @@ import (
1111 renderer "github.com/bnema/vev-vt"
1212 ansirenderer "github.com/bnema/vev-vt/ansi"
1313 "github.com/bnema/vev/internal/domain"
14+ "github.com/bnema/vev/internal/domain/layout"
1415 "github.com/bnema/vev/internal/domain/terminalcap"
1516 "github.com/bnema/vev/internal/protocol"
1617 "github.com/bnema/vev/internal/usecase/colorprofile"
17- "github.com/bnema/vev/internal/usecase/layout"
1818 themeui "github.com/bnema/vev/internal/usecase/theme"
1919 "github.com/bnema/vev/internal/usecase/ui"
2020 )
@@ -11,10 +11,10 @@ import (
11 renderer "github.com/bnema/vev-vt"11 renderer "github.com/bnema/vev-vt"
12 ansirenderer "github.com/bnema/vev-vt/ansi"12 ansirenderer "github.com/bnema/vev-vt/ansi"
13 "github.com/bnema/vev/internal/domain"13 "github.com/bnema/vev/internal/domain"
14+ "github.com/bnema/vev/internal/domain/layout"
14 "github.com/bnema/vev/internal/domain/terminalcap"15 "github.com/bnema/vev/internal/domain/terminalcap"
15 "github.com/bnema/vev/internal/protocol"16 "github.com/bnema/vev/internal/protocol"
16 "github.com/bnema/vev/internal/usecase/colorprofile"17 "github.com/bnema/vev/internal/usecase/colorprofile"
17- "github.com/bnema/vev/internal/usecase/layout"
18 themeui "github.com/bnema/vev/internal/usecase/theme"18 themeui "github.com/bnema/vev/internal/usecase/theme"
19 "github.com/bnema/vev/internal/usecase/ui"19 "github.com/bnema/vev/internal/usecase/ui"
20 )20 )
M internal/usecase/daemon/render.go +1 -1
@@ -6,9 +6,9 @@ import (
66
77 renderer "github.com/bnema/vev-vt/ansi"
88 "github.com/bnema/vev/internal/domain"
9+ "github.com/bnema/vev/internal/domain/layout"
910 "github.com/bnema/vev/internal/domain/terminalcap"
1011 "github.com/bnema/vev/internal/ports"
11- "github.com/bnema/vev/internal/usecase/layout"
1212 themeui "github.com/bnema/vev/internal/usecase/theme"
1313 )
1414
@@ -6,9 +6,9 @@ import (
6 6
7 renderer "github.com/bnema/vev-vt/ansi"7 renderer "github.com/bnema/vev-vt/ansi"
8 "github.com/bnema/vev/internal/domain"8 "github.com/bnema/vev/internal/domain"
9+ "github.com/bnema/vev/internal/domain/layout"
9 "github.com/bnema/vev/internal/domain/terminalcap"10 "github.com/bnema/vev/internal/domain/terminalcap"
10 "github.com/bnema/vev/internal/ports"11 "github.com/bnema/vev/internal/ports"
11- "github.com/bnema/vev/internal/usecase/layout"
12 themeui "github.com/bnema/vev/internal/usecase/theme"12 themeui "github.com/bnema/vev/internal/usecase/theme"
13 )13 )
14 14
M internal/usecase/daemon/render_capture.go +1 -1
@@ -4,9 +4,9 @@ import (
44 renderer "github.com/bnema/vev-vt"
55 vevgraphics "github.com/bnema/vev-vt/graphics"
66 "github.com/bnema/vev/internal/domain"
7+ "github.com/bnema/vev/internal/domain/layout"
78 "github.com/bnema/vev/internal/protocol"
89 scopy "github.com/bnema/vev/internal/usecase/copy"
9- "github.com/bnema/vev/internal/usecase/layout"
1010 themeui "github.com/bnema/vev/internal/usecase/theme"
1111 "github.com/bnema/vev/internal/usecase/ui"
1212 )
@@ -4,9 +4,9 @@ import (
4 renderer "github.com/bnema/vev-vt"4 renderer "github.com/bnema/vev-vt"
5 vevgraphics "github.com/bnema/vev-vt/graphics"5 vevgraphics "github.com/bnema/vev-vt/graphics"
6 "github.com/bnema/vev/internal/domain"6 "github.com/bnema/vev/internal/domain"
7+ "github.com/bnema/vev/internal/domain/layout"
7 "github.com/bnema/vev/internal/protocol"8 "github.com/bnema/vev/internal/protocol"
8 scopy "github.com/bnema/vev/internal/usecase/copy"9 scopy "github.com/bnema/vev/internal/usecase/copy"
9- "github.com/bnema/vev/internal/usecase/layout"
10 themeui "github.com/bnema/vev/internal/usecase/theme"10 themeui "github.com/bnema/vev/internal/usecase/theme"
11 "github.com/bnema/vev/internal/usecase/ui"11 "github.com/bnema/vev/internal/usecase/ui"
12 )12 )
M internal/usecase/daemon/render_coordinator_test.go +1 -1
@@ -12,12 +12,12 @@ import (
1212 "github.com/stretchr/testify/require"
1313
1414 "github.com/bnema/vev/internal/domain"
15+ "github.com/bnema/vev/internal/domain/layout"
1516 "github.com/bnema/vev/internal/ports"
1617 portsmocks "github.com/bnema/vev/internal/ports/mocks"
1718 "github.com/bnema/vev/internal/protocol"
1819 "github.com/bnema/vev/internal/protocol/wire"
1920 "github.com/bnema/vev/internal/usecase/keys"
20- "github.com/bnema/vev/internal/usecase/layout"
2121 )
2222
2323 // --- coordinator harness ------------------------------------------------------
@@ -12,12 +12,12 @@ import (
12 "github.com/stretchr/testify/require"12 "github.com/stretchr/testify/require"
13 13
14 "github.com/bnema/vev/internal/domain"14 "github.com/bnema/vev/internal/domain"
15+ "github.com/bnema/vev/internal/domain/layout"
15 "github.com/bnema/vev/internal/ports"16 "github.com/bnema/vev/internal/ports"
16 portsmocks "github.com/bnema/vev/internal/ports/mocks"17 portsmocks "github.com/bnema/vev/internal/ports/mocks"
17 "github.com/bnema/vev/internal/protocol"18 "github.com/bnema/vev/internal/protocol"
18 "github.com/bnema/vev/internal/protocol/wire"19 "github.com/bnema/vev/internal/protocol/wire"
19 "github.com/bnema/vev/internal/usecase/keys"20 "github.com/bnema/vev/internal/usecase/keys"
20- "github.com/bnema/vev/internal/usecase/layout"
21 )21 )
22 22
23 // --- coordinator harness ------------------------------------------------------23 // --- coordinator harness ------------------------------------------------------
M internal/usecase/daemon/render_damage_receipt_test.go +1 -1
@@ -5,8 +5,8 @@ import (
55
66 renderer "github.com/bnema/vev-vt"
77 "github.com/bnema/vev/internal/domain"
8+ "github.com/bnema/vev/internal/domain/layout"
89 "github.com/bnema/vev/internal/ports"
9- "github.com/bnema/vev/internal/usecase/layout"
1010 "github.com/stretchr/testify/require"
1111 )
1212
@@ -5,8 +5,8 @@ import (
5 5
6 renderer "github.com/bnema/vev-vt"6 renderer "github.com/bnema/vev-vt"
7 "github.com/bnema/vev/internal/domain"7 "github.com/bnema/vev/internal/domain"
8+ "github.com/bnema/vev/internal/domain/layout"
8 "github.com/bnema/vev/internal/ports"9 "github.com/bnema/vev/internal/ports"
9- "github.com/bnema/vev/internal/usecase/layout"
10 "github.com/stretchr/testify/require"10 "github.com/stretchr/testify/require"
11 )11 )
12 12
M internal/usecase/daemon/render_divider_geometry_test.go +1 -1
@@ -5,7 +5,7 @@ import (
55
66 renderer "github.com/bnema/vev-vt"
77 "github.com/bnema/vev/internal/domain"
8- "github.com/bnema/vev/internal/usecase/layout"
8+ "github.com/bnema/vev/internal/domain/layout"
99 "github.com/stretchr/testify/require"
1010 )
1111
@@ -5,7 +5,7 @@ import (
5 5
6 renderer "github.com/bnema/vev-vt"6 renderer "github.com/bnema/vev-vt"
7 "github.com/bnema/vev/internal/domain"7 "github.com/bnema/vev/internal/domain"
8- "github.com/bnema/vev/internal/usecase/layout"8+ "github.com/bnema/vev/internal/domain/layout"
9 "github.com/stretchr/testify/require"9 "github.com/stretchr/testify/require"
10 )10 )
11 11
M internal/usecase/daemon/render_pipeline.go +1 -1
@@ -6,9 +6,9 @@ import (
66
77 renderer "github.com/bnema/vev-vt"
88 "github.com/bnema/vev/internal/domain"
9+ "github.com/bnema/vev/internal/domain/layout"
910 "github.com/bnema/vev/internal/ports"
1011 "github.com/bnema/vev/internal/protocol"
11- "github.com/bnema/vev/internal/usecase/layout"
1212 "github.com/bnema/vev/internal/usecase/notices"
1313 "github.com/bnema/vev/internal/usecase/palette"
1414 "github.com/bnema/vev/internal/usecase/prompt"
@@ -6,9 +6,9 @@ import (
6 6
7 renderer "github.com/bnema/vev-vt"7 renderer "github.com/bnema/vev-vt"
8 "github.com/bnema/vev/internal/domain"8 "github.com/bnema/vev/internal/domain"
9+ "github.com/bnema/vev/internal/domain/layout"
9 "github.com/bnema/vev/internal/ports"10 "github.com/bnema/vev/internal/ports"
10 "github.com/bnema/vev/internal/protocol"11 "github.com/bnema/vev/internal/protocol"
11- "github.com/bnema/vev/internal/usecase/layout"
12 "github.com/bnema/vev/internal/usecase/notices"12 "github.com/bnema/vev/internal/usecase/notices"
13 "github.com/bnema/vev/internal/usecase/palette"13 "github.com/bnema/vev/internal/usecase/palette"
14 "github.com/bnema/vev/internal/usecase/prompt"14 "github.com/bnema/vev/internal/usecase/prompt"
M internal/usecase/daemon/render_pipeline_cache_test.go +1 -1
@@ -8,9 +8,9 @@ import (
88
99 renderer "github.com/bnema/vev-vt"
1010 "github.com/bnema/vev/internal/domain"
11+ "github.com/bnema/vev/internal/domain/layout"
1112 "github.com/bnema/vev/internal/protocol"
1213 "github.com/bnema/vev/internal/protocol/wire"
13- "github.com/bnema/vev/internal/usecase/layout"
1414 themeui "github.com/bnema/vev/internal/usecase/theme"
1515 "github.com/bnema/vev/internal/usecase/ui"
1616 "github.com/stretchr/testify/require"
@@ -8,9 +8,9 @@ import (
8 8
9 renderer "github.com/bnema/vev-vt"9 renderer "github.com/bnema/vev-vt"
10 "github.com/bnema/vev/internal/domain"10 "github.com/bnema/vev/internal/domain"
11+ "github.com/bnema/vev/internal/domain/layout"
11 "github.com/bnema/vev/internal/protocol"12 "github.com/bnema/vev/internal/protocol"
12 "github.com/bnema/vev/internal/protocol/wire"13 "github.com/bnema/vev/internal/protocol/wire"
13- "github.com/bnema/vev/internal/usecase/layout"
14 themeui "github.com/bnema/vev/internal/usecase/theme"14 themeui "github.com/bnema/vev/internal/usecase/theme"
15 "github.com/bnema/vev/internal/usecase/ui"15 "github.com/bnema/vev/internal/usecase/ui"
16 "github.com/stretchr/testify/require"16 "github.com/stretchr/testify/require"
M internal/usecase/daemon/render_pipeline_test.go +1 -1
@@ -14,11 +14,11 @@ import (
1414 vt "github.com/bnema/vev-vt"
1515 renderer "github.com/bnema/vev-vt/ansi"
1616 "github.com/bnema/vev/internal/domain"
17+ "github.com/bnema/vev/internal/domain/layout"
1718 "github.com/bnema/vev/internal/protocol"
1819 "github.com/bnema/vev/internal/protocol/wire"
1920 "github.com/bnema/vev/internal/testutil/replaytest"
2021 scopy "github.com/bnema/vev/internal/usecase/copy"
21- "github.com/bnema/vev/internal/usecase/layout"
2222 "github.com/bnema/vev/internal/usecase/notices"
2323 "github.com/bnema/vev/internal/usecase/palette"
2424 promptui "github.com/bnema/vev/internal/usecase/prompt"
@@ -14,11 +14,11 @@ import (
14 vt "github.com/bnema/vev-vt"14 vt "github.com/bnema/vev-vt"
15 renderer "github.com/bnema/vev-vt/ansi"15 renderer "github.com/bnema/vev-vt/ansi"
16 "github.com/bnema/vev/internal/domain"16 "github.com/bnema/vev/internal/domain"
17+ "github.com/bnema/vev/internal/domain/layout"
17 "github.com/bnema/vev/internal/protocol"18 "github.com/bnema/vev/internal/protocol"
18 "github.com/bnema/vev/internal/protocol/wire"19 "github.com/bnema/vev/internal/protocol/wire"
19 "github.com/bnema/vev/internal/testutil/replaytest"20 "github.com/bnema/vev/internal/testutil/replaytest"
20 scopy "github.com/bnema/vev/internal/usecase/copy"21 scopy "github.com/bnema/vev/internal/usecase/copy"
21- "github.com/bnema/vev/internal/usecase/layout"
22 "github.com/bnema/vev/internal/usecase/notices"22 "github.com/bnema/vev/internal/usecase/notices"
23 "github.com/bnema/vev/internal/usecase/palette"23 "github.com/bnema/vev/internal/usecase/palette"
24 promptui "github.com/bnema/vev/internal/usecase/prompt"24 promptui "github.com/bnema/vev/internal/usecase/prompt"
M internal/usecase/daemon/render_test.go +1 -1
@@ -19,11 +19,11 @@ import (
1919 vt "github.com/bnema/vev-vt"
2020 renderer "github.com/bnema/vev-vt/ansi"
2121 "github.com/bnema/vev/internal/domain"
22+ "github.com/bnema/vev/internal/domain/layout"
2223 portsmocks "github.com/bnema/vev/internal/ports/mocks"
2324 "github.com/bnema/vev/internal/protocol"
2425 "github.com/bnema/vev/internal/protocol/wire"
2526 scopy "github.com/bnema/vev/internal/usecase/copy"
26- "github.com/bnema/vev/internal/usecase/layout"
2727 themeui "github.com/bnema/vev/internal/usecase/theme"
2828 )
2929
@@ -19,11 +19,11 @@ import (
19 vt "github.com/bnema/vev-vt"19 vt "github.com/bnema/vev-vt"
20 renderer "github.com/bnema/vev-vt/ansi"20 renderer "github.com/bnema/vev-vt/ansi"
21 "github.com/bnema/vev/internal/domain"21 "github.com/bnema/vev/internal/domain"
22+ "github.com/bnema/vev/internal/domain/layout"
22 portsmocks "github.com/bnema/vev/internal/ports/mocks"23 portsmocks "github.com/bnema/vev/internal/ports/mocks"
23 "github.com/bnema/vev/internal/protocol"24 "github.com/bnema/vev/internal/protocol"
24 "github.com/bnema/vev/internal/protocol/wire"25 "github.com/bnema/vev/internal/protocol/wire"
25 scopy "github.com/bnema/vev/internal/usecase/copy"26 scopy "github.com/bnema/vev/internal/usecase/copy"
26- "github.com/bnema/vev/internal/usecase/layout"
27 themeui "github.com/bnema/vev/internal/usecase/theme"27 themeui "github.com/bnema/vev/internal/usecase/theme"
28 )28 )
29 29
M internal/usecase/daemon/resize_mode.go +1 -1
@@ -4,9 +4,9 @@ import (
44 "errors"
55
66 "github.com/bnema/vev/internal/domain"
7+ "github.com/bnema/vev/internal/domain/layout"
78 "github.com/bnema/vev/internal/ports"
89 "github.com/bnema/vev/internal/usecase/keys"
9- "github.com/bnema/vev/internal/usecase/layout"
1010 )
1111
1212 const (
@@ -4,9 +4,9 @@ import (
4 "errors"4 "errors"
5 5
6 "github.com/bnema/vev/internal/domain"6 "github.com/bnema/vev/internal/domain"
7+ "github.com/bnema/vev/internal/domain/layout"
7 "github.com/bnema/vev/internal/ports"8 "github.com/bnema/vev/internal/ports"
8 "github.com/bnema/vev/internal/usecase/keys"9 "github.com/bnema/vev/internal/usecase/keys"
9- "github.com/bnema/vev/internal/usecase/layout"
10 )10 )
11 11
12 const (12 const (
M internal/usecase/daemon/resize_mode_test.go +1 -1
@@ -5,8 +5,8 @@ import (
55 "testing"
66
77 "github.com/bnema/vev/internal/domain"
8+ "github.com/bnema/vev/internal/domain/layout"
89 "github.com/bnema/vev/internal/protocol"
9- "github.com/bnema/vev/internal/usecase/layout"
1010 "github.com/stretchr/testify/require"
1111 )
1212
@@ -5,8 +5,8 @@ import (
5 "testing"5 "testing"
6 6
7 "github.com/bnema/vev/internal/domain"7 "github.com/bnema/vev/internal/domain"
8+ "github.com/bnema/vev/internal/domain/layout"
8 "github.com/bnema/vev/internal/protocol"9 "github.com/bnema/vev/internal/protocol"
9- "github.com/bnema/vev/internal/usecase/layout"
10 "github.com/stretchr/testify/require"10 "github.com/stretchr/testify/require"
11 )11 )
12 12
M internal/usecase/daemon/resume_test.go +1 -1
@@ -14,12 +14,12 @@ import (
1414
1515 vt "github.com/bnema/vev-vt"
1616 "github.com/bnema/vev/internal/domain"
17+ "github.com/bnema/vev/internal/domain/layout"
1718 "github.com/bnema/vev/internal/domain/terminalcap"
1819 "github.com/bnema/vev/internal/ports"
1920 portsmocks "github.com/bnema/vev/internal/ports/mocks"
2021 "github.com/bnema/vev/internal/protocol"
2122 "github.com/bnema/vev/internal/protocol/wire"
22- "github.com/bnema/vev/internal/usecase/layout"
2323 )
2424
2525 type closeTrackingTransport struct {
@@ -14,12 +14,12 @@ import (
14 14
15 vt "github.com/bnema/vev-vt"15 vt "github.com/bnema/vev-vt"
16 "github.com/bnema/vev/internal/domain"16 "github.com/bnema/vev/internal/domain"
17+ "github.com/bnema/vev/internal/domain/layout"
17 "github.com/bnema/vev/internal/domain/terminalcap"18 "github.com/bnema/vev/internal/domain/terminalcap"
18 "github.com/bnema/vev/internal/ports"19 "github.com/bnema/vev/internal/ports"
19 portsmocks "github.com/bnema/vev/internal/ports/mocks"20 portsmocks "github.com/bnema/vev/internal/ports/mocks"
20 "github.com/bnema/vev/internal/protocol"21 "github.com/bnema/vev/internal/protocol"
21 "github.com/bnema/vev/internal/protocol/wire"22 "github.com/bnema/vev/internal/protocol/wire"
22- "github.com/bnema/vev/internal/usecase/layout"
23 )23 )
24 24
25 type closeTrackingTransport struct {25 type closeTrackingTransport struct {
M internal/usecase/daemon/session.go +1 -1
@@ -17,9 +17,9 @@ import (
1717
1818 vt "github.com/bnema/vev-vt"
1919 "github.com/bnema/vev/internal/domain"
20+ "github.com/bnema/vev/internal/domain/layout"
2021 "github.com/bnema/vev/internal/ports"
2122 "github.com/bnema/vev/internal/protocol"
22- "github.com/bnema/vev/internal/usecase/layout"
2323 )
2424
2525 var (
@@ -17,9 +17,9 @@ import (
17 17
18 vt "github.com/bnema/vev-vt"18 vt "github.com/bnema/vev-vt"
19 "github.com/bnema/vev/internal/domain"19 "github.com/bnema/vev/internal/domain"
20+ "github.com/bnema/vev/internal/domain/layout"
20 "github.com/bnema/vev/internal/ports"21 "github.com/bnema/vev/internal/ports"
21 "github.com/bnema/vev/internal/protocol"22 "github.com/bnema/vev/internal/protocol"
22- "github.com/bnema/vev/internal/usecase/layout"
23 )23 )
24 24
25 var (25 var (
M internal/usecase/daemon/snapshot.go +1 -1
@@ -9,7 +9,7 @@ import (
99
1010 vt "github.com/bnema/vev-vt"
1111 "github.com/bnema/vev/internal/domain"
12- "github.com/bnema/vev/internal/usecase/layout"
12+ "github.com/bnema/vev/internal/domain/layout"
1313 snapcodec "github.com/bnema/vev/internal/usecase/snapshot"
1414 )
1515
@@ -9,7 +9,7 @@ import (
9 9
10 vt "github.com/bnema/vev-vt"10 vt "github.com/bnema/vev-vt"
11 "github.com/bnema/vev/internal/domain"11 "github.com/bnema/vev/internal/domain"
12- "github.com/bnema/vev/internal/usecase/layout"12+ "github.com/bnema/vev/internal/domain/layout"
13 snapcodec "github.com/bnema/vev/internal/usecase/snapshot"13 snapcodec "github.com/bnema/vev/internal/usecase/snapshot"
14 )14 )
15 15
M internal/usecase/daemon/snapshot_restore.go +1 -1
@@ -9,8 +9,8 @@ import (
99
1010 vt "github.com/bnema/vev-vt"
1111 "github.com/bnema/vev/internal/domain"
12+ "github.com/bnema/vev/internal/domain/layout"
1213 "github.com/bnema/vev/internal/protocol"
13- "github.com/bnema/vev/internal/usecase/layout"
1414 snapcodec "github.com/bnema/vev/internal/usecase/snapshot"
1515 )
1616
@@ -9,8 +9,8 @@ import (
9 9
10 vt "github.com/bnema/vev-vt"10 vt "github.com/bnema/vev-vt"
11 "github.com/bnema/vev/internal/domain"11 "github.com/bnema/vev/internal/domain"
12+ "github.com/bnema/vev/internal/domain/layout"
12 "github.com/bnema/vev/internal/protocol"13 "github.com/bnema/vev/internal/protocol"
13- "github.com/bnema/vev/internal/usecase/layout"
14 snapcodec "github.com/bnema/vev/internal/usecase/snapshot"14 snapcodec "github.com/bnema/vev/internal/usecase/snapshot"
15 )15 )
16 16
M internal/usecase/daemon/snapshot_restore_test.go +1 -1
@@ -14,9 +14,9 @@ import (
1414 vt "github.com/bnema/vev-vt"
1515 renderer "github.com/bnema/vev-vt/ansi"
1616 "github.com/bnema/vev/internal/domain"
17+ "github.com/bnema/vev/internal/domain/layout"
1718 "github.com/bnema/vev/internal/ports"
1819 portsmocks "github.com/bnema/vev/internal/ports/mocks"
19- "github.com/bnema/vev/internal/usecase/layout"
2020 recoveryusecase "github.com/bnema/vev/internal/usecase/recovery"
2121 snapcodec "github.com/bnema/vev/internal/usecase/snapshot"
2222 )
@@ -14,9 +14,9 @@ import (
14 vt "github.com/bnema/vev-vt"14 vt "github.com/bnema/vev-vt"
15 renderer "github.com/bnema/vev-vt/ansi"15 renderer "github.com/bnema/vev-vt/ansi"
16 "github.com/bnema/vev/internal/domain"16 "github.com/bnema/vev/internal/domain"
17+ "github.com/bnema/vev/internal/domain/layout"
17 "github.com/bnema/vev/internal/ports"18 "github.com/bnema/vev/internal/ports"
18 portsmocks "github.com/bnema/vev/internal/ports/mocks"19 portsmocks "github.com/bnema/vev/internal/ports/mocks"
19- "github.com/bnema/vev/internal/usecase/layout"
20 recoveryusecase "github.com/bnema/vev/internal/usecase/recovery"20 recoveryusecase "github.com/bnema/vev/internal/usecase/recovery"
21 snapcodec "github.com/bnema/vev/internal/usecase/snapshot"21 snapcodec "github.com/bnema/vev/internal/usecase/snapshot"
22 )22 )
M internal/usecase/daemon/status_test.go +1 -1
@@ -13,10 +13,10 @@ import (
1313
1414 renderer "github.com/bnema/vev-vt/ansi"
1515 "github.com/bnema/vev/internal/domain"
16+ "github.com/bnema/vev/internal/domain/layout"
1617 "github.com/bnema/vev/internal/protocol"
1718 "github.com/bnema/vev/internal/protocol/wire"
1819 "github.com/bnema/vev/internal/usecase/command"
19- "github.com/bnema/vev/internal/usecase/layout"
2020 "github.com/bnema/vev/internal/usecase/palette"
2121 themeui "github.com/bnema/vev/internal/usecase/theme"
2222 "github.com/bnema/vev/internal/usecase/ui"
@@ -13,10 +13,10 @@ import (
13 13
14 renderer "github.com/bnema/vev-vt/ansi"14 renderer "github.com/bnema/vev-vt/ansi"
15 "github.com/bnema/vev/internal/domain"15 "github.com/bnema/vev/internal/domain"
16+ "github.com/bnema/vev/internal/domain/layout"
16 "github.com/bnema/vev/internal/protocol"17 "github.com/bnema/vev/internal/protocol"
17 "github.com/bnema/vev/internal/protocol/wire"18 "github.com/bnema/vev/internal/protocol/wire"
18 "github.com/bnema/vev/internal/usecase/command"19 "github.com/bnema/vev/internal/usecase/command"
19- "github.com/bnema/vev/internal/usecase/layout"
20 "github.com/bnema/vev/internal/usecase/palette"20 "github.com/bnema/vev/internal/usecase/palette"
21 themeui "github.com/bnema/vev/internal/usecase/theme"21 themeui "github.com/bnema/vev/internal/usecase/theme"
22 "github.com/bnema/vev/internal/usecase/ui"22 "github.com/bnema/vev/internal/usecase/ui"
M internal/usecase/daemon/theme_cache_test.go +1 -1
@@ -7,8 +7,8 @@ import (
77
88 renderer "github.com/bnema/vev-vt"
99 "github.com/bnema/vev/internal/domain"
10+ "github.com/bnema/vev/internal/domain/layout"
1011 "github.com/bnema/vev/internal/protocol"
11- "github.com/bnema/vev/internal/usecase/layout"
1212 themeui "github.com/bnema/vev/internal/usecase/theme"
1313 )
1414
@@ -7,8 +7,8 @@ import (
7 7
8 renderer "github.com/bnema/vev-vt"8 renderer "github.com/bnema/vev-vt"
9 "github.com/bnema/vev/internal/domain"9 "github.com/bnema/vev/internal/domain"
10+ "github.com/bnema/vev/internal/domain/layout"
10 "github.com/bnema/vev/internal/protocol"11 "github.com/bnema/vev/internal/protocol"
11- "github.com/bnema/vev/internal/usecase/layout"
12 themeui "github.com/bnema/vev/internal/usecase/theme"12 themeui "github.com/bnema/vev/internal/usecase/theme"
13 )13 )
14 14
M internal/usecase/daemon/title_cache_regression_test.go +1 -1
@@ -7,7 +7,7 @@ import (
77 "github.com/stretchr/testify/require"
88
99 "github.com/bnema/vev/internal/domain"
10- "github.com/bnema/vev/internal/usecase/layout"
10+ "github.com/bnema/vev/internal/domain/layout"
1111 )
1212
1313 func TestComposeFramePrunesTitleGenerationsAfterLayoutChurn(t *testing.T) {
@@ -7,7 +7,7 @@ import (
7 "github.com/stretchr/testify/require"7 "github.com/stretchr/testify/require"
8 8
9 "github.com/bnema/vev/internal/domain"9 "github.com/bnema/vev/internal/domain"
10- "github.com/bnema/vev/internal/usecase/layout"10+ "github.com/bnema/vev/internal/domain/layout"
11 )11 )
12 12
13 func TestComposeFramePrunesTitleGenerationsAfterLayoutChurn(t *testing.T) {13 func TestComposeFramePrunesTitleGenerationsAfterLayoutChurn(t *testing.T) {
M internal/usecase/daemon/toast_damage_test.go +1 -1
@@ -6,7 +6,7 @@ import (
66 vt "github.com/bnema/vev-vt"
77 renderer "github.com/bnema/vev-vt/ansi"
88 "github.com/bnema/vev/internal/domain"
9- "github.com/bnema/vev/internal/usecase/layout"
9+ "github.com/bnema/vev/internal/domain/layout"
1010 "github.com/stretchr/testify/require"
1111 )
1212
@@ -6,7 +6,7 @@ import (
6 vt "github.com/bnema/vev-vt"6 vt "github.com/bnema/vev-vt"
7 renderer "github.com/bnema/vev-vt/ansi"7 renderer "github.com/bnema/vev-vt/ansi"
8 "github.com/bnema/vev/internal/domain"8 "github.com/bnema/vev/internal/domain"
9- "github.com/bnema/vev/internal/usecase/layout"9+ "github.com/bnema/vev/internal/domain/layout"
10 "github.com/stretchr/testify/require"10 "github.com/stretchr/testify/require"
11 )11 )
12 12
M internal/usecase/daemon/transactional_resize.go +1 -1
@@ -5,8 +5,8 @@ import (
55
66 vt "github.com/bnema/vev-vt"
77 "github.com/bnema/vev/internal/domain"
8+ "github.com/bnema/vev/internal/domain/layout"
89 "github.com/bnema/vev/internal/ports"
9- "github.com/bnema/vev/internal/usecase/layout"
1010 )
1111
1212 type resizeOwnerPostEffect uint8
@@ -5,8 +5,8 @@ import (
5 5
6 vt "github.com/bnema/vev-vt"6 vt "github.com/bnema/vev-vt"
7 "github.com/bnema/vev/internal/domain"7 "github.com/bnema/vev/internal/domain"
8+ "github.com/bnema/vev/internal/domain/layout"
8 "github.com/bnema/vev/internal/ports"9 "github.com/bnema/vev/internal/ports"
9- "github.com/bnema/vev/internal/usecase/layout"
10 )10 )
11 11
12 type resizeOwnerPostEffect uint812 type resizeOwnerPostEffect uint8
M internal/usecase/daemon/transactional_resize_test.go +1 -1
@@ -11,8 +11,8 @@ import (
1111 "github.com/stretchr/testify/require"
1212
1313 "github.com/bnema/vev/internal/domain"
14+ "github.com/bnema/vev/internal/domain/layout"
1415 "github.com/bnema/vev/internal/ports"
15- "github.com/bnema/vev/internal/usecase/layout"
1616 "github.com/bnema/vev/internal/usecase/ui"
1717 "github.com/bnema/vev/internal/usecase/visualsearch"
1818 )
@@ -11,8 +11,8 @@ import (
11 "github.com/stretchr/testify/require"11 "github.com/stretchr/testify/require"
12 12
13 "github.com/bnema/vev/internal/domain"13 "github.com/bnema/vev/internal/domain"
14+ "github.com/bnema/vev/internal/domain/layout"
14 "github.com/bnema/vev/internal/ports"15 "github.com/bnema/vev/internal/ports"
15- "github.com/bnema/vev/internal/usecase/layout"
16 "github.com/bnema/vev/internal/usecase/ui"16 "github.com/bnema/vev/internal/usecase/ui"
17 "github.com/bnema/vev/internal/usecase/visualsearch"17 "github.com/bnema/vev/internal/usecase/visualsearch"
18 )18 )
M internal/usecase/snapshot/codec.go +1 -1
@@ -7,7 +7,7 @@ import (
77 "hash/crc32"
88 "math"
99
10- "github.com/bnema/vev/internal/usecase/layout"
10+ "github.com/bnema/vev/internal/domain/layout"
1111 )
1212
1313 var (
@@ -7,7 +7,7 @@ import (
7 "hash/crc32"7 "hash/crc32"
8 "math"8 "math"
9 9
10- "github.com/bnema/vev/internal/usecase/layout"10+ "github.com/bnema/vev/internal/domain/layout"
11 )11 )
12 12
13 var (13 var (
M internal/usecase/snapshot/codec_encoder_test.go +1 -1
@@ -6,7 +6,7 @@ import (
66 "hash/crc32"
77 "math"
88
9- "github.com/bnema/vev/internal/usecase/layout"
9+ "github.com/bnema/vev/internal/domain/layout"
1010 )
1111
1212 // marshalTest is a test-only v4 encoder. Production retains only the decoder
@@ -6,7 +6,7 @@ import (
6 "hash/crc32"6 "hash/crc32"
7 "math"7 "math"
8 8
9- "github.com/bnema/vev/internal/usecase/layout"9+ "github.com/bnema/vev/internal/domain/layout"
10 )10 )
11 11
12 // marshalTest is a test-only v4 encoder. Production retains only the decoder12 // marshalTest is a test-only v4 encoder. Production retains only the decoder
M internal/usecase/snapshot/codec_test.go +1 -1
@@ -11,7 +11,7 @@ import (
1111
1212 vt "github.com/bnema/vev-vt"
1313 renderer "github.com/bnema/vev-vt/ansi"
14- "github.com/bnema/vev/internal/usecase/layout"
14+ "github.com/bnema/vev/internal/domain/layout"
1515 )
1616
1717 func TestPayloadReaderGetBytes(t *testing.T) {
@@ -11,7 +11,7 @@ import (
11 11
12 vt "github.com/bnema/vev-vt"12 vt "github.com/bnema/vev-vt"
13 renderer "github.com/bnema/vev-vt/ansi"13 renderer "github.com/bnema/vev-vt/ansi"
14- "github.com/bnema/vev/internal/usecase/layout"14+ "github.com/bnema/vev/internal/domain/layout"
15 )15 )
16 16
17 func TestPayloadReaderGetBytes(t *testing.T) {17 func TestPayloadReaderGetBytes(t *testing.T) {
M internal/usecase/snapshot/manifest.go +1 -1
@@ -8,8 +8,8 @@ import (
88 "math"
99
1010 "github.com/bnema/vev/internal/domain"
11+ "github.com/bnema/vev/internal/domain/layout"
1112 "github.com/bnema/vev/internal/ports"
12- "github.com/bnema/vev/internal/usecase/layout"
1313 )
1414
1515 const (
@@ -8,8 +8,8 @@ import (
8 "math"8 "math"
9 9
10 "github.com/bnema/vev/internal/domain"10 "github.com/bnema/vev/internal/domain"
11+ "github.com/bnema/vev/internal/domain/layout"
11 "github.com/bnema/vev/internal/ports"12 "github.com/bnema/vev/internal/ports"
12- "github.com/bnema/vev/internal/usecase/layout"
13 )13 )
14 14
15 const (15 const (
M internal/usecase/snapshot/manifest_preflight.go +1 -1
@@ -4,7 +4,7 @@ import (
44 "fmt"
55
66 "github.com/bnema/vev/internal/domain"
7- "github.com/bnema/vev/internal/usecase/layout"
7+ "github.com/bnema/vev/internal/domain/layout"
88 )
99
1010 // preflightManifest rejects hostile declarations before UnmarshalManifest
@@ -4,7 +4,7 @@ import (
4 "fmt"4 "fmt"
5 5
6 "github.com/bnema/vev/internal/domain"6 "github.com/bnema/vev/internal/domain"
7- "github.com/bnema/vev/internal/usecase/layout"7+ "github.com/bnema/vev/internal/domain/layout"
8 )8 )
9 9
10 // preflightManifest rejects hostile declarations before UnmarshalManifest10 // preflightManifest rejects hostile declarations before UnmarshalManifest
M internal/usecase/snapshot/manifest_preflight_test.go +1 -1
@@ -7,7 +7,7 @@ import (
77 "testing"
88
99 "github.com/bnema/vev/internal/domain"
10- "github.com/bnema/vev/internal/usecase/layout"
10+ "github.com/bnema/vev/internal/domain/layout"
1111 )
1212
1313 func TestManifestGrammarRoundTrip(t *testing.T) {
@@ -7,7 +7,7 @@ import (
7 "testing"7 "testing"
8 8
9 "github.com/bnema/vev/internal/domain"9 "github.com/bnema/vev/internal/domain"
10- "github.com/bnema/vev/internal/usecase/layout"10+ "github.com/bnema/vev/internal/domain/layout"
11 )11 )
12 12
13 func TestManifestGrammarRoundTrip(t *testing.T) {13 func TestManifestGrammarRoundTrip(t *testing.T) {
M internal/usecase/snapshot/manifest_test.go +1 -1
@@ -9,8 +9,8 @@ import (
99 "testing"
1010
1111 "github.com/bnema/vev/internal/domain"
12+ "github.com/bnema/vev/internal/domain/layout"
1213 "github.com/bnema/vev/internal/ports"
13- "github.com/bnema/vev/internal/usecase/layout"
1414 )
1515
1616 func TestManifestIncarnation(t *testing.T) {
@@ -9,8 +9,8 @@ import (
9 "testing"9 "testing"
10 10
11 "github.com/bnema/vev/internal/domain"11 "github.com/bnema/vev/internal/domain"
12+ "github.com/bnema/vev/internal/domain/layout"
12 "github.com/bnema/vev/internal/ports"13 "github.com/bnema/vev/internal/ports"
13- "github.com/bnema/vev/internal/usecase/layout"
14 )14 )
15 15
16 func TestManifestIncarnation(t *testing.T) {16 func TestManifestIncarnation(t *testing.T) {
M internal/usecase/snapshot/preflight.go +1 -1
@@ -5,7 +5,7 @@ import (
55 "math"
66
77 vt "github.com/bnema/vev-vt"
8- "github.com/bnema/vev/internal/usecase/layout"
8+ "github.com/bnema/vev/internal/domain/layout"
99 )
1010
1111 func preflightSession(body []byte) error {
@@ -5,7 +5,7 @@ import (
5 "math"5 "math"
6 6
7 vt "github.com/bnema/vev-vt"7 vt "github.com/bnema/vev-vt"
8- "github.com/bnema/vev/internal/usecase/layout"8+ "github.com/bnema/vev/internal/domain/layout"
9 )9 )
10 10
11 func preflightSession(body []byte) error {11 func preflightSession(body []byte) error {
M internal/usecase/snapshot/preflight_acceptance_test.go +1 -1
@@ -5,7 +5,7 @@ import (
55 "testing"
66
77 renderer "github.com/bnema/vev-vt"
8- "github.com/bnema/vev/internal/usecase/layout"
8+ "github.com/bnema/vev/internal/domain/layout"
99 )
1010
1111 func TestPreflightRejectsDanglingTreeAndFocusReferencesBeforeDecode(t *testing.T) {
@@ -5,7 +5,7 @@ import (
5 "testing"5 "testing"
6 6
7 renderer "github.com/bnema/vev-vt"7 renderer "github.com/bnema/vev-vt"
8- "github.com/bnema/vev/internal/usecase/layout"8+ "github.com/bnema/vev/internal/domain/layout"
9 )9 )
10 10
11 func TestPreflightRejectsDanglingTreeAndFocusReferencesBeforeDecode(t *testing.T) {11 func TestPreflightRejectsDanglingTreeAndFocusReferencesBeforeDecode(t *testing.T) {
M internal/usecase/snapshot/snapshot.go +1 -1
@@ -1,6 +1,6 @@
11 package snapshot
22
3-import "github.com/bnema/vev/internal/usecase/layout"
3+import "github.com/bnema/vev/internal/domain/layout"
44
55 // Session is the durable transfer representation for a named daemon session.
66 type Session struct {
@@ -1,6 +1,6 @@
1 package snapshot1 package snapshot
2 2
3-import "github.com/bnema/vev/internal/usecase/layout"3+import "github.com/bnema/vev/internal/domain/layout"
4 4
5 // Session is the durable transfer representation for a named daemon session.5 // Session is the durable transfer representation for a named daemon session.
6 type Session struct {6 type Session struct {
M internal/usecase/snapshot/vevs_v4_golden_test.go +1 -1
@@ -6,7 +6,7 @@ import (
66 "testing"
77
88 vt "github.com/bnema/vev-vt"
9- "github.com/bnema/vev/internal/usecase/layout"
9+ "github.com/bnema/vev/internal/domain/layout"
1010 )
1111
1212 const compactVEVSGolden = "564556530005000000000104dbb0765f0007726573746f7265000000000000007b0000000100037461620050001800000000000000020001700000017000010001700006737461626c6500042f746d70000000010000003f5654433100000001000000000000002a0000000200000001000000010000000000000000000000290000000100000000410000000000000000200000000000000000105654433100000000000000000000002a000000645654433100000001000000000000002b000000020000000100000002000000000900000000000000000000ffffffffffffffff010203000000000000000000000000000000000000000000002a00000002000000754c000000010000000000000000010100"
@@ -6,7 +6,7 @@ import (
6 "testing"6 "testing"
7 7
8 vt "github.com/bnema/vev-vt"8 vt "github.com/bnema/vev-vt"
9- "github.com/bnema/vev/internal/usecase/layout"9+ "github.com/bnema/vev/internal/domain/layout"
10 )10 )
11 11
12 const compactVEVSGolden = "564556530005000000000104dbb0765f0007726573746f7265000000000000007b0000000100037461620050001800000000000000020001700000017000010001700006737461626c6500042f746d70000000010000003f5654433100000001000000000000002a0000000200000001000000010000000000000000000000290000000100000000410000000000000000200000000000000000105654433100000000000000000000002a000000645654433100000001000000000000002b000000020000000100000002000000000900000000000000000000ffffffffffffffff010203000000000000000000000000000000000000000000002a00000002000000754c000000010000000000000000010100"12 const compactVEVSGolden = "564556530005000000000104dbb0765f0007726573746f7265000000000000007b0000000100037461620050001800000000000000020001700000017000010001700006737461626c6500042f746d70000000010000003f5654433100000001000000000000002a0000000200000001000000010000000000000000000000290000000100000000410000000000000000200000000000000000105654433100000000000000000000002a000000645654433100000001000000000000002b000000020000000100000002000000000900000000000000000000ffffffffffffffff010203000000000000000000000000000000000000000000002a00000002000000754c000000010000000000000000010100"
M internal/usecase/snapshot/weights_test.go +1 -1
@@ -7,7 +7,7 @@ import (
77 "math"
88 "testing"
99
10- "github.com/bnema/vev/internal/usecase/layout"
10+ "github.com/bnema/vev/internal/domain/layout"
1111 )
1212
1313 func TestManifestWeightRoundTripAndOldCompatibility(t *testing.T) {
@@ -7,7 +7,7 @@ import (
7 "math"7 "math"
8 "testing"8 "testing"
9 9
10- "github.com/bnema/vev/internal/usecase/layout"10+ "github.com/bnema/vev/internal/domain/layout"
11 )11 )
12 12
13 func TestManifestWeightRoundTripAndOldCompatibility(t *testing.T) {13 func TestManifestWeightRoundTripAndOldCompatibility(t *testing.T) {

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 12

Tags 11

↑↓ moveenter openesc close