DocsConceptsBlock Identity

Block Identity

Block identity is the core reason HybricMark is suited for product-grade editor systems.

What plain Markdown misses

Markdown stores structure, but does not guarantee durable IDs for each paragraph or heading. After edits, it is hard to reference one exact block.

HybricMark strategy

`@tiptap/extension-unique-id` is configured in the default stack. Core block nodes receive `attrs.id` during editing.
{
  "type": "paragraph",
  "attrs": {
    "id": "f7652fb0-0815-4f41-9efb-b67fe7b18390"
  },
  "content": [{ "type": "text", "text": "Block-level targeting" }]
}

What this unlocks

  • Block comments and review anchors
  • Deterministic references between cards/blocks
  • Partial persistence (patch only changed blocks)
  • Reliable extract-to-card workflows

Storage recommendation

Persist JSON as source of truth. Derive HTML only for rendering/export. This keeps block IDs and semantic node structure intact.