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.
| 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.
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.
- Install and launch VibeStudio.
- Open Settings > Getting Started and run the checklist: language, accessibility, theme, editor profile, games and compilers. Every choice can be changed later.
- Drop a map, package or project folder onto the window, or try the
license-clean projects in
samples/. - Press Ctrl+Shift+P (Cmd on macOS) to search every command.
A tour of the studio explains the window, pages and panels.
- 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.
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 useAdd --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.
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-errorlogsOn 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.
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.
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.
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
.skinauthoring references Quake III's skin reader, surface normalization and shader lookup, GPL-2.0-or-later, localmasterreviewed 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,
masterreviewed 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, revision8762a6de07a9fa486d51aff0913cdc0306fd775c(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.cppalso informs the profile's texture shift, rotation and fit shortcuts; quick surface operations retain VibeStudio's documented UV mapping rules.CamWnd.cpp,MainFrm.cppand 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.
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.
-
Model clip-brush conventions reference ericw-tools' Quake hull handling, id Software's Quake II contents/masks and Quake III shader-driven contents. GPL-2.0-or-later reference interfaces, reviewed 2026-10-05; no upstream implementation or game assets imported. See collision credits.
-
Collision compiler tests independently read BSP layouts documented by ericw-tools and NetRadiant Custom, GPL-2.0-or-later references reviewed 2026-10-05. Generated assets and test implementations are original; pinned files and licenses accompany the workflow.
-
UDMF property authoring follows format facts in UDMF v1.1 (James Haley, 2009-03-29, GFDL-1.2-or-later; reference only) and the interface in ZDBSP
processor_udmf.cpp(Christoph Oelckers, GPL-2.0-or-later, pinned revision above; reviewed 2026-10-05). The parser, native transform encoding and fixtures are original. Native mirrors reuse the credited Doom reflection rules. Polyobject control roles follow the pinned ZDBSP processor format facts (GPL-2.0-or-later, Randy Heit, reviewed 2026-10-05). See detailed credits. -
Doom node readiness uses original bounded readers of the layouts written by ZDBSP
processor.cpp, revisionbcb9bdbcaf8ad296242c03cf3f9bff7ee732f659, reviewed 2026-10-05. GPL-2.0-or-later (Randy Heit), compatible with VibeStudio's GPL-3.0; no upstream implementation copied. Editor saves, compiler output checks and Doom launch plans share this validation. See node readiness. -
Doom detached reflection workflow: Ultimate Doom Builder, EditSelectionMode.cs, revision
6d9f6038db30adfee0edd74221b74b2de4837f6f, GPL-3.0, reviewed 2026-10-05. Endpoint reversal with retained side ownership is a behaviour reference; no C# source is copied. Detailed credit and scope. -
Prepared Quake-family builds use interface facts from ericw-tools settings and filesystem handling, qbsp, and the BSP dialect handling in VIS and LIGHT, revision
f80b1e216a415581aea7475cb52b16b8c4859084, and id Software's Quake WAD2/miptex layouts. GPL-2.0-or-later references reviewed for GPL-3.0 compatibility on 2026-10-05; no upstream implementation or game assets copied. See detailed credits. -
Prepared-build deployment launch flags were checked against id Software's Quake III filesystem, startup command handling and renderer settings, local
masterreviewed 2026-10-05. GPL-2.0-or-later interface references; no upstream implementation copied. See Credits. -
Classic PAK numbering and launch interfaces follow id Software's Quake filesystem and Quake II filesystem, with their video/startup source references. Local
mastersnapshots reviewed 2026-10-05, GPL-2.0-or-later compatible with GPL-3.0; no implementation copied. See Classic Prepared Deployment credits.
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,
masterreviewed 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.handmodel.c, with renderer limits and compatibility fromgl_model.c,gl_model.handgl_draw.c(GPL-2.0-or-later,masterreviewed 2026-10-04, compatible with GPL-3.0). Native timing sampling also followsr_alias.candgl_rmain.cunder 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,masterreviewed 2026-10-03). The connected staging and material workflow also draws conceptual inspiration from PakFu's model surface representation (GPL-3.0, revision13111e4c, 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 followR_LoadMD3(GPL-2.0-or-later,masterreviewed 2026-10-04). Attachment orientation incore/model_tagsfollows the local-basis convention inCG_PositionEntityOnTag(same license,masterreviewed 2026-10-04); authoring code and fixtures are original. Native player animation configuration follows Quake III'sCG_ParseAnimationFile/CG_RunLerpFrameand animation roster (GPL-2.0-or-later,masterreviewed 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 thatcg_players.c, plus skin parsing/TGA behavior intr_image.c,tr_shader.c, andqfiles.h(GPL-2.0-or-later,masterreviewed 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 fromq_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 IIIqfiles.hand 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
master90de03c, September 2026; NetRadiant Custom68ecbed; GtkRadiant1.6-release270af88, 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.
- Branding, documentation and releases: the Manrope 4.504 typeface (OFL-1.1, The Manrope Project Authors) for the wordmark and documentation headings; the release flow follows the pattern of FnQL's changelog and release scripts (GPL-2.0, revision
e24b4df, pattern only), Keep a Changelog 1.1.0 and Semantic Versioning 2.0.0. Release builds use Inno Setup, linuxdeploy (MIT; the AppImage embeds the MIT type 2 runtime) and create-dmg (MIT); the HTML documentation is rendered with Python-Markdown (BSD-3-Clause) and Pygments (BSD-2-Clause). See Credits.
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.
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.