Skip to content

feat(serde): add tree JSON serialisation format#106

Draft
HCookie wants to merge 1 commit into
mainfrom
feat/tree-json-serde
Draft

feat(serde): add tree JSON serialisation format#106
HCookie wants to merge 1 commit into
mainfrom
feat/tree-json-serde

Conversation

@HCookie

@HCookie HCookie commented Jun 23, 2026

Copy link
Copy Markdown
Member

Summary

Adds a new recursive tree JSON serialisation format (to_tree_json/from_tree_json) designed for UI consumption.

Format

Each node serialises as:

{
  "key": "<dimension_name>",
  "values": { "type": "enum", "dtype": "<int64|float64|str|datetime|mixed>", "values": [...] },
  "metadata": {},
  "children": [...]
}

This provides type information alongside values, making it straightforward for frontends to render typed coordinate selectors.

Changes

  • qubed/src/serde/json.rs: Add to_tree_json(), from_tree_json(), and supporting helpers (coords_dtype, serialize_tree_node, parse_tree_node)

Part of the split from #102. Independently mergeable.

Add to_tree_json/from_tree_json: a recursive format with key, values,
metadata, children fields per node. Suitable for UI consumption where
the tree structure needs to be walked with type information.

Format:
  { "key": <dim>, "values": { "type": "enum", "dtype": <type>, "values": [...] }, "metadata": {}, "children": [...] }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant