How krayoristine/ozzyproject works
This repository is the TypeScript source for a Warcraft III custom map, compiled to Lua, with gameplay modules and an embedded compiler/tooling codebase. The principal workflow is map startup through the game entry point into runtime modules; supporting branches include gameplay utilities, persistence, compiler transforms, Lua parsing/minification, and model viewing. Several relationships are documented only by README or SOURCE INDEX references; uncertain wiring is omitted rather than inferred.
Main entry points: viewer.ts Model viewer · game.ts Game entry · handler.ts MDX handler · luamin.ts Lua minifier
Components 24
Map runtime
- Game entry
src/game.ts - Core runtime
src/core.ts - Module registry
src/modules/index.ts - Shared utilities
src/shared/util.ts
Gameplay systems
- Async mouse
src/modules/asyncMouse.ts - Live tooltip
src/modules/livetooltip.ts - Periodic tasks
src/modules/periodic.ts - Save/load
src/modules/saveload/save.ts - Save encoder
src/modules/saveload/encoder.ts - Save decoder
src/modules/saveload/decoder.ts - Gameplay math
src/shared/math.ts - Random helpers
src/shared/random.ts
Lua compiler
- Lua transforms
compiler/transformer.ts - Warcraft object data
compiler/objectData.ts - Lua parser
compiler/luaparse/luaparse.ts - Lua AST
compiler/luaparse/ast.ts - Lua minifier
compiler/luamin/luamin.ts
Model viewer
- Model viewer
compiler/mdx-m3/viewer/viewer.ts - MDX handler
compiler/mdx-m3/viewer/handlers/mdx/handler.ts - MDX model resource
compiler/mdx-m3/viewer/handlers/mdx/model.ts - MDLX parser
compiler/mdx-m3/parsers/mdlx/model.ts - Viewer resources
compiler/mdx-m3/viewer/resource.ts - WebGL layer
compiler/mdx-m3/viewer/gl/gl.ts
Other components
- Map player
Connections 14
- Map player → Game entry: starts map
- Game entry → Module registry: imports
src/game.ts - Game entry → Shared utilities: uses
src/game.ts - Live tooltip → Periodic tasks: uses
src/modules/livetooltip.ts - Gameplay math → Random helpers: uses
src/shared/math.ts - Lua transforms → Warcraft object data: imports
compiler/transformer.ts - Lua minifier → Lua parser: parses Lua
compiler/luamin/luamin.ts - Lua minifier → Lua AST: uses AST
compiler/luamin/luamin.ts - Lua parser → Lua AST: builds AST
compiler/luaparse/luaparse.ts - Model viewer → WebGL layer: creates context
compiler/mdx-m3/viewer/viewer.ts - Model viewer → Viewer resources: loads resources
compiler/mdx-m3/viewer/viewer.ts - Model viewer → MDX handler: dispatches format
compiler/mdx-m3/viewer/handlers/mdx/handler.ts - MDX handler → MDLX parser: parses models
compiler/mdx-m3/viewer/handlers/mdx/handler.ts - MDX handler → MDX model resource: creates resource
compiler/mdx-m3/viewer/handlers/mdx/handler.ts