docs: remove raw Ebox from target View

This commit is contained in:
Kinneyzhang 2026-08-26 15:04:19 +08:00
parent 46c5a69a7a
commit 2e3bbf3f47
2 changed files with 15 additions and 10 deletions

View File

@ -30,11 +30,12 @@ View = Text
| Box
| Fragment
| ComponentCall
| RawEbox
```
`expr` and `slot` are computation/projection mechanisms, not visual nodes. `RawEbox`
is an opaque low-level escape and does not inherit normal View semantics.
`expr` and `slot` are computation/projection mechanisms, not visual nodes. The target
public View does not accept raw Ebox Nodes. Missing rendering capability must become a
typed View/Ebox feature with explicit identity and impact contracts rather than an
opaque escape.
## 2. Text, Box, and Fragment
@ -264,8 +265,9 @@ reference resize, and p95/max at or below 50ms in fixed real scenarios.
## 8. Current gap and non-goals
Current code still registers `text`, `fragment`, `container`, `row`, `column`, `stack`,
`flex`, `grid`, and `spacer`. Target `box`, `:outer`, and `:layout 'normal` are not
implemented.
`flex`, `grid`, and `spacer`, and exposes `raw-ebox`. Target `box`, `:outer`, and
`:layout 'normal` are not implemented, and the target public View does not retain
`raw-ebox`.
This is a clean redesign: old Host names and old `.etaf` sources need not continue to
run, and no long-lived compatibility layer is added. Formal architecture/user docs must
@ -275,6 +277,7 @@ Non-goals:
- full browser CSS;
- spacer, public flow, or `(box :content ...)`;
- injecting raw Ebox Nodes into View;
- layout modes as Components or alternate Runtime nodes;
- old Host aliases or optional layout shorthand in core;
- core protocols owned by Playground/UI/database packages;

View File

@ -32,11 +32,11 @@ View = Text
| Box
| Fragment
| ComponentCall
| RawEbox
```
`expr``slot` 是计算/投影机制,不是视觉节点。`RawEbox` 是明确的低层出口,
不获得正常 View 的样式、事件或增量语义。
`expr``slot` 是计算/投影机制,不是视觉节点。目标公共 View 不接受原始 Ebox
节点;缺失的渲染能力必须先形成有类型、有 identity/impact 契约的 View/Ebox 能力,
不能通过 opaque escape 绕过框架语义。
## 2. Text、Box 与 Fragment
@ -180,7 +180,7 @@ ETAF 也不提供 `spacer` 类型。没有子节点的 Box 就是空 Box。
`etaf-view`
- 定义并规范化 Text、Box、Fragment、ComponentCall 和 RawEbox
- 定义并规范化 Text、Box、Fragment 和 ComponentCall
- 将字符串规范化为 Text
- 验证属性闭集、slot、`:key` 和表达式边界;
- 不测量、不布局、不写 buffer。
@ -333,7 +333,8 @@ Component identity、依赖所有权、TP 优先级和 generation authority 不
## 8. 当前实现差距与非目标
当前代码仍注册 `text`、`fragment`、`container`、`row`、`column`、`stack`、
`flex`、`grid` 和 `spacer`;目标 `box`、`:outer`、`:layout 'normal` 尚未实现。
`flex`、`grid` 和 `spacer`,并提供 `raw-ebox`;目标 `box`、`:outer`、
`:layout 'normal` 尚未实现,目标公共 View 也不保留 `raw-ebox`
这是干净重设计,不要求旧 Host 名称或旧 `.etaf` 文件继续运行,也不增加长期
兼容层。实现完成前,正式架构和用户指南不得把目标语法描述成当前 API。
@ -342,6 +343,7 @@ Component identity、依赖所有权、TP 优先级和 generation authority 不
- 不实现完整浏览器 CSS
- 不提供 `spacer`、公共 `flow``(box :content ...)`
- 不允许应用把原始 Ebox Node 注入 View
- 不把布局模式做成 Component 或第二套 Runtime 节点;
- 不在 Core 中保留旧 Host alias 或可选短写法;
- 不让 Playground、UI 或数据库包拥有 Core 协议;