Skip to content

Instantly share code, notes, and snippets.

@a10y
Last active July 18, 2025 15:34
Show Gist options
  • Save a10y/9ad5d8552c79ec5d72fb8360062954ae to your computer and use it in GitHub Desktop.
Save a10y/9ad5d8552c79ec5d72fb8360062954ae to your computer and use it in GitHub Desktop.
config:
    flowchart:
        defaultRenderer: elk
flowchart TD
   %% Data Types
   Integer[Integer]:::datatype
   Float[Float]:::datatype
   String[String]:::datatype

   %% Integer compression outcomes
   Constant1[Constant]:::outcome
   FOR[FOR]:::outcome
   ZigZag[ZigZag]:::outcome
   BitPacking1[BitPacking]:::outcome
   Sparse[Sparse]:::outcome
   Dict1[Dict]:::outcome
   RunEnd[RunEnd]:::outcome
   Sequence[Sequence]:::outcome
   Uncompressed1[Uncompressed]:::outcome

   %% Float compression outcomes
   Constant2[Constant]:::outcome
   ALP[ALP]:::outcome
   ALPRD[ALPRD]:::outcome
   Dict2[Dict]:::outcome
   Uncompressed2[Uncompressed]:::outcome

   %% String compression outcomes
   Dict3[Dict]:::outcome
   FSST[FSST]:::outcome
   DictFSST[Dict + FSST]:::outcome
   Uncompressed3[Uncompressed]:::outcome

   %% Cascading compression targets
   BitPacking2[BitPacking]:::cascade
   BitPacking3[BitPacking]:::cascade
   Integer1[Integer]:::datatype
   Integer21[Integer]:::datatype
   Integer22[Integer]:::datatype
   Integer3[Integer]:::datatype
   Integer41[Integer]:::datatype
   Integer42[Integer]:::datatype
   Integer51[Integer]:::datatype
   Float52[Float]:::datatype
   Integer71[Integer]:::datatype
   Uncompressed4[Uncompressed]:::cascade
   Uncompressed5[Uncompressed]:::cascade
   FSST21[FSST]:::cascade
   Integer62[Integer]:::datatype

   %% Integer compression edges
   Integer --> Constant1
   Integer --> FOR
   Integer --> ZigZag
   Integer --> BitPacking1
   Integer --> Sparse
   Integer --> Dict1
   Integer --> RunEnd
   Integer --> Sequence
   Integer --> Uncompressed1

   %% Float compression edges
   Float --> Constant2
   Float --> ALP
   Float --> ALPRD
   Float --> Dict2
   Float --> Uncompressed2

   %% String compression edges
   String --> Dict3
   String --> FSST
   String --> DictFSST
   String --> Uncompressed3

   %% Cascading edges
   FOR --> BitPacking2
   ZigZag --> Integer1
   Sparse -->|positions| Integer21
   Sparse -->|values| Integer22
   Dict1 -->|codes| Integer3
   Dict1 -->|values| Uncompressed5
   RunEnd -->|ends| Integer41
   RunEnd -->|values| Integer42
   ALP --> BitPacking3
   ALPRD --> BitPacking3
   Dict2 -->|codes| Integer51
   Dict2 -->|values| Float52
   Dict3 -->|codes| Integer71
   Dict3 -->|values| Uncompressed4
   DictFSST -->|values| FSST21
   DictFSST -->|codes| Integer62

   %% Styling
   classDef datatype fill:#90C695
   classDef outcome fill:#87CEEB
   classDef cascade fill:#ffffff
Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment