Skip to content

Commit bf7b9fd

Browse files
committed
docs: Inject Mermaid Architecture Diagrams into release notes (#9575)
1 parent 4620073 commit bf7b9fd

1 file changed

Lines changed: 48 additions & 0 deletions

File tree

resources/content/release-notes/v12.1.0.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,60 @@ We engineered a completely new hierarchical data foundation that fully supports
3535
* **Structural Integrity:** Complex operations like `updateKey` have been overridden to automatically migrate descendant `parentId` references, ensuring the "split-brain" State (where lookup maps get out of sync with record data) is impossible. Full CRUD support is built-in.
3636
* **Async Subtree Loading:** For massive datasets that cannot be sent to the client at once, the `TreeStore` supports asynchronous, on-demand loading of child nodes when a user expands a parent branch. We also implemented explicit Error States and dedicated events to handle network failures gracefully within the UI.
3737

38+
```mermaid
39+
graph TD
40+
subgraph "Structural Layer (Deep Maps)"
41+
Root((Root)) --> A(Node A <br/> Expanded)
42+
Root --> B(Node B <br/> Collapsed)
43+
A --> A1(Node A.1)
44+
A --> A2(Node A.2)
45+
B --> B1(Node B.1)
46+
47+
classDef collapsed stroke-dasharray: 5 5;
48+
classDef expanded stroke-width:3px;
49+
50+
class A expanded;
51+
class B collapsed;
52+
end
53+
54+
subgraph "Projection Layer (Flat Array)"
55+
F1[Index 0: Node A]
56+
F2[Index 1: Node A.1]
57+
F3[Index 2: Node A.2]
58+
F4[Index 3: Node B]
59+
60+
F1 -.-> F2
61+
F2 -.-> F3
62+
F3 -.-> F4
63+
end
64+
65+
A -.-> F1
66+
A1 -.-> F2
67+
A2 -.-> F3
68+
B -.-> F4
69+
```
70+
3871
### 2. The Data Pipeline Modernization
3972
To feed the newly minted `TreeStore`, we completely overhauled the Data Worker's ingestion pipeline.
4073
* **The Parser-Normalizer Split:** Previously, data came through a single pipeline. We refactored this into a strict, modular flow: `Connection -> Parser -> Normalizer`. The new `Neo.data.normalizer.Base` (and its hierarchical sibling, `Tree`) acts as the final transformation layer, normalizing complex nested payloads from external APIs before handing pure JSON to the App Worker.
4174
* **Push-Based WebSocket IPC & RPC:** We integrated persistent WebSocket connections and RPC APIs directly into the `Connection` architecture, enabling real-time streaming of hierarchical mutations from the server directly to the VDOM without polling.
4275
* **Dynamic Module Loading:** `Neo.worker.Data` can now dynamically request and instantiate parser/normalizer modules at runtime, deeply minimizing the initial Data Worker bundle size.
4376

77+
```mermaid
78+
sequenceDiagram
79+
participant App as App Worker (Store)
80+
participant Pipe as Pipeline
81+
participant Data as Data Worker
82+
participant Net as Connection Layer
83+
84+
App->>Pipe: load()
85+
Pipe->>Data: Offload Execution (workerExecution: 'data')
86+
Data->>Net: Fetch or WebSocket Stream
87+
Net-->>Data: Raw Bytes / JSON
88+
Data->>Data: Parse & Normalize
89+
Data-->>App: Fast IPC Transfer (Records)
90+
```
91+
4492
### 3. `Neo.grid.column.Tree` & The Big Data Demo
4593
The visual counterpart to the `TreeStore` is the new `TreeGrid` column component.
4694
* **O(1) Rendering Hierarchy:** It utilizes semantic indentation (`padding-left` derived from node depth) and interactive expand/collapse toggles natively rendered inside the pooled Grid Cells.

0 commit comments

Comments
 (0)