From 74c13b7eb316278155c798ce8f9c5ef80d5b00c9 Mon Sep 17 00:00:00 2001 From: Kinneyzhang Date: Wed, 26 Aug 2026 01:40:42 +0800 Subject: [PATCH] docs: remove flow from target layout model --- docs/proposals/module-boundaries.en.md | 20 ++++++++++---------- docs/proposals/module-boundaries.zh.md | 14 +++++++------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/docs/proposals/module-boundaries.en.md b/docs/proposals/module-boundaries.en.md index 3ac6943..98be738 100644 --- a/docs/proposals/module-boundaries.en.md +++ b/docs/proposals/module-boundaries.en.md @@ -53,11 +53,11 @@ column | row | flex | grid ``` 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 -need a public layout type named `flow`. `flow` is a real ordinary-content layout -algorithm inside CSS/Ebox; current Ebox marks it with the CSS-like display pair -`(block flow)` for plain text/content boxes. It is not an ETAF public mode, Component, -or extra module. +defaults that arrangement to `column` (vertical stacking). Children are arranged only +by `column`, `row`, `flex`, or `grid`. `Text` owns text measurement, wrapping, and +inline runs, so the target model does not need a separate `flow` layout algorithm. +Current Ebox marks its ordinary content path with `(block flow)`; that is a historical +implementation marker, not a required target algorithm or module. `(box "text")` is shorthand for `(box (text "text"))`. ETAF must not expose `(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 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, stable layout snapshots, and render/paint plans. It does not know Components, slots, 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 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 -transparent structure. `spacer` and `flow` are not public ETAF types; `flow` is only -the current name for the ordinary Box default path. The redesign does not preserve the -old Host registry names or add a compatibility layer. This target is not implemented -merely by documenting it. +transparent structure. `spacer` and `flow` are not public ETAF types; the target Ebox +may replace the current `(block flow)` marker with ordinary Box/Text paths instead of +retaining a separate flow branch. The redesign does not preserve the old Host registry +names or add a compatibility layer. This target is not implemented merely by documenting it. diff --git a/docs/proposals/module-boundaries.zh.md b/docs/proposals/module-boundaries.zh.md index f939d76..6abec54 100644 --- a/docs/proposals/module-boundaries.zh.md +++ b/docs/proposals/module-boundaries.zh.md @@ -62,10 +62,10 @@ column | row | flex | grid ``` 普通 `Box` 包含多个子节点时必须有明确的排列规则;目标 ETAF 规定默认排列为 -`column`(纵向堆叠)。因此用户不需要学习另一个叫 `flow` 的公共布局类型。 -`flow` 在 CSS/Ebox 内部确实是普通内容布局算法;当前 Ebox 用 CSS-like display -pair `(block flow)` 表示它,主要服务普通文本/内容盒。它不是 ETAF 的公共模式、 -Component 或额外模块。 +`column`(纵向堆叠)。子节点只通过 `column`、`row`、`flex` 或 `grid` 排列。 +`Text` 自己负责文字测量、换行和 inline runs,因此目标模型不需要额外的 `flow` +布局算法。当前 Ebox 用 CSS-like display pair `(block flow)` 表示普通内容路径, +这是历史实现标记,不是目标架构必须保留的算法或模块。 语义映射大致为: @@ -184,7 +184,7 @@ Ebox 是布局和渲染引擎,不是 ETAF Component Runtime。 拥有: - 文本测量、字宽、换行和内容高度; -- 普通 Box 内容布局,以及 row、column、flex、grid 的几何算法; +- Text 内容测量和换行,以及 row、column、flex、grid 的几何算法; - padding、border、surface、overflow、scroll 和 viewport 几何; - 稳定的布局快照、节点 identity、增量几何更新; - 从布局结果到后端可提交 Render/Paint plan 的转换。 @@ -396,8 +396,8 @@ text · fragment · container · row · column · stack · flex · grid · space 当前 Renderer 直接把这些名称映射到 Ebox 构造器;Ebox Playground 也直接使用 自己的布局 API。这只是现状记录,不是目标 API,也不构成必须保留的兼容表面。 -`spacer` 和 `flow` 都不属于目标公共词汇;`flow` 是 Ebox 内部普通内容布局的 -实现路径名称,不是 ETAF 用户需要选择的布局模式。 +`spacer` 和 `flow` 都不属于目标公共词汇;目标 Ebox 可以用普通 Box/Text 路径 +替代当前的 `flow` 标记,不为它保留独立布局分支。 目标演进方向是: