Skip to Content
APIansiq-core

ansiq-core

ansiq-core 负责模型层:

  • Element
  • signals 与 reactive runtime
  • style 与 color types
  • history 与 transcript data
  • widget state types

它的职责可以压成一句话:

定义全框架共享的语言,但不直接更新 terminal。

你通常会在这里遇到什么

响应式原语

  • signal
  • computed
  • effect

这是 app 和组件最常先接触到的一层。

let query = cx.signal(String::new); let is_empty = cx.computed({ let query = query.clone(); move || query.get().trim().is_empty() });

如果你现在最关心的是这些 API 的边界,先读:

共享数据模型

ansiq-core 还定义跨 crate 传递的数据结构,例如:

  • Element
  • Color / Style
  • HistoryBlock
  • TranscriptEntry
  • ListState / TableState / ScrollbarState

这些类型的重要性在于:

  • widgets 围绕它们构造 props
  • runtime 围绕它们做 continuity 和 routing
  • surface 围绕它们处理 history / viewport

核心协议

现在一部分纯协议也已经下沉到 core,例如:

  • runtime state continuity
  • widget key routing
  • layout / render math 的纯计算帮助函数

所以 ansiq-core 不只是“reactivity crate”,而是共享契约层。

什么时候应该先看它

适合先读 ansiq-core 的场景:

  • 你想理解 signal / computed / effect 的真实边界
  • 你想知道某个 State 类型为什么长这样
  • 你在 debug continuity、history、style 这类跨层问题
  • 你在给 runtime / widgets / surface 提交改动

什么时候不该从这里开始

如果你的问题是:

  • “怎么跑一个 app?”
  • RuntimeHandle 有哪些方法?”
  • “viewport 策略怎么选?”

那应该先去看:

推荐继续阅读

  1. Signals 与 Hooks
  2. ansiq-runtime
  3. 响应式系统原理
Last updated on