Skip to content

Commit b024a77

Browse files
committed
Rename tools and docs to vmt-* prefix, update docs
Renamed all user-facing tools and documentation references from legacy names (e.g., qbsp, vis, light, maputil, lightpreview) to the new vmt-* naming convention (e.g., vmt-bsp, vmt-vis, vmt-light, vmt-maputil, vmt-lightpreview). Updated CMake targets, install rules, and documentation to match. Expanded and modernized documentation to clarify the transition from ericw-tools, added migration notes, and improved build and usage instructions.
1 parent 6f0811e commit b024a77

13 files changed

Lines changed: 325 additions & 232 deletions

File tree

AGENTS.md

Lines changed: 53 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
1-
# AGENTS.md
1+
# AGENTS.md
22

33
Instructions for AI coding agents working on VibeyMapTools.
44

5+
## Philosophy
6+
7+
- Documentation should be playful and emoji-rich when brevity is not required, while staying technically accurate.
8+
- When touching user-facing docs, include a short "coming from ericw-tools" note to orient legacy users.
9+
510
## Project Overview
611

712
VibeyMapTools (VMT) is a BSP compilation toolset for Quake engine mapping. It is a fork of [ericw-tools](https://github.com/ericwa/ericw-tools) with rebranding and modernization.
@@ -10,38 +15,38 @@ VibeyMapTools (VMT) is a BSP compilation toolset for Quake engine mapping. It is
1015

1116
| Tool | Purpose | Source Directory |
1217
|------|---------|------------------|
13-
| `vmt-bsp` | BSP compiler (.map .bsp) | `src/qbsp/` |
18+
| `vmt-bsp` | BSP compiler (.map -> .bsp) | `src/qbsp/` |
1419
| `vmt-vis` | Visibility compiler (PVS) | `src/vis/` |
1520
| `vmt-light` | Lighting compiler (lightmaps) | `src/light/` |
1621
| `vmt-bspinfo` | BSP information utility | `src/bspinfo/` |
1722
| `vmt-bsputil` | BSP manipulation utility | `src/bsputil/` |
18-
| `maputil` | Map file Lua scripting | `src/maputil/` |
19-
| `lightpreview` | Real-time preview GUI | `src/lightpreview/` |
23+
| `vmt-maputil` | Map file Lua scripting | `src/maputil/` |
24+
| `vmt-lightpreview` | Real-time preview GUI | `src/lightpreview/` |
2025

2126
## Repository Structure
2227

2328
```
2429
VibeyMapTools/
25-
├── .github/ # CI workflows, templates
26-
├── extern/ # Third-party dependencies (submodules)
27-
├── assets/ # Images, branding
28-
├── cmake/ # CMake modules
29-
├── docs/ # Sphinx documentation (.rst files)
30-
├── scripts/ # Build and utility scripts
31-
├── src/ # All source code
32-
├── common/ # Shared library code
33-
├── include/ # Public headers
34-
├── qbsp/ # vmt-bsp source
35-
├── vis/ # vmt-vis source
36-
├── light/ # vmt-light source
37-
├── bspinfo/ # vmt-bspinfo source
38-
├── bsputil/ # vmt-bsputil source
39-
├── maputil/ # maputil source
40-
└── lightpreview/ # Qt-based preview tool
41-
├── tests/ # Test suite (maps/ subdirectory contains test .map files)
42-
├── CMakeLists.txt
43-
├── README.md
44-
└── ... (other root files)
30+
|-- .github/ # CI workflows, templates
31+
|-- extern/ # Third-party dependencies (submodules)
32+
|-- assets/ # Images, branding
33+
|-- cmake/ # CMake modules
34+
|-- docs/ # Sphinx documentation (.rst files)
35+
|-- scripts/ # Build and utility scripts
36+
|-- src/ # All source code
37+
| |-- common/ # Shared library code
38+
| |-- include/ # Public headers
39+
| |-- qbsp/ # vmt-bsp source
40+
| |-- vis/ # vmt-vis source
41+
| |-- light/ # vmt-light source
42+
| |-- bspinfo/ # vmt-bspinfo source
43+
| |-- bsputil/ # vmt-bsputil source
44+
| |-- maputil/ # vmt-maputil source
45+
| `-- lightpreview/ # vmt-lightpreview tool
46+
|-- tests/ # Test suite (maps/ subdirectory contains test .map files)
47+
|-- CMakeLists.txt
48+
|-- README.md
49+
`-- ... (other root files)
4550
```
4651

4752
## Build System
@@ -56,11 +61,14 @@ The project uses CMake with the following key variables:
5661
5762
# Optional features
5863
-DENABLE_LIGHTPREVIEW=YES|NO # Qt6 GUI tool
59-
-DERICWTOOLS_ASAN=YES|NO # Address sanitizer
64+
-DDISABLE_TESTS=ON|OFF # Skip tests
65+
-DDISABLE_DOCS=ON|OFF # Skip docs
66+
-DVIBEYMAPTOOLS_ASAN=YES|NO # Address sanitizer
67+
-DVIBEYMAPTOOLS_TIMETRACE=YES|NO # Clang time trace
6068
6169
# Dependencies (auto-detected if installed)
62-
-Dembree_DIR=/path/to/embree
63-
-DTBB_DIR=/path/to/tbb
70+
-Dembree_DIR=/path/to/embree/lib/cmake/embree-4.x
71+
-DTBB_DIR=/path/to/tbb/lib/cmake/tbb
6472
```
6573

6674
### Building
@@ -79,9 +87,8 @@ cmake --build build --target package
7987

8088
### Dependencies
8189

82-
- **Required**: C++20 compiler, CMake 3.14+
83-
- **Recommended**: Intel Embree 4.x, oneTBB
84-
- **Optional**: Qt6 (for lightpreview), CUDA/OptiX (GPU lighting), Intel OIDN (denoising)
90+
- **Required**: C++20 compiler, CMake 3.14+, Intel Embree 4.x, oneTBB
91+
- **Optional**: Qt6 (for vmt-lightpreview), CUDA/OptiX (GPU lighting), Intel OIDN (denoising)
8592

8693
## Code Conventions
8794

@@ -142,14 +149,14 @@ cd docs && make html
142149

143150
### Key Documentation Files
144151

145-
| File | Purpose |
146-
|------|---------|
147-
| `README.md` | Project overview |
148-
| `WIKI.md` | Documentation hub |
149-
| `CHANGELOG.md` | Version history |
150-
| `BUILDING.md` | Build instructions |
151-
| `CONTRIBUTING.md` | Contribution guide |
152-
| `docs/*.rst` | Tool reference docs |
152+
| File | Purpose | When to Update |
153+
|------|---------|----------------|
154+
| `README.md` | Project overview | When features or user story changes |
155+
| `WIKI.md` | Documentation hub | When adding docs or new tools |
156+
| `CHANGELOG.md` | Version history | Every PR with user-visible changes |
157+
| `BUILDING.md` | Build instructions | When build or dependency steps change |
158+
| `CONTRIBUTING.md` | Contribution guide | When contribution flow changes |
159+
| `docs/*.rst` | Tool reference docs | When CLI flags or behaviors change |
153160

154161
## Making Changes
155162

@@ -183,6 +190,11 @@ cd docs && make html
183190
2. Document in `docs/<tool>.rst` under appropriate section
184191
3. Use existing key/value parsing patterns
185192

193+
## Versioning
194+
195+
VibeyMapTools uses Semantic Versioning. The `VERSION` file stores the base (next) version, and release tags `vMAJOR.MINOR.PATCH` are the source of truth.
196+
CMake generates `version.hh` in `build/include` for compile-time version info.
197+
186198
## CI/CD
187199

188200
### GitHub Actions
@@ -208,10 +220,10 @@ cd docs && make html
208220

209221
## Gotchas
210222

211-
- **Tool naming**: Executables use `vmt-` prefix, but source directories don't (e.g., `src/qbsp/` builds `vmt-bsp`)
223+
- **Tool naming**: Executables use `vmt-` prefix, but source directories do not (e.g., `src/qbsp/` builds `vmt-bsp`)
212224
- **Submodules**: Run `git submodule update --init --recursive` after cloning
213-
- **Qt6**: Only needed for `lightpreview`, disabled by default
214-
- **Embree/TBB**: Auto-downloaded on some platforms, may need manual install on others
225+
- **Qt6**: Only needed for `vmt-lightpreview`, disabled by default
226+
- **Embree/TBB**: Required dependencies; set `embree_DIR`/`TBB_DIR` if CMake cannot find them
215227

216228
## Contact
217229

0 commit comments

Comments
 (0)