# notdumbdev/packeteer architecture

> Architecture diagram of the GitHub repository notdumbdev/packeteer, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/notdumbdev/packeteer
- Repository: https://github.com/notdumbdev/packeteer

## Overview

Packeteer is a Roblox Luau networking library. A developer defines communication through a shared network schema and packet APIs; Packeteer handles networking setup, while Packet Functions provide promise-based asynchronous communication. The tree shows separate modules for reliable events, unreliable events, and functions, plus promise, error, type, and folder utilities. The README and documentation titles support these product capabilities, but source excerpts are unavailable, so internal call wiring is not inferred.

Main entry points: [`lib/Packeteer/CreatePacketFunction.luau`](https://github.com/notdumbdev/packeteer/blob/master/lib/Packeteer/CreatePacketFunction.luau) (Packet Function), [`lib/Packeteer/CreatePacketEvent.luau`](https://github.com/notdumbdev/packeteer/blob/master/lib/Packeteer/CreatePacketEvent.luau) (Packet Event), [`lib/Packeteer/CreateUnreliablePacketEvent.luau`](https://github.com/notdumbdev/packeteer/blob/master/lib/Packeteer/CreateUnreliablePacketEvent.luau) (Unreliable Event), [`lib/Packeteer/Packeteer.luau`](https://github.com/notdumbdev/packeteer/blob/master/lib/Packeteer/Packeteer.luau) (Packeteer)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_packet_api["Packet APIs"]
  node_packet_event["Packet Event"]
  node_packet_function["Packet Function"]
  node_unreliable_event["Unreliable Event"]
end

subgraph group_runtime_support["Runtime Support"]
  node_packeteer["Packeteer<br/>[Packeteer.luau]"]
  node_promise["Promise<br/>[Promise.luau]"]
  node_untyped_promise["Untyped Promise"]
  node_network_error["Network Error<br/>[NetworkError.luau]"]
  node_folder_util["Folder Utility<br/>[FolderUtil.luau]"]
  node_core_types["Core Types<br/>[CoreTypes.luau]"]
  node_packet_types["Packet Types<br/>[PacketTypes.luau]"]
end

node_developer(("Developer"))
node_network_schema["Network Schema"]

node_developer -->|"defines"| node_network_schema
node_developer -->|"defines"| node_packet_event
node_developer -->|"defines"| node_packet_function
node_developer -->|"defines"| node_unreliable_event
node_network_schema -->|"specifies communication"| node_packeteer
node_packet_function -->|"uses promises"| node_promise

click node_packeteer "https://github.com/notdumbdev/packeteer/blob/master/lib/Packeteer/Packeteer.luau"
click node_packet_event "https://github.com/notdumbdev/packeteer/blob/master/lib/Packeteer/CreatePacketEvent.luau"
click node_packet_function "https://github.com/notdumbdev/packeteer/blob/master/lib/Packeteer/CreatePacketFunction.luau"
click node_unreliable_event "https://github.com/notdumbdev/packeteer/blob/master/lib/Packeteer/CreateUnreliablePacketEvent.luau"
click node_promise "https://github.com/notdumbdev/packeteer/blob/master/lib/Packeteer/Include/Promise.luau"
click node_untyped_promise "https://github.com/notdumbdev/packeteer/blob/master/lib/Packeteer/Include/UntypedPromise.luau"
click node_network_error "https://github.com/notdumbdev/packeteer/blob/master/lib/Packeteer/NetworkError.luau"
click node_folder_util "https://github.com/notdumbdev/packeteer/blob/master/lib/Packeteer/Util/FolderUtil.luau"
click node_core_types "https://github.com/notdumbdev/packeteer/blob/master/lib/Packeteer/Types/CoreTypes.luau"
click node_packet_types "https://github.com/notdumbdev/packeteer/blob/master/lib/Packeteer/Types/PacketTypes.luau"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_packet_event,node_packet_function,node_unreliable_event toneBlue
class node_packeteer,node_promise,node_untyped_promise,node_network_error,node_folder_util,node_core_types,node_packet_types toneAmber
class node_developer,node_network_schema toneIndigo
```

## Components

### Packet APIs

- [Packet Event](https://github.com/notdumbdev/packeteer/blob/master/lib/Packeteer/CreatePacketEvent.luau): `lib/Packeteer/CreatePacketEvent.luau`
- [Packet Function](https://github.com/notdumbdev/packeteer/blob/master/lib/Packeteer/CreatePacketFunction.luau): `lib/Packeteer/CreatePacketFunction.luau`
- [Unreliable Event](https://github.com/notdumbdev/packeteer/blob/master/lib/Packeteer/CreateUnreliablePacketEvent.luau): `lib/Packeteer/CreateUnreliablePacketEvent.luau`

### Runtime Support

- [Packeteer](https://github.com/notdumbdev/packeteer/blob/master/lib/Packeteer/Packeteer.luau): `lib/Packeteer/Packeteer.luau`
- [Promise](https://github.com/notdumbdev/packeteer/blob/master/lib/Packeteer/Include/Promise.luau): `lib/Packeteer/Include/Promise.luau`
- [Untyped Promise](https://github.com/notdumbdev/packeteer/blob/master/lib/Packeteer/Include/UntypedPromise.luau): `lib/Packeteer/Include/UntypedPromise.luau`
- [Network Error](https://github.com/notdumbdev/packeteer/blob/master/lib/Packeteer/NetworkError.luau): `lib/Packeteer/NetworkError.luau`
- [Folder Utility](https://github.com/notdumbdev/packeteer/blob/master/lib/Packeteer/Util/FolderUtil.luau): `lib/Packeteer/Util/FolderUtil.luau`
- [Core Types](https://github.com/notdumbdev/packeteer/blob/master/lib/Packeteer/Types/CoreTypes.luau): `lib/Packeteer/Types/CoreTypes.luau`
- [Packet Types](https://github.com/notdumbdev/packeteer/blob/master/lib/Packeteer/Types/PacketTypes.luau): `lib/Packeteer/Types/PacketTypes.luau`

### Other components

- **Developer**
- **Network Schema**

## Connections

- Developer → Network Schema: defines
- Developer → Packet Event: defines
- Developer → Packet Function: defines
- Developer → Unreliable Event: defines
- Network Schema → Packeteer: specifies communication
- Packet Function → Promise: uses promises
