两块互相配合的基石
REZICS 将「内容是什么」与「内容出现在哪里」分开建模。
- Block Schema 定义一份可渲染文档由哪些带类型的区块组成,以及每个区块如何保留稳定身份、版本与验证规则。
- 内容结构 定义内容单元的出现位置、父子关系、顺序、目的地与已发布修订。
这个分离让同一篇章节/帖子能在多个位置重用,不必复制正文;每次出现又能有自己的节点 ID、顺序与导航语义。
Block Schema:不是裸 JSON
几乎所有可保存的 JSON 文档都必须先有可辨认的基础对象,而不是把任意 Portable Text 数组直接塞进字段。最基本的 Portable Text 文档具有以下语义:
{
_type: "portable-text",
_key: "6 字节/12 位十六进制键",
content: PortableText,
}
_type 决定解析与渲染协议;_key 让区块在修订、段落评论与结构操作中保持身份;文档版本则在每次结构规范演进时提供明确的迁移边界。格式验证之后仍要进行引用、权限与可见性验证,标识符格式本身不代表目标可读。
已实现的区块家族
当前共享 Block Schema 已能表达 Portable Text、单元引用、完整帖子呈现、单元清单、搜索驱动内容动态、菜单与其他受控内容表面。每个变体都是封闭联合类型的一部分,不允许未知区块在渲染器里默默通过。
专区、停靠区、维基导航与未来可重用文档都建立在这个共同基础上。是否将某份区块文档升格为独立单元,必须由跨所有者重用、独立作者、发布历史或可见性等真实需求证明。
内容结构现在已经能做什么
- 为书籍、媒体、帖子、领域分类结构与导航构建具有类型的结构。
- 以稳定节点 ID、父节点与分数位置保存大型有序树。
- 让节点引用可重用内容单元,并区分内容、单元目的地与外部网址。
- 以完整草稿编辑书籍/媒体结构,再将有界变更编译成原子请求。
- 保存修订、比较差异,并通过新修订还原旧状态。
- 让阅读器把结构投影成目录、上一章/下一章与阅读进度位置。
大型连载与导入
单次结构变更最多编译 10,000 个逻辑命令,限制的是一个原子变更,不是整本书的总节点数。大型网络小说可以把完整树分成多次可恢复写入:每次带入已提交节点与一组有界的新节点,成功后获取下一次需要的修订令牌。
因此大于 10,000 章的作品不需要加载一个无界交易,也不必牺牲冲突检测;导入可以中断后续传,最后再验证完整快照。
正在开发与规划
更多区块变体、跨所有者区块单元、强引用索引、段落级评论、完整大型导入工作流与 GameContentStructure 仍分别处于开发或规划阶段。每一种新区块都必须定义保存、发布、读取、删除、缓存与失败状态。
关系与边界
Block Schema 不是编辑器;内容结构也不是正文。编辑器生成经验证的文档,帖子/章节拥有内容,内容结构安排它们的出现位置,历史则保存已发布修订。