docs: convert standard diagrams from draw.io PNGs to inline Mermaid
Gitea renders mermaid inline, so the flow/state/hierarchy/DAG diagrams move to text-in-markdown: auto-layout (removes the manual overlap-prone draw.io step), diffable source, no committed binaries, and a dark-text theme so labels stay legible. Keep draw.io PNGs only for the two complex bespoke diagrams (logical architecture, env2 topology) where pixel control still wins. All 24 mermaid blocks validated by rendering.
This commit is contained in:
@@ -32,8 +32,46 @@ We want a strongly-typed model for OPC UA endpoint configuration, a validator th
|
||||
|
||||
## Architecture
|
||||
|
||||

|
||||
<!-- source: diagrams/opcua-config-model-architecture.drawio — edit, then re-export with export-drawio.sh -->
|
||||
```mermaid
|
||||
%%{init: {'theme':'base', 'themeVariables': {'textColor':'#111111','lineColor':'#555555','edgeLabelBackground':'#ffffff','fontSize':'15px'}}}%%
|
||||
flowchart TD
|
||||
subgraph COMMONS["ZB.MOM.WW.ScadaBridge.Commons"]
|
||||
TYPES["Types/DataConnections/<br/>OpcUaEndpointConfig.cs (POCO)<br/>OpcUaHeartbeatConfig.cs (POCO)<br/>OpcUaSecurityMode.cs (enum)"]
|
||||
VALID["Validators/<br/>OpcUaEndpointConfigValidator.cs"]
|
||||
SER["Serialization/<br/>OpcUaEndpointConfigSerializer.cs"]
|
||||
TYPES ~~~ VALID ~~~ SER
|
||||
end
|
||||
|
||||
subgraph CENTRALUI["ZB.MOM.WW.ScadaBridge.CentralUI"]
|
||||
CUIFORMS["Components/Forms/<br/>OpcUaEndpointEditor.razor (shared)"]
|
||||
CUIPAGES["Pages/Admin/<br/>DataConnectionForm.razor"]
|
||||
CUIFORMS ~~~ CUIPAGES
|
||||
end
|
||||
|
||||
subgraph SITERUNTIME["ZB.MOM.WW.ScadaBridge.SiteRuntime"]
|
||||
SRACTORS["Actors/<br/>DeploymentManagerActor<br/>(passes raw JSON to DataConnectionFactory)"]
|
||||
SRDC["DataConnections.OpcUa/<br/>OpcUaDataConnection.cs<br/>(consumes typed model)"]
|
||||
SRACTORS ~~~ SRDC
|
||||
end
|
||||
|
||||
COMMONS -->|referenced by| CENTRALUI
|
||||
COMMONS -->|referenced by| SITERUNTIME
|
||||
|
||||
NOTE["Both sides deserialize DataConnection.PrimaryConfiguration / BackupConfiguration<br/>into the same OpcUaEndpointConfig instance. The DB column type does not change."]
|
||||
CENTRALUI -.- NOTE
|
||||
SITERUNTIME -.- NOTE
|
||||
|
||||
classDef start fill:#d5e8d4,stroke:#82b366,color:#111111;
|
||||
classDef proc fill:#dae8fc,stroke:#6c8ebf,color:#111111;
|
||||
classDef dec fill:#fff2cc,stroke:#d6b656,color:#111111;
|
||||
classDef warn fill:#ffe6cc,stroke:#d79b00,color:#111111;
|
||||
classDef muted fill:#f5f5f5,stroke:#999999,color:#666666;
|
||||
class COMMONS dec
|
||||
class TYPES,VALID,SER warn
|
||||
class CENTRALUI,CUIFORMS,CUIPAGES proc
|
||||
class SITERUNTIME,SRACTORS,SRDC start
|
||||
class NOTE muted
|
||||
```
|
||||
|
||||
Both sides deserialize from `DataConnection.PrimaryConfiguration` / `BackupConfiguration` strings into the same `OpcUaEndpointConfig` instance. The DB column type does not change.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user