Brushwork v1.1.0a

Modern level editor for Source 1 engine games
! Использован машинный перевод
■ Overview & Setup

Brushwork is a standalone, GPU-accelerated level editor designed for Source 1 engine maps (.VMF). Built with C++20, Qt 6.5+, and a native Vulkan 1.3 renderer, it replaces legacy Hammer with modern 3D viewport controls, real-time lighting previews, and enhanced geometry operations.

Game Directory Configuration

To mount textures, models, and entity definitions (.FGD), configure your target game path:

  1. Launch Brushwork and navigate to Tools → Game Configurations.
  2. Select your game profile (e.g. Half-Life 2, Counter-Strike: Source, Team Fortress 2).
  3. Set the Game Directory containing gameinfo.txt (e.g. .../steamapps/common/Half-Life 2/hl2).
  4. Verify mounted VPK packages and FGD entity definition files in the mounted content list.
Linux Notice: Native Linux builds read game assets directly from Linux Steam library paths. Native compile tools or Wine runners for vbsp, vvis, and vrad can be selected in the Build Executables tab.
■ Viewports & Camera Navigation

Brushwork provides the classic Quad Viewport layout alongside flexible single and split arrangements:

Viewport Projection Primary Use
3D Perspective Vulkan 3D Camera Real-time textured/shaded scene preview, gizmo transforms, face manipulation.
Top (X / Y) Orthographic 2D Plan view for layout, horizontal positioning, and room boundaries.
Front (Y / Z) Orthographic 2D Elevation view for heights, floor-to-ceiling sizing, and vertical entity placement.
Side (X / Z) Orthographic 2D Cross-section profile for structural alignment and incline clipping.

Viewport Controls

Action Shortcut Description
Freelook Camera Right Click + WASD Fly through the 3D perspective viewport with mouselook.
Fast / Slow Fly Hold Shift or Ctrl Accelerate or fine-tune fly speed during 3D freelook.
Orbit Camera Alt + Left Click Drag Orbit around current selection or center point.
2D Pan Right Click Drag Pan 2D orthographic viewports smoothly.
Zoom In / Out Mouse Wheel Zoom centered on current cursor coordinates in 2D and 3D views.
Maximize Viewport Shift + Z Toggle active viewport between fullscreen and multi-split.
■ Manipulation Gizmos

Unlike legacy editors limited to 2D resize handles, Brushwork features native interactive 3D gizmos directly in the perspective view:

Gizmo Mode Shortcut Operation
Translate W Axial arrows for single-axis translation; planar squares for 2D plane sliding.
Rotate E Color-coded rotational rings with angle snapping (15° increments default).
Scale R Uniform center cube scaling and per-axis stretch handles.
Universal T Combined translation and orientation handles for rapid level layout.
View Gizmo Click in 3D Orientation cube in top-right of 3D view; click axis to snap camera view.
■ Geometry & Brush Operations

Block Creation

Select the Block Tool (Shift+B), drag a bounding rectangle in any 2D orthographic viewport, adjust dimensions, and press Enter to generate the convex solid brush.

Advanced Face Tools

Operation Description
Face Extrude Select a face in 3D and drag outward or inward along its normal vector.
Face Inset Offset boundary edges inward to create recessed panels and architectural trim.
Bevel Chamfer selected edges with configurable bevel width without creating non-convex errors.
Clip Tool (Shift+X) Define a 2-point or 3-point slicing plane to divide or trim solid geometry.
Vertex Edit (Shift+V) Directly reposition vertices and edges. Invalid non-planar faces are automatically flagged.
■ Materials & Texturing

Brushwork reads native Valve Material Type (.VMT) and Valve Texture Format (.VTF) files directly from mounted games and loose material folders.

Feature Usage
Material Browser Filter by texture name, keyword tags, or material shader parameters ($basetexture, $bumpmap).
Face Application (Shift+A) Left click face to apply current texture; right click face to sample properties into tool.
Texture Alignment Toggle between World and Face projection coordinates. Use Justify buttons (L, R, C, T, B) for automatic face alignment.
Fit & Scale Automatically stretch or tile textures to match face dimensions with 1:1 aspect ratios.
■ Entity Placement & I/O System

Support for Point Entities, Brush Entities, and Source 1 Input/Output logic:

  • Point Entities (Shift+E): Click to place lights, prop_static models, info_player_start spawn points, and ambient audio sources.
  • Brush Entities (Ctrl+T): Convert selected solid brushes into func_detail (non-vis blocking geometry), func_door, trigger_multiple, or func_brush.
  • Entity Properties (Alt+Enter): Inspect KeyValues, flags, and the I/O event routing graph (Outputs → Target Entity → Input Action → Delay).
■ Map Compilation

Press F9 to open the Run Map compilation dialog:

Preset Compiler Parameters
Fast vbsp (Geometry only, rapid leak and navigation check).
Normal vbsp + vvis -fast + vrad -bounce 2
Final / HDR vbsp + vvis + vrad -both -final -staticproppolys

Compiled BSP files can launch directly into your target game executable with customizable launch flags (e.g. -dev -console -allowdebug +map <mapname>).

■ Keyboard Shortcuts Cheatsheet
Command Shortcut Category
Select Tool Shift + S Tools
Block Tool Shift + B Tools
Texture Tool Shift + A Tools
Entity Tool Shift + E Tools
Clipping Tool Shift + X Tools
Vertex Tool Shift + V Tools
Translate Mode W Gizmo
Rotate Mode E Gizmo
Scale Mode R Gizmo
Grid Size Up / Down ] / [ Grid
Tie to Entity Ctrl + T Entities
Entity Properties Alt + Enter Properties
Run Map / Compile F9 Build