Skip to content

🧠 Think in semio

🧩 Understanding semio: The Anatomy of a Modular Design System

Let’s say you’ve just bought a big LEGO box. Inside, you can build a spaceship, a castle, or a race car. Everything starts from that box, and that’s how semio’s architecture works too.

πŸ“¦ Kit = The LEGO Box


  • A Kit is your complete LEGO set 🧰
  • It holds all the parts, instructions, and models you need to build anything 🧱
  • In semio, the Kit is your project container πŸ“
  • It includes everything related to your modular system:
    • πŸ“ Designs, 🧱 Building Blocks, πŸ”— Connection Logic, πŸ“Š Various Data


🧾 Design = The Model You Build


  • A Design is one specific thing you build
    • Like a spaceship πŸš€, a launchpad 🧱, or a tower 🏰
  • It’s made of multiple LEGO parts arranged with intention 🎯
  • You can build many different Designs from the same building components 🧰


🧱 Type = The Unique Brick Mold


A Type in semio is your brick mold β€” the unique template behind a distinct kind of brick 🧱

  • 🧊 Each Type defines a distinct brick mold
    • That means: a unique combination of shape, role, and connection logic
    • For example: a 2Γ—4 brick, a window brick, or a roof brick 🧱
  • πŸ“ It acts as the blueprint of that brick
    • Describing what it is, how it looks, and how it connects πŸ”§
  • ♻️ Once defined, a Type can be reused to create many identical bricks
    • Helping you build modular, consistent, and scalable systems 🧩


πŸ” Piece = A Brick You Actually Use


  • A Piece is an individual brick you place in your design 🧱
    • It’s a distinct instance of a Type β€” the brick mold it was made from 🧰
  • For example, if you use ten red 2Γ—4 bricks, each one is a separate Piece β€” but they all come from the same mold
  • Each Piece inherits the following from its Type:
    🧬 Geometry – its shape
    🧠 Design meaning – what it represents
    πŸ”Œ Connection Points – where and how it snaps to others
    πŸ“„ Metadata – additional properties


βš“ Port = The Connection Point


  • A Port is a smart, intentional connector 🧲
    • Like a LEGO stud or socket 🧱, but placed exactly where it’s needed 🎯
  • Each Port tells the system where and how a Piece connects πŸ”§
  • Ports are defined once on a Type and automatically inherited by all its Pieces 🧩


πŸ”— Connection = The Snapping Together


  • A Connection defines how two bricks fit together 🧷
    • Like snapping a window piece onto a wall πŸͺŸ
  • It’s not a shape or object β€” it’s a rule 🧠
  • It tells the system which Ports to join and how they align βš“

πŸ“ Example:
β€œConnect the top Port of Piece A ⬆️ to the bottom Port of Piece B ⬇️”