ocs_doc_api: Phase 3 attributes + nested block traversal

- SetAttribute op + GetAttributes/GetBlockEntities queries (append-only).
- backend set_attribute (add/update Insert attribute), attributes (tag,value pairs),
  block_entities (read-only traversal via BlockRecord.entity_handles -> id+kind+bounds).
- facade Entity::set_attribute/attributes, Document::block_entities.
- spec Insert methods; api_reference + binding_schema regenerated; mocks + baseline.
- Query enum: drop Copy (GetBlockEntities carries String).
- Test phase3_attributes_and_block_traversal -> 608 host lib + 3 consistency green.
This commit is contained in:
Sebastian committed 2026-09-06 10:02:23 +02:00
1 parent 2dba0158ca
commit 67655add72
15 files changed
+267 -14

No files matched your search

+13
View File
@@ -347,6 +347,19 @@ name = "create_insert"
args = [{ name = "block_name", ty = "&str" }, { name = "insert_point", ty = "[f64; 3]" }, { name = "scale", ty = "f64" }, { name = "rotation", ty = "f64" }]
op = "CreateInsert"
[[family.method]]
name = "attributes"
kind = "query"
query = "GetAttributes"
returns = "Vec<(String, String)>"
[[family.method]]
name = "set_attribute"
kind = "op"
op = "SetAttribute"
args = [{ name = "tag", ty = "&str" }, { name = "value", ty = "&str" }]
returns = "()"
# ============================================================================
# PAPER-SPACE FAMILY (phase 4) — viewports
# ============================================================================