fix(workbench): Keep tool window resizing smooth with a long agent conversation (#133)

Dragging a tool window edge set an inherited custom property on the tool window
grid, so every pointer move restyled the whole workbench below it. With a long
agent conversation open each move cost 150-400 ms. The grid track variables are
now registered as non-inherited, and the side splitter sets flex-grow on its two
areas instead of inherited variables on the side.
Цей коміт міститься в:
l0ng-ai authored and GitHub committed 2026-10-28 17:59:09 +08:00
1 джерело ecb3134460
коміт 08fd134bdb
3 files changed
+61 -23

No files matched your search

+29 -7
Переглянути файл
@@ -12,6 +12,35 @@
.frameNoLeft {
padding-left: var(--island-gap);
}
/*
* Only the grid reads its track variables. Not inherited, so dragging a tool window
* edge restyles the grid alone instead of every node in the workbench below it.
*/
@property --tw-left {
syntax: "*";
inherits: false;
}
@property --tw-right {
syntax: "*";
inherits: false;
}
@property --tw-bottom {
syntax: "*";
inherits: false;
}
@property --gap-left {
syntax: "*";
inherits: false;
}
@property --gap-right {
syntax: "*";
inherits: false;
}
@property --gap-bottom {
syntax: "*";
inherits: false;
}
.grid {
flex: 1;
display: grid;
@@ -56,13 +85,6 @@
.sideRow {
flex-direction: row;
}
/* --split-a / --split-b: the stored ratio (SidePanel), moved directly while the splitter is dragged. */
.areaFirst {
flex: var(--split-a, 1) 1 0px;
}
.areaSecond {
flex: var(--split-b, 1) 1 0px;
}
.island[hidden] {
display: none;
}