Selection anchors are product state
When a user selects text or math, the product receives a durable intent, not a temporary highlight.
AnyReader codebase research
/knowledge/selection-anchors-are-product-stateknowledge.trace("selection-anchors-are-product-state")WorkingSignal
When to use it
Use when implementing quote, highlight, annotation, QA, or reading-progress behavior.
Principle
What it protects
It prevents teams from treating DOM selection as enough. Durable reading products need stable anchors, source context, quote hashes, replay behavior, and tests for Markdown, math, and cross-block selection.
Reference
How to cite it
Use this when planning tests for Markdown rendering, math selection, QA records, or article interaction components.
knowledge.trace("selection-anchors-are-product-state")
Where this idea is used.
knowledge.graph("thin")Most related paths
Product interface research / ActiveAnyReader Interface TeardownTurns this knowledge entry into inspectable project evidence.Product teardown / 中文AnyReader 深度阅读界面拆解Uses this rule as a writing argument in the Product teardown track.Design principle / EnglishThe Interface is a PromiseUses this rule as a writing argument in the Design principle track.Internal referenceAnyReader teardownConnects this rule to another public route in the studio.Internal referenceInterface promiseConnects this rule to another public route in the studio.
Related writing
Product teardown / 中文AnyReader 深度阅读界面拆解AnyReader 的价值在于把阅读、追问、数学公式、QA 记录和工作区状态放进同一个界面承诺里;风险也正来自这些承诺的边界。Uses this rule as a writing argument in the Product teardown track.Design principle / EnglishThe Interface is a PromiseGood interfaces are agreements between human intent and system behavior. This essay frames affordance, feedback, and failure as promises the product must keep.Uses this rule as a writing argument in the Design principle track.
Reference links