Skip to content

About

The open-source and all-encompassing development studio for idTech1-3 games. [EARLY DEVELOPMENT]

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

VibeStudio: the all-in-one idTech development studio

Version Status: pre-alpha Platforms: Windows, macOS, Linux License: GPL-3.0-or-later CI Proudly vibecoded

Download  ·  Documentation  ·  Project status  ·  Changelog

VibeStudio is an open-source development studio for idTech 1, 2 and 3 games: Doom, Quake, Quake II, Quake III Arena and their families. Level editing, models, textures, audio, packages, code, compilers and game launching share one window on Windows, macOS and Linux, and a command line drives the same services for scripts and automation. An AI assistant is available, but optional and off by default.

Warning

VibeStudio is pre-alpha and highly untested. Most features have automated tests, but very few have been used in real projects, the installers are new, and many planned parts of the studio don't exist yet. Work on copies of your files and keep backups. Project status explains what is and isn't tested.

What's inside

Area What works today Status
Levels Open, edit and save Doom-family maps (including UDMF properties) and Quake, Quake II and Quake III .map files in 2D and 3D views, with undo, validation and backups Partial
Editor profiles The keys, mouse gestures and camera of TrenchBroom, NetRadiant Custom, GtkRadiant, QuArK, Hammer, Ultimate Doom Builder and more Partial
Packages Browse, extract, validate and compare PAK, WAD, ZIP and PK3 files; stage changes and save a new package Available
Releases Package a project, map, model or textures with only your own files, leaving out what the game already has; keep a changelog, generate release notes and publish Partial
Models View and animate MDL, MD2 and MD3; edit meshes; export to the game formats Partial
Textures Decode idTech images with their palettes; paint in a layered editor; export to the game formats Partial
Audio Preview, edit and analyse game sounds; multitrack sessions (no playback in Linux builds yet) Partial
Materials and shaders Every texture, Quake III shader and Doom 3 material of idTech 1 to 4, previewed live and animated by each engine's rules, checked, and edited as text or as nodes Partial
Code Edit QuakeC, shader scripts and configs with highlighting, search and language servers Partial
Build and launch Run VibeMap2, VibeMap3, ZDBSP and ZokumBSP pipelines, jump to problems and leaks, and launch the game Partial
AI assistant Optional and off by default; ask a model about your work, or generate levels, textures and sounds for review Partial
Command line 273 scriptable commands in 29 families with JSON output Available
Accessibility and languages High-contrast themes, text up to 200%, full keyboard use, screen reader support; 47 languages registered, none translated yet Partial

Available means implemented and covered by automated tests, but not yet proven in real projects. Partial means some formats or workflows work; each page lists the gaps.

Install

Pre-built downloads are on the Releases page. Every release lists its files with a SHA256SUMS.txt; pre-release versions are marked as such.

Platform Download First launch
Windows 10/11 (x64) VibeStudio-<version>-windows-x64-setup.exe, or the -portable.zip Not code-signed yet: More info > Run anyway
macOS 13+ (Apple silicon) VibeStudio-<version>-macos-arm64.dmg Not notarised yet: Control-click the app > Open
Linux (x86_64) VibeStudio-<version>-linux-x86_64.AppImage chmod +x it; needs FUSE 2

Each download includes the offline HTML documentation. Builds of main are available as artifacts of the nightly workflow (sign-in required). Install VibeStudio covers every step, checksums, and where settings live.

Quick start

  1. Install and launch VibeStudio.
  2. Open Settings > Getting Started and run the checklist: language, accessibility, theme, editor profile, games and compilers. Every choice can be changed later.
  3. Drop a map, package or project folder onto the window, or try the license-clean projects in samples/.
  4. Press Ctrl+Shift+P (Cmd on macOS) to search every command.

A tour of the studio explains the window, pages and panels.

Documentation

  • User manual: installing, the studio's pages, the command line and troubleshooting. Every release ships it as offline HTML (docs/html/index.html, or VibeStudio Documentation in the Windows Start menu).
  • Documentation index: the manual plus contributor guides and the design records for each part of the studio.
  • Changelog: what changed in each release.

CLI Quick Reference

The command line shares the studio's services, project state and validation. Run it as vibestudio --cli (on Windows vibestudio.exe; see Command line for the macOS and AppImage paths).

vibestudio --cli --help                                   # usage and global options
vibestudio --cli cli commands                             # every command, by family
vibestudio --cli package validate ./pak0.pak --json       # check a package
vibestudio --cli map render ./maps/start.map --output ./start.svg --projection top
vibestudio --cli compiler list                            # find VibeMap2, VibeMap3 and the Doom node builders
vibestudio --cli build run quake-full --input ./maps/start.map --watch
vibestudio --cli release publish ./mymod --map maps/arena1.map --release-version 1.0.0
vibestudio --cli localization targets                     # the 47 interface languages
vibestudio --cli diagnostics bundle --output ./diagnostics
vibestudio --cli ui semantics --json                      # commands, shortcuts and accessibility metadata
vibestudio --cli render backends                          # the OpenGL and Vulkan renderers, and the one in use

Add --json for machine-readable output and --settings-file <path> to keep scripted runs away from your own preferences. The full reference is docs/CLI_STRATEGY.md.

Build from source

You need a C++20 compiler, Qt 6 (CI uses 6.10.1) with Core, Gui, Widgets and Network (Multimedia optional), Meson, Ninja and Python 3.

git clone --recursive https://github.com/themuffinator/VibeStudio.git
cd VibeStudio
meson setup builddir --backend ninja
meson compile -C builddir
meson test -C builddir --print-errorlogs

On Windows, pwsh -File scripts/meson_build.ps1 finds Qt and clang-cl for you, and the repository's VS Code tasks build, test, launch and debug. Build from source has the details.

Contributing

Contributions are welcome. Read Contributing first: every change keeps the CLI, docs, credits and translations in step, and every user-visible change adds a line to the changelog. Releasing explains versions and releases, and Branding the logo, colours and writing style.

Built with

C++20 and Qt 6 Widgets, built with Meson and Ninja. Compression, image decoding and map parsing are written in-house; audio uses pinned copies of dr_libs, Xiph's libogg and libvorbis, libebur128, r8brain and PortAudio, and UV atlases use xatlas. 3D views and material previews draw on the GPU with OpenGL or Vulkan, your choice, through an in-house renderer built on the pinned Vulkan-Headers. Level compilers are Git submodules under external/compilers, including VibeStudio's own VibeMap2 and VibeMap3. docs/STACK.md records the stack decisions and docs/DEPENDENCIES.md every dependency.

Credits

VibeStudio is created by themuffinator (DarkMatter Productions). It stands on the work of many projects; every borrowed idea, format, pattern and line of code is credited here and in full in docs/CREDITS.md, with upstream links, licences and pinned revisions.

Upstream Used for Licence Pinned revision
PakFu Package, archive, format and installation reference; DDS/FTX/SWL codecs GPL-3.0 13111e4c
VibeMap2 VibeStudio's Quake/idTech2 compilers (submodule), derived from ericw-tools; audit reference for known-issue reconciliation GPL-3.0 4495049a9e4c1f6deadae3a76b8256614840af35
VibeMap3 VibeStudio's Quake III compiler (submodule), continuing q3map2 from NetRadiant Custom GPL-3.0-or-later; imported q3map2 files GPL-2.0-or-later 897524439cb58d2b736bc96b16c231d22dc5ddce
ericw-tools Upstream of VibeMap2; Quake BSP format and interface references GPL-2.0-or-later f80b1e216a415581aea7475cb52b16b8c4859084
q3map2 from NetRadiant Custom Upstream of VibeMap3; Quake III format and interface references GPL (repository mixes GPL, LGPL and BSD) 68ecbed64b7be78741878c730279b5471d978c7c
NetRadiant Custom editor (radiant/patch.cpp, patchmanip.cpp, csg.cpp) Behaviour of the Levels patch matrix commands, exact patch cylinders, Thicken, wrapped hollow and Make Room (no code copied) GPL-2.0-or-later 8216133984031afaa9a857b56ea66dd9c3d54b26
ZDBSP Doom node builder (submodule) GPL-2.0-or-later bcb9bdbcaf8ad296242c03cf3f9bff7ee732f659
ZokumBSP Doom node, blockmap and reject builder (submodule) GPL-2.0 22af6defeb84ce836e0b184d6be5e80f127d9451
r8brain-free-src 7.5 Sample-rate conversion MIT cb2abb9977efe2471979b380ed95daa56ab4fdb9
dr_libs (dr_mp3, dr_flac) MP3 and FLAC decoding MIT-0 dfe8377631000664666519fdb83da193fd8037f4
libogg 1.3.6 and libvorbis 1.3.7 Ogg Vorbis decoding BSD-3-Clause be05b13e98b048f0b5a0f5fa8ce514d56db5f822, c2aa86b05e981c96bf381fc6aa11cdd03eccc2fb
libebur128 1.2.6 Loudness metering MIT 67b33abe1558160ed76ada1322329b0e9e058b02
PortAudio Synchronized recording backend MIT-style 873e3c83fbe2f57ebcf59083e627a3f8fa051ffe
xatlas Mesh UV atlas generation MIT f700c7790aaa030e794b52ba7791a05c085faf0c
Vulkan-Headers v1.4.313 Vulkan declarations for the Vulkan renderer (the loader is opened at run time) Apache-2.0 409c16be502e39fe70dd6fe2d9ad4842ef2c9a53
Manrope 4.504 Brand typeface (logo, docs headings) OFL-1.1 4.504

Editor profiles and workflows follow the behaviour (never the code) of GtkRadiant, NetRadiant Custom, TrenchBroom, QuArK, QeRadiant's documented controls and other editors. Optional AI connectors target OpenAI, Claude, Gemini, ElevenLabs and Meshy. The release flow follows the pattern of FnQL's versioning and changelog tooling (pattern only; the scripts are original).

Full attribution: every reference, specification and pattern, with licences and review dates

The level generator follows the pipeline design of Quake-MapGen (MIT, 1252548, 2026-08-26, reviewed 2026-10-06), and the texture generator the prompt design and derived-layer idea of TexAI (GPL-3.0, 7f56a4b, 2026-02-14); the sound synthesizer follows the preset kinds and voice model of DrPetter's sfxr (MIT, 2007, reviewed 2026-10-06). All are original implementations with no code copied. See Generative Level, Texture, And Sound Design.

The model decoders and writers for idTech 1 to idTech 4 formats follow the public layouts and behaviour of the Doom 3, Return to Castle Wolfenstein and Enemy Territory GPL sources, ioquake3, the IQM specification (MIT), OpenJK (GPL-2.0 only, so reimplemented with nothing copied), Xash3D FWGS, uHexen2, GtkRadiant's qdata_heretic2, Heretic2R, GZDoom and picomodel, all read 2026-10-08. The modeller's controls profiles follow the documented behaviour (never the code) of Blender, Autodesk 3ds Max and MilkShape 3D. See Native Model Formats And Modeller Profiles.

The materials module (Materials page and material commands) reimplements surface rules read in the GPL sources of Quake III Arena, ioquake3, Enemy Territory, Doom 3, Doom 3 BFG, Doom, Quake, Quake II and their re-release code, Boom's SWANTBLS format via SMMU, ZDoom's ANIMDEFS, ericw-tools' .wal_json, and QuakeSpasm, DarkPlaces and FTE companion images, reviewed 2026-10-07 to 2026-10-08. No code or game data is copied. See Materials, Shaders And Textures.

The 3D renderer draws with OpenGL or Vulkan through Qt's public OpenGL classes and the Vulkan-Headers above. It peels translucent layers after Cass Everitt's depth peeling (NVIDIA, 2001) and keeps depth reversed after Nathan Reed's Depth Precision Visualized (NVIDIA, 2015); its SPIR-V is compiled from VibeStudio's own GLSL with Khronos' glslang, reviewed 2026-10-08. See 3D Rendering: OpenGL And Vulkan.

Releases follow Keep a Changelog (MIT) for project changelogs, Semantic Versioning (CC BY 3.0) for version bumps and the /idgames archive's text file fields for readmes; package load orders and companion files follow the Quake, Quake II and Quake III GPL sources and the compilers' upstreams, q3map2 and ericw-tools, read 2026-10-08. Formats and behaviour only. See Project Releases And The Game Asset Index.

Placed MD3 compiler appearances follow NetRadiant Custom's q3map2 model contract (GPL-2.0-or-later) and its bundled Assimp MD3 importer (BSD-3-Clause), revision 68ecbed, reviewed 2026-10-06. See the implementation and licence review.

ZIP/PK3 metadata parsing follows PKWARE APPNOTE 6.3.10 (2022-11-01). Legacy filename decoding uses the Unicode CP437 mapping (table 2.00, 1996-04-24), under Unicode License V3. See archive-format credits for the implementation and licence review.

Session reverb derives its topology and delay tuning from Jezar at Dreampoint's public-domain Freeverb Components (June 2000), with original stereo, decay, damping and history handling. Details and licence review are in Credits.

Session EQ uses an original C++ implementation of Robert Bristow-Johnson's Audio EQ Cookbook coefficients, W3C Note dated 2021-06-08, under the GPL-compatible W3C Software and Document License (2015). Reference, review and preserved notices are in Credits.

  • Model .skin authoring references Quake III's skin reader, surface normalization and shader lookup, GPL-2.0-or-later, local master reviewed 2026-10-05. No upstream code or game assets copied; see Model Skin Bindings. The same credited reader supplies non-destructive linked skins in model assemblies.

  • Model native winding and tag conventions follow id Software's Quake, Quake II and Quake III sources, GPL-2.0-or-later, master reviewed 2026-10-05. The optional FTE dedicated-server and offscreen EGL rendering tests use public QuakeC/MenuQC interfaces and generated assets. The nested assembly bake fixture and shared headless runner extend those tests with original pose, normal and pixel oracles, reviewed 2026-10-06. Native skin-padding guidance follows Quake's GL skin loader, under the same licence/review date. FTE retains its GPL notices and stays a separate external tool; source/interface provenance and compatibility findings are in Credits and Model Engine Acceptance.

  • Additional level-editor familiarity references: Hammer/Worldcraft, J.A.C.K., DarkRadiant, Doom Builder/UDB, SLADE, Eureka, Unreal, Unity, Godot and Blender. Independent behavior adaptations only; no upstream code/assets incorporated. Reference revisions, licenses and differences are recorded in Credits and Editor Profiles.

  • The Levels sidebars follow the pattern of Blender's sidebar and VibeRadiant's tabbed asset browser (GPL-2.0, f2fb534); the Shapes tab and level tools follow the behaviour of Hammer, J.A.C.K., Sledge, TrenchBroom (including its linked groups), NetRadiant Custom and Q3Radiant. The built-in entity catalogues record facts from id Software's GPL Quake, Quake II and Quake III Arena game and tool sources and the ericw-tools qbsp documentation, in VibeStudio's own words. Original code throughout; see Level Editor Sidebars, Shapes And Tools.

  • Standalone NetRadiant controls, revision b4b295d7a37797cc2752e48aa8ce42492e7016f0 (GPL-2.0-or-later), and Sledge 2.0.7.2 navigation, revision 8762a6de07a9fa486d51aff0913cdc0306fd775c (BSD-3-Clause), inform independent profile and temporary-navigation behavior. Both licences were reviewed for GPLv3 compatibility on 2026-10-05. No upstream code or assets copied; pinned modules and differences accompany the implementation.

  • id Software Q3Radiant, revision dbe4ddb10315479fc00086f08e25d968b4b43c49, informs classic profile, position-steering and fixed camera-step behavior. MainFrm.cpp also informs the profile's texture shift, rotation and fit shortcuts; quick surface operations retain VibeStudio's documented UV mapping rules. CamWnd.cpp, MainFrm.cpp and the plan/preferences modules are GPL-2.0-or-later, reviewed as GPLv3-compatible on 2026-10-06. The Qt implementation is independent; no game assets are used. Detailed credits and remaining differences.

  • DoomEdit (revision a9c49da5, GPL-3.0-or-later with additional terms) and BSP Quake Editor 0.97q7 (proprietary reference) inform independent navigation/profile adaptations. Reviewed 2026-10-07; binding facts only, no code, configuration prose or game assets imported. Exact sources and scope.

  • Level workspace maximization and sizing keys follow the original Hammer 3.4 reference, J.A.C.K. 1.1 manual and NetRadiant Custom command registration. Original VibeStudio implementation; behavioral facts only. Licenses and review date are recorded in Credits.

Additional asset exchange credits

DDS decoding and FTX/SWL format knowledge and image writing derive from PakFu's format modules, GPL-3.0, local working snapshot reviewed 2026-10-05 based on 13111e4c. The shared capability catalog follows its explicit support-tier approach. See codec provenance.

Doom camera texture layout and wall anchors reference Chocolate Doom 3.1.0 (r_data.c, r_segs.c, GPL-2.0-or-later; compatibility reviewed 2026-10-04). The credits record identifies the adaptations and original VibeStudio components.

Shared WAD subset/edit map-group recognition and new-document assembly use the format contracts in ZDBSP wad.cpp (revision bcb9bdbcaf8ad296242c03cf3f9bff7ee732f659, GPL-2.0-or-later, reviewed for GPL-3.0 compatibility on 2026-10-04). VibeStudio owns the implementation; no upstream source was copied.

Mesh Editor edit mode (menus, keymap, modal transforms, selection operators, proportional editing, the 3D cursor and Adjust Last Operation) follows the documented behaviour of Blender (GPL-2.0-or-later, reviewed 2026-10-07; no code used), and decimation implements Garland and Heckbert's quadric error metric (SIGGRAPH 1997). See Blender-Style Mesh Editing.

Automatic mesh UV charting and packing use Jonathan Young's xatlas, revision f700c7790aaa030e794b52ba7791a05c085faf0c, with MIT-licensed thekla_atlas/NVIDIA and Fast-BVH ancestry and BSD-3-Clause OpenNL code. These terms were reviewed for GPLv3 compatibility on 2026-10-04. Original notices and the reviewed indexed-seam, shape-preserving and rectangular-packing build adaptations (the latter reviewed 2026-10-06) are documented in the integration record.

  • Project search preserves the public Qt non-path glob contract on Qt 6.0–6.5 through an original compatibility adapter. Qt 6.4.2/6.10.1, GPL-3.0/LGPL-3.0, reviewed 2026-10-04; no Qt code or documentation prose copied.

Saved-draft reader protection uses an original GPL-3.0 VibeStudio adapter to the public Windows directory sharing, Linux flock and Apple flock contracts, reviewed 2026-10-04. No external source code or documentation prose was copied. These operating-system APIs add no bundled library. Working-import lock recovery additionally uses original adapters to Windows handle deletion, cross-checked against the Qt 6.10.1 lock implementation (GPL-3.0/LGPL-3.0, compatible with this GPL-3.0 repository), reviewed 2026-10-04. No source or documentation prose was copied.

Multitrack streaming uses an original adapter to the public QAudioSink API, checked against Qt 6.4.2/6.10.1 (GPL-3.0/LGPL-3.0), 2026-10-05. No Qt code or prose was copied. See Audio Editor for frame transport, selected output, buffering and device-acceptance limits.

Recording uses original adapters to Qt's QAudioSource and permissions, plus guarded OS flush and macOS bundle-description APIs, reviewed 2026-10-05. Existing Qt GPL-3.0/LGPL-3.0 and system-runtime dependencies remain compatible; no upstream code or prose was copied. See recording API credits.

Editor and browser audio transport follow the public Qt Multimedia media API and device API, reviewed against Qt 6.10.1 headers on 2026-10-04. Qt 6.4.2's FFmpeg end-of-stream behavior also informed verification of the original deferred loop-restart fallback. The existing GPL-3.0-compatible Qt dependency is unchanged; no Qt source or documentation text was copied. See credits.

Audio level placement and speaker dependency paths follow id Software's Quake II speaker, sound loader, and Quake III speaker contracts (master reviewed 2026-10-04, GPL-2.0-or-later, compatible with GPL-3.0). The transaction, validation and UI code are original; no game data or entity definitions are shipped. See source and licence details.

Windows runtime packaging preserves Qt's SPDX inventories (CC0-1.0) and original Qt/FFmpeg licence notices, reviewed against Qt 6.10.1 on 2026-10-05. The original PE comparison follows Microsoft's PE/COFF specification without copying code or prose. See runtime distribution credits and the deployment workflow.

The local source-distribution audit also retains unchanged Qt 6.10.1 sources, Qt build recipes, FFmpeg n7.1.2 and zlib 1.3.1, with original notices and pinned hashes. Reviewed 2026-10-05; the selected LGPL/permissive profile is compatible with GPL-3.0. See the source and licence details.

Release source companions additionally preserve QtTools 6.10.1 and QtShaderTools 6.10.1 build-tool sources and notices. lrelease and qsb use GPL-3.0 with Qt's GPL exception; Qt library components offer LGPL-3.0/GPL-3.0 alternatives. Reviewed 2026-10-05; these add no application runtime dependency. See the source-companion workflow.

Windows release orchestration records the fresh Meson build and verifies the paired binary/source artifacts. Its SDK selection follows the documented QT_ROOT_DIR output of install-qt-action v4 (MIT; reviewed 2026-10-05), already used by CI. The orchestration and fixtures are original Python code; no action implementation was copied.

The optional synchronized recording backend uses PortAudio, revision 873e3c83fbe2f57ebcf59083e627a3f8fa051ffe, under its GPLv3-compatible MIT-style license. Original notices and hashes accompany the private Meson build; reviewed WASAPI/CoreAudio fixes are generated separately. See the backend integration record.

Audio loudness metering uses Jan Kokemüller's libebur128 1.2.6, revision 67b33abe1558160ed76ada1322329b0e9e058b02. Its MIT library/R128Scan notices and BSD-3-Clause internal queue were reviewed for GPLv3 compatibility on 2026-10-04 and are preserved with the unmodified sources. See the metering credits.

Compressed audio import uses David Reid's dr_mp3 0.7.4 and dr_flac 0.13.4, revision dfe8377631000664666519fdb83da193fd8037f4, under MIT-0; dr_mp3 derives from the public-domain minimp3. Vorbis uses Xiph.Org's BSD-3-Clause libvorbis, revision c2aa86b05e981c96bf381fc6aa11cdd03eccc2fb, and libogg 1.3.6, revision be05b13e98b048f0b5a0f5fa8ce514d56db5f822. The licences were reviewed for GPLv3 compatibility on 2026-10-04. Unmodified sources, hashes and notices live in external/audio; see decoder credits.

The retained, unbuilt evaluation copy of Sean Barrett's stb_vorbis 1.22 uses the MIT alternative at revision 2c980bb59875b0d32144a71867fbdebb2f77cd20. It is excluded from the application and portable packages.

The original local language client, diagnostic/hover/signature/completion/snippet/formatting/rename/code-action parsers, workspace-edit and reference services follow Microsoft's LSP 3.17 specification (CC-BY-4.0, reviewed 2026-10-04). Protocol facts only; no upstream code or prose was copied. See the full attribution. Completion-resolution and parameter-hint verification also use Pyright 1.1.414 (MIT, reviewed 2026-10-04) as an isolated test executable; it is not bundled with VibeStudio. Pull-diagnostic verification uses Ruff 0.16.4 under its MIT license and third-party notices, reviewed 2026-10-04, as a separate test process. It is not bundled or linked.

Game sound delivery follows reader behaviour in Chocolate Doom 3.1.0 i_sdlsound.c, Quake WinQuake/snd_mem.c, Quake II client/snd_mem.c, and Quake III code/client/snd_mem.c. These GPL-2.0-or-later references are compatible with VibeStudio's GPL-3.0; reviewed 2026-10-04 (the id repositories' master snapshots on that date). Only format facts and compatibility behaviour are used; no engine code or game assets are copied. Preset defaults and the delivery writer are VibeStudio's own.

WAV precision export follows factual Microsoft RIFF/WAVE and WAVEFORMATEXTENSIBLE layouts (2023-03-13 documentation, reviewed 2026-10-04), cross-checked with Peter Kabal's WAVE reference (2022-09-27). The writer and dither are original code; no external source or documentation text was copied.

Cue/loop metadata follows Microsoft's public RIFF 1991 and 1994 update format facts, plus the GPL-2.0-or-later Quake/II cue-and-length convention in the engine references above (reviewed 2026-10-04). Implementation and editing rules are original; no source code or specification prose is copied.

Level texture projection conventions follow NetRadiant Custom's q3map2 mapping, GPL-2.0-or-later, revision 68ecbed64b7be78741878c730279b5471d978c7c (reviewed 2026-10-04). See the detailed credits for source modules and preserved notices.

Sample rate converter designed by Aleksey Vaneev of Voxengo. r8brain-free-src 7.5 is included under MIT at revision cb2abb9977efe2471979b380ed95daa56ab4fdb9 (reviewed 2026-10-04), using Takuya Ooura's FFT under its permissive use/copy/modify/distribute licence. Both are compatible with GPL-3.0; notices are preserved in external/audio/r8brain-free-src and release licence bundles. See integration details.

Patch authoring follows the format and 31-point control-axis limit in NetRadiant Custom's q3map2, revision 68ecbed64b7be78741878c730279b5471d978c7c (GPL-2.0-or-later), reviewed 2026-10-04. The editor, presets and Bézier splitting are original code. Patch material conversion and package lookup also follow its patch and brush token parsing at the same revision and license.

  • Empty Hexen ACS behavior data follows the layout checked against Chocolate Doom 3.1.0, P_LoadACScripts (GPL-2.0-or-later, compatible with this repository's GPL-3.0; reviewed 2026-10-04). The starter map and recovery implementation are original; no upstream source or commercial assets are incorporated.

  • Animated MD2 export follows Quake II's format and renderer sources and Quake II Tools' texel-centre convention, reusing the published normal table. All are GPL-2.0-or-later, master reviewed 2026-10-04, compatible with GPL-3.0. The writer, validation, and fixtures are original; details are in Credits.

  • MDL native group/indexed-skin preservation and export follow Quake's modelgen.h and model.c, with renderer limits and compatibility from gl_model.c, gl_model.h and gl_draw.c (GPL-2.0-or-later, master reviewed 2026-10-04, compatible with GPL-3.0). Native timing sampling also follows r_alias.c and gl_rmain.c under the same licence and review date. Storage, timing edits/sampling, seam packing, the writer and synthetic fixtures are original; no game assets are included.

  • OBJ polygon import follows Wavefront Advanced Visualizer 3.0 Appendix B1 (reviewed 2026-10-05). The parser, bounded triangulation and synthetic fixtures are original GPL-3.0 repository code. The reference has no explicit licence grant; only format facts are used, with no reference code or prose incorporated. See OBJ interchange for supported records and the remaining material-library conversion gap.

  • Static model design and animated mesh MD3 export use the public layout in id Software's Quake III qfiles.h (GPL-2.0-or-later, master reviewed 2026-10-03). The connected staging and material workflow also draws conceptual inspiration from PakFu's model surface representation (GPL-3.0, revision 13111e4c, local checkout reviewed 2026-10-03). Implementations and primitive fixtures are original; no upstream code or commercial game assets were imported. Details are in Credits. The animated writer's original-Quake-III surface limits also follow R_LoadMD3 (GPL-2.0-or-later, master reviewed 2026-10-04). Attachment orientation in core/model_tags follows the local-basis convention in CG_PositionEntityOnTag (same license, master reviewed 2026-10-04); authoring code and fixtures are original. Native player animation configuration follows Quake III's CG_ParseAnimationFile / CG_RunLerpFrame and animation roster (GPL-2.0-or-later, master reviewed 2026-10-06). The bounded production implementation and synthetic fixtures are original; see Native Animation. Native player package layout and its optional loader oracle also reference that cg_players.c, plus skin parsing/TGA behavior in tr_image.c, tr_shader.c, and qfiles.h (GPL-2.0-or-later, master reviewed 2026-10-06). Production code is original; extracted test functions retain their upstream notices. See the credited scope. Its optional original-engine acceptance harness also extracts the token parser from q_shared.c (same licence and review date), preserving upstream headers in test outputs.

  • Level dependency graphs and selective export take workflow inspiration from PakFu's CLI and asset graph and its archive search index (GPL-3.0, revision 13111e4c, local checkout reviewed 2026-10-03). These are original VibeStudio implementations. Shader skybox and light-image references follow the Quake III Shader Manual, revision 12.

  • Creator: themuffinator (DarkMatter Productions)

  • Structural, archive-tooling, and installation-profile reference: PakFu, with the current package interface, virtual-path safety, and staged package write-back concepts adapted from its archive direction at c82dfb0ef0b5d7442e243ace8cd83bc45f82f257; the game installation profile/detection model is a VibeStudio-owned adaptation of PakFu's profile-driven workflow ideas.

  • Imported compiler/toolchain sources: VibeStudio's own VibeMap2 (derived from ericw-tools) and VibeMap3 (continuing q3map2 from NetRadiant Custom), developed as part of the project, plus ZDBSP and ZokumBSP. See Compiler Integration

  • Prepared build filesystem flags follow q3map2's path initialization and shader-list behavior in its shader loader, NetRadiant Custom revision 68ecbed64b7be78741878c730279b5471d978c7c (GPL-2.0-or-later, reviewed for GPL-3.0 compatibility 2026-10-05). Interface reference only; no upstream code copied.

  • Prepared output naming follows that revision's map shader writer, external lightmap writer and q3map2.h. BSP header validation follows id Software's Quake III qfiles.h and q3map2's Quake Live extension. GPL-2.0-or-later format/interface references, reviewed 2026-10-05; no upstream implementation copied. Output receipts, retained history and publication orchestration are VibeStudio code.

  • Editor workflow inspirations: GtkRadiant, NetRadiant Custom, TrenchBroom, QuArK, and, for Doom map editing behaviour such as Make Door, Ultimate Doom Builder (behaviour only, no code used). The TrenchBroom, NetRadiant Custom, and GtkRadiant 1.6.0 editor profiles follow those editors' default mouse and key bindings, read from their sources (TrenchBroom master 90de03c, September 2026; NetRadiant Custom 68ecbed; GtkRadiant 1.6-release 270af88, August 2024); facts about behaviour only, no code used

  • Accessibility and localization references: WCAG 2.2 (text spacing, timing), the Ethnologue 200 and Steam's supported-language list for the 47-language set, Primer Primitives (MIT) colour-blind themes for the red-green palette's blue success (pattern only, reviewed 2026-10-07), and the colour-vision simulation matrices of Machado, Oliveira and Fernandes (IEEE TVCG, 2009) in the theme tests (published coefficients only). See Credits.

  • Studio interface inspiration: idStudio (id Software's DOOM Eternal editor, public beta August 2024) for the shell's visual language; inspiration only, with no idStudio code, icons, or assets used. Visual Studio Code (MIT) for the one-row studio bar with a centred command search, after its Command Center (pattern only, reviewed 2026-10-06; no code, icons, or assets used)

  • Optional AI automation references: OpenAI API documentation, Claude API docs, Gemini API docs, ElevenLabs docs, and Meshy docs

  • File-format references: public specifications and wikis (Doom Wiki, Boom's generalized linedef reference, Quake Wiki, Valve Developer Community, IETF RFCs, Xiph), plus behaviour notes from GPL source ports such as Chocolate Doom for DMX sound lumps; layouts are reimplemented and no port code is copied

  • Ogg preview metadata and synthetic header fixtures follow RFC 3533 (Internet Society implementation-use notice, May 2003), Vorbis I section 4.2.2 (Xiph specification use permission, 1994–2015), and RFC 7845 section 4 (IETF Trust Legal Provisions, April 2016), reviewed 2026-10-06. Original GPL-3.0 implementation; no specification prose, external code or sound assets copied.

  • Full attribution list: docs/CREDITS.md

  • Optional independent texture fixture checks use Pillow 11.3.0 (MIT-CMU, reviewed 2026-10-04); no Pillow code is bundled or linked into VibeStudio.

  • Indexed PNG structure follows the PNG third edition, 24 June 2025 (W3C Software and Document License 2023). Grayscale project round-trip behavior was checked against Qt 6.10.1's PNG handler (GPL-3.0/LGPL-3.0). Reviewed 2026-10-04; implementations are original, with no sample or Qt code copied.

  • Texture export layouts and engine constraints: Quake, Quake II, Quake III Arena and Chocolate Doom 3.1.0 (GPL-2.0-or-later), plus GZDoom's patch reader (BSD-3-Clause), reviewed 2026-10-04. Format knowledge only; encoders are independently implemented. Exact files and scope are in the credits list above.

Theme replacement uses public Qt APIs after checking Qt 6.10.1's stylesheet lifecycle and refresh behavior. Reviewed 2026-10-06 under the GPL-3.0/LGPL-3.0 alternatives; the workaround and tests are original. Progress bars also preserve Qt 6.10.1's Fusion label rendering so text changes colour across the fill. This reference was reviewed on the same date under the same licences; no Qt implementation was copied. Right-to-left panel placement reads the window state that Qt 6.10.1's QMainWindow and dock area layout write, reviewed 2026-10-07 under the same licences; the reader that mirrors it and its tests are original. See Credits.

Surface clipboard sampling and face/brush paste behavior also credit the pinned GPL-2.0-or-later Q3Radiant DRAG.CPP and GtkRadiant drag.cpp, reviewed 2026-10-06. The clipboard and projection integration are original VibeStudio implementations; the detailed credit records native differences. Seamless wrapping and NetRadiant parameter paste also reference the GPL-2.0-or-later NetRadiant Custom surface dialog and NetRadiant surface dialog, reviewed 2026-10-06. Selected-value and mapping-only behavior additionally follows Custom's pinned select.cpp, brush_primit.cpp and brush_primit.h under the same licence and review date. The transfer service and rigid UV transport solver are original VibeStudio code. Native projected paste additionally references Patch::ProjectTexture and Texdef_ProjectTexture/BPTexdef_fromST011 in that pinned brush_primit.cpp. GPL-2.0-or-later compatibility was rechecked on 2026-10-06. Patch projection, mixed undo and compiled UV tests are original implementations; see the surface clipboard credits. Held transfer ordering additionally references TexManipulator_ in the same GPL-2.0-or-later selection.cpp, reviewed for GPL-3.0 compatibility on 2026-10-06. Private stroke transactions, asynchronous previews, stable picking and CLI replay are original implementations.

Material gesture defaults also credit the pinned GPL-2.0-or-later Q3Radiant, GtkRadiant, NetRadiant and NetRadiant Custom sources documented in Level material gesture references, audited on 2026-10-06; behavior was independently implemented.

The credits are a maintenance requirement, not a courtesy footer: a change that borrows or derives code, assets, documentation, algorithms, formats, UI patterns or compiler changes from another project updates this section and docs/CREDITS.md in the same change.

License

VibeStudio's own code is licensed under the GNU General Public License, version 3 or later (LICENSE). Compiler submodules and other third-party components keep their own licences; release packages carry every notice under licenses/. Doom, Quake and id Tech are trademarks of their respective owners; VibeStudio is not affiliated with or endorsed by them.

About

The open-source and all-encompassing development studio for idTech1-3 games. [EARLY DEVELOPMENT]

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages