1
0
Fork
You've already forked mTF
0
mTF | Transmission Format for Level Design Tools
  • TypeScript 87.4%
  • JavaScript 8.2%
  • Zig 4.4%
Find a file
2026年06月02日 16:28:55 +02:00
bin git: Init 2026年06月01日 23:10:32 +02:00
src/mTF new: Very early impl progress 2026年06月02日 16:28:55 +02:00
.gitignore bld: Improve project structure for bun test 2026年06月01日 23:42:18 +02:00
build.zig new: Port project structure from astTF 2026年06月01日 23:13:59 +02:00
build.zig.zon new: Port project structure from astTF 2026年06月01日 23:13:59 +02:00
bunfig.toml bld: Improve project structure for bun test 2026年06月01日 23:42:18 +02:00
eslint.config.mjs new: Port project structure from astTF 2026年06月01日 23:13:59 +02:00
license.md git: Add MPL-2.0 license 2026年06月01日 23:13:17 +02:00
package.json new: Port project structure from astTF 2026年06月01日 23:13:59 +02:00
readme.md doc: Fix readme typo 2026年06月01日 23:31:02 +02:00
tsconfig.build.json new: Port project structure from astTF 2026年06月01日 23:13:59 +02:00
tsconfig.eslint.json new: Port project structure from astTF 2026年06月01日 23:13:59 +02:00
tsconfig.json new: Port project structure from astTF 2026年06月01日 23:13:59 +02:00

mTF | Transmission Format for Quake .map Levels

mTF is a format to serialize .map data into JSON-glTF-like objects.
It is an efficient and extensible format for transmission and loading of Level Design data, for use in Level Editors and Game Engines at runtime.

Specification

The mTF specification can be found inside the ./spec folder:

spec/
├── mTF.zig : Type Declarations for Zig
├── mTF.h : Type Declarations for C
├── mTF.nim : Type Declarations for Nim
├── mTF.py : Type Declarations for Python
└── *.schema.json : JSON Schema representation of the Specification, for use by other tools

Samples

The ./samples folder contains working examples for every mTF feature.
Each sample has an level.mtf file and a paired source file written in the original language.

See the samples' readme.md file for a complete list.

How to use

TODO:

Getting Started

TODO:

Buildsystem

note: These tools are useful mostly for development of the specification itself.
Requires bun.

bun install
bun spec # re-generate all spec files
bun test # run validation tests
bun test:zig # run zig parsing tests

License

MPL-2.0