How gmoddev/gargantuan works
Gargantuan is an experimental Luau game engine with an Instance/DataModel runtime and server-authoritative semantics. Its main loop runs from project authoring through validated document mutation and persistence, into an isolated Play DataModel where scripts and gameplay systems execute, then publishes render and replication views. The README documents editor, packaging, networking, physics, and animation capabilities; paths for these unsampled subsystems are taken from the repository tree, so their internal wiring is not expanded. The supplied Engine excerpt supports the runtime orchestration and render path; unsampled source limits other call-level relationships.
Main entry points: Engine.cpp Engine Loop · DataModel.cpp Authoritative DataModel · RenderPublisher.cpp Render Publication · EditorHost.cpp Editor Host
Components 20
Authoring and Projects
- Editor Host
src/editor/EditorHost.cpp - Project and Filesystem
src/filesystem/Project.cpp - Play Session
src/editor/PlaySession.cpp
Authoritative Runtime
- Mutation Gateway
src/runtime/MutationGateway.cpp - Authoritative DataModel
src/classes/DataModel.cpp - Change Journal
src/runtime/ChangeJournal.cpp - Runtime Schema
src/reflection/RuntimeSchema.cpp
Gameplay Systems
- Engine Loop
src/Engine.cpp - Luau Runtime
src/scripting/ScriptEngine.cpp - Player Lifecycle
src/services/Players.cpp - Physics Backends
src/physics/PhysicsBackend.cpp - Animation Runtime
src/animation/AnimationRuntime.cpp
Presentation
- Render Publication
src/render/RenderPublisher.cpp - Renderer
src/render/Renderer.cpp - Editor Viewport
src/editor/EditorViewport.cpp
Networking and Packaging
- Replication Runtime
src/network/ReplicationCoordinator.cpp - Remote Dispatch
src/network/RemoteManager.cpp - Project Packaging
src/packaging/PackageBuilder.cpp
Other components
- Gargantuan Studio
- Network Peers
Connections 16
- Gargantuan Studio → Editor Host: sends commands
- Editor Host → Mutation Gateway: submits edits
- Project and Filesystem → Authoritative DataModel: loads project
- Mutation Gateway → Authoritative DataModel: validates mutations
- Authoritative DataModel → Change Journal: records changes
- Play Session → Engine Loop: starts isolated runtime
- Engine Loop → Luau Runtime: steps scripts
- Engine Loop → Player Lifecycle: starts player runtime
- Engine Loop → Animation Runtime: updates animation
- Engine Loop → Render Publication: publishes scene
- Render Publication → Renderer: provides snapshot
- Editor Viewport → Render Publication: consumes frames
- Authoritative DataModel → Replication Runtime: projects state
- Replication Runtime → Network Peers: replicates state
- Remote Dispatch → Network Peers: dispatches remotes
- Project Packaging → Project and Filesystem: packages project