docs: remove flow from target layout model

This commit is contained in:
Kinneyzhang 2026-08-26 01:40:42 +08:00
parent 76a849b25b
commit 74c13b7eb3
2 changed files with 17 additions and 17 deletions

View File

@ -53,11 +53,11 @@ column | row | flex | grid
``` ```
A Box with multiple children must have an arrangement rule; the target ETAF contract A Box with multiple children must have an arrangement rule; the target ETAF contract
defaults that arrangement to `column` (vertical stacking). Users therefore do not defaults that arrangement to `column` (vertical stacking). Children are arranged only
need a public layout type named `flow`. `flow` is a real ordinary-content layout by `column`, `row`, `flex`, or `grid`. `Text` owns text measurement, wrapping, and
algorithm inside CSS/Ebox; current Ebox marks it with the CSS-like display pair inline runs, so the target model does not need a separate `flow` layout algorithm.
`(block flow)` for plain text/content boxes. It is not an ETAF public mode, Component, Current Ebox marks its ordinary content path with `(block flow)`; that is a historical
or extra module. implementation marker, not a required target algorithm or module.
`(box "text")` is shorthand for `(box (text "text"))`. ETAF must not expose `(box "text")` is shorthand for `(box (text "text"))`. ETAF must not expose
`(box :content "text")`; `:content` remains an Ebox backend field. `(box :content "text")`; `:content` remains an Ebox backend field.
@ -88,7 +88,7 @@ contributions downstream. It does not own Component lifecycle or data requests.
### Ebox ### Ebox
Ebox is the layout and rendering engine, not the ETAF Component Runtime. It owns text Ebox is the layout and rendering engine, not the ETAF Component Runtime. It owns text
measurement, wrapping, ordinary Box content layout, row/column/flex/grid geometry, measurement, wrapping, row/column/flex/grid geometry,
surface/scroll geometry, surface/scroll geometry,
stable layout snapshots, and render/paint plans. It does not know Components, slots, stable layout snapshots, and render/paint plans. It does not know Components, slots,
Context, Actions, Behaviors, Data, or Resources. Context, Actions, Behaviors, Data, or Resources.
@ -165,7 +165,7 @@ last committed result.
The clean public direction is `Text + Box(layout) + Component`. If concise syntax is The clean public direction is `Text + Box(layout) + Component`. If concise syntax is
needed, `row`/`column`/`flex`/`grid` may be introduced as new compiler sugar, but they needed, `row`/`column`/`flex`/`grid` may be introduced as new compiler sugar, but they
are not compatibility aliases and must not become Runtime Components. `fragment` is are not compatibility aliases and must not become Runtime Components. `fragment` is
transparent structure. `spacer` and `flow` are not public ETAF types; `flow` is only transparent structure. `spacer` and `flow` are not public ETAF types; the target Ebox
the current name for the ordinary Box default path. The redesign does not preserve the may replace the current `(block flow)` marker with ordinary Box/Text paths instead of
old Host registry names or add a compatibility layer. This target is not implemented retaining a separate flow branch. The redesign does not preserve the old Host registry
merely by documenting it. names or add a compatibility layer. This target is not implemented merely by documenting it.

View File

@ -62,10 +62,10 @@ column | row | flex | grid
``` ```
普通 `Box` 包含多个子节点时必须有明确的排列规则;目标 ETAF 规定默认排列为 普通 `Box` 包含多个子节点时必须有明确的排列规则;目标 ETAF 规定默认排列为
`column`(纵向堆叠)。因此用户不需要学习另一个叫 `flow` 的公共布局类型 `column`(纵向堆叠)。子节点只通过 `column`、`row`、`flex` 或 `grid` 排列
`flow` 在 CSS/Ebox 内部确实是普通内容布局算法;当前 Ebox 用 CSS-like display `Text` 自己负责文字测量、换行和 inline runs因此目标模型不需要额外的 `flow`
pair `(block flow)` 表示它,主要服务普通文本/内容盒。它不是 ETAF 的公共模式、 布局算法。当前 Ebox 用 CSS-like display pair `(block flow)` 表示普通内容路径,
Component 或额外模块。 这是历史实现标记,不是目标架构必须保留的算法或模块。
语义映射大致为: 语义映射大致为:
@ -184,7 +184,7 @@ Ebox 是布局和渲染引擎,不是 ETAF Component Runtime。
拥有: 拥有:
- 文本测量、字宽、换行和内容高度; - 文本测量、字宽、换行和内容高度;
- 普通 Box 内容布局,以及 row、column、flex、grid 的几何算法; - Text 内容测量和换行,以及 row、column、flex、grid 的几何算法;
- padding、border、surface、overflow、scroll 和 viewport 几何; - padding、border、surface、overflow、scroll 和 viewport 几何;
- 稳定的布局快照、节点 identity、增量几何更新 - 稳定的布局快照、节点 identity、增量几何更新
- 从布局结果到后端可提交 Render/Paint plan 的转换。 - 从布局结果到后端可提交 Render/Paint plan 的转换。
@ -396,8 +396,8 @@ text · fragment · container · row · column · stack · flex · grid · space
当前 Renderer 直接把这些名称映射到 Ebox 构造器Ebox Playground 也直接使用 当前 Renderer 直接把这些名称映射到 Ebox 构造器Ebox Playground 也直接使用
自己的布局 API。这只是现状记录不是目标 API也不构成必须保留的兼容表面。 自己的布局 API。这只是现状记录不是目标 API也不构成必须保留的兼容表面。
`spacer``flow` 都不属于目标公共词汇;`flow` 是 Ebox 内部普通内容布局的 `spacer``flow` 都不属于目标公共词汇;目标 Ebox 可以用普通 Box/Text 路径
实现路径名称,不是 ETAF 用户需要选择的布局模式 替代当前的 `flow` 标记,不为它保留独立布局分支
目标演进方向是: 目标演进方向是: