Files
texturecraft/docs/features.md
bflatastic ec30388787 Settings: a data folder on any drive
Autosaves, smart materials, brush and export presets, project templates
and UI layouts always went to Documents/TextureCraft, which fills the
system drive. Settings > Folders > Data folder points them anywhere;
the choice applies on restart, and an export folder still at its
default follows it.

Refs #105.
2026-11-02 14:06:51 +07:00

10 KiB
Raw Permalink Blame History

TextureCraft features

Everything TextureCraft does today, by area. What's still missing is in ROADMAP.md.

Paint in 3D

  • Brushes with size, flow, stroke opacity, spacing, hardness, angle and follow path; size, angle, flow and position jitter; tangent or camera alignment, angle fade, backface culling, lazy mouse, X/Y/Z mirror and radial symmetry (copies paint the far side too) and pen pressure. Ctrl+drag in a view sets them on the fly: right-drag the size and hardness, left-drag the flow and angle. 67 procedural brush alphas in their own shelf tab, or any imported image as the alpha. 18 brush presets (basic, wear and grunge, details) in the shelf's Brushes tab set the stroke and keep the size; save your own brushes there too.
  • Tools: paint, eraser, projection with image stencils (hold S to move, turn and scale the stencil), polygon fill (triangle, UV island or the whole mesh), path and lasso fill, a particle brush, smudge, clone (V + click sets the source), color picker, Shift+click straight lines, and painting directly in the 2D UV view.
  • Geometry decals: drop an image on the surface, then move, scale and turn its frame; it stays an editable fill layer.
  • Text in any installed font (or the built-in ones), shaped for every script with kerning and ligatures, one or more lines: stamp it with the brush as its alpha, or place it as a decal in the tool's base color (Properties › Alpha › Text).
  • Quick mask (Y): paint a temporary mask (U to edit, Ctrl+Shift+I to invert) that protects everything outside it while you paint.
  • Every channel at once: base color, metallic, roughness, height, normal, emissive, opacity, ambient occlusion and specular level, plus clear coat, sheen, anisotropy, subsurface scattering and transmission, each toggled per stroke in the brush's material properties.

Layers, masks and smart materials

  • Paint, fill, folder and instance layers with 32 blend modes per channel (Normal through Normal map detail), per-channel opacity, visibility, color tags, drag-and-drop reordering, duplicate, group, flatten, cut, copy and paste across texture sets, and geometry masks that show a layer only on the mesh parts you pick (right-click a layer, or click parts with the Geometry mask tool, 8).
  • Filters and content effects on any layer or mask: 31 filters (HSL, levels, contrast/luminosity, color balance, gradient map, posterize, clamp, histogram scan, range and shift, invert, threshold, grayscale, replace color, edge detect, normal invert, baked lighting, blur, directional and slope blur, sharpen, high pass, bevel, glow, warp, directional warp, mosaic and four material finishes), fills and paint. Levels shows a histogram of what it reads (the mask below it, or a content channel you pick) with its input range marked. Anchor points record the stack at a layer so masks and fills higher up can react to it.
  • Masks with a white or black background and a stack of effects: painted strokes, fills, mesh-map generators (edge wear, dirt, thin areas, curvature, AO, position and direction gradients, all with world-space noise), filters, ID color selection and compare. Alt+click a mask to view it alone. Drag an effect to reorder its stack, or right-click it to duplicate it (painted strokes included) or copy it onto another layer or mask (Ctrl+C, Ctrl+V); with an effect selected, Ctrl+D and Delete duplicate or remove it.
  • Fill layers take uniform values, 23 procedurals (clouds, cells, grunge, scratches, wood grain, bricks, fabric weave, twill, leather grain, marble veins, Voronoi, paint chips…) or your own images, through UV, tri-planar, planar, spherical, cylindrical or decal projection. Alt+click a material channel (of a fill or the brush) to keep that channel alone.
  • 63 materials (metals from measured reflectance, car paint, brushed anisotropic steel, velvet, skin, wax, glass, ice, woods, bark, stone, sand, mud, snow, bone, plastics, fabric, leather, ceramic, rust, cork, paper), 21 smart materials (rusted iron, worn paint, oxidized copper, bronze statue, weathered wood, mossy brick and stone, sun-faded paint…) and 18 smart masks, all procedural, so they work at any resolution. Drag them from the tabbed, searchable shelf onto the layer stack or straight onto the model.
  • Your own library: right-click a layer or folder, choose Create smart material, and it appears under My smart materials, pixels and images included.

Files and texture sets

  • Open glTF/GLB, FBX (binary and ASCII), COLLADA, USD (usda, usdc, usdz), Alembic, OBJ, PLY and STL, or a built-in mesh; UVs are generated when a mesh has none. A .gltf's buffers and images and a loose USD layer's textures are read from its folder and kept in the project. Reimport a changed mesh and your painted strokes stay on the surface.
  • UDIM / UV tiles: detected on import or switched on later, with a resolution per tile and one texture per tile on export ($udim).
  • Texture sets from 128 to 8192 px per material, resampled when you change them, with 21 channel types to add or remove. Show, hide or invert them all at once, or focus on the active one.
  • Projects are a single .tcraft file: the mesh, every layer (sparse and lossless), baked maps and imported images. Project templates start new work from a saved setup. Closing the app, or opening, starting or closing another project, with unsaved changes asks whether to save them first (in the browser too, where Save downloads the project and closing or reloading the tab asks before the changes are lost).

Bake and export

  • Bake mesh maps on the GPU (ray traced, about 12× the CPU path) or on every CPU core: ambient occlusion, curvature, thickness, world-space normal, position, ID, bent normals, opacity, color and direction maps, and normal and height maps from high-poly meshes, with a cage, ray distances and matching by mesh name. Or use your own images as mesh maps (baked in another app, or edited): drop one from the Assets panel on a slot of the Texture Set Settings, or pick it from the slot's menu.
  • Export presets for glTF PBR Metal Roughness, Unreal Engine (packed), Unity HDRP (mask map), Unity Standard, Blender (Principled BSDF), Godot 4 (ORM), OpenPBR (with the coat, fuzz, anisotropy, transmission and subsurface maps), separate maps, mesh maps and document channels, in PNG, JPEG, TGA, TIFF, BMP, WEBP, EXR or HDR at 8, 16 or 32 bits, with UV padding, size override and OpenGL or DirectX normals.
  • Output template editor: build your own presets with per-channel packing and converted maps, and share them as JSON.
  • Mesh export to OBJ, textured GLB (with clear coat and sheen) and USD (with clear coat).

The viewport

  • Physically based shading (metallic/roughness or specular/glossiness) with clear coat, sheen, anisotropy, subsurface scattering, transmission, parallax occlusion and displacement (with its own shadows) from the height channel; image-based lighting from six procedural studio and outdoor environments or your own HDR/EXR panoramas; ACES or linear tone mapping, key-light shadows, bloom, vignette, sharpen, grain, depth of field and saved cameras (also imported from glTF, FBX, COLLADA and USD files).
  • Rendering mode (F10): a progressive, path-traced view of your textures with multi-bounce light, environment importance sampling, displaced geometry, a denoiser and one-click PNG save, traced on the GPU (compute shaders, about 25× the CPU tracer, desktop and WebGPU) or on the CPU.
  • View any channel, any baked mesh map, or a UV checker; Alt+drag to orbit, middle-drag to pan, wheel to zoom, F to frame, M / C / B to cycle views.
  • 3D and UV wireframes that show the mesh's own polygons: quads and n-gons from OBJ, FBX, COLLADA, USD, Alembic and PLY files keep their edges, without the triangulation's diagonals.

Interface

  • A modern look in four brightness levels (dark, medium dark, medium light and light) with seven accent colors, set in Settings › Interface.
  • Its own title bar with the app icon, menus and window buttons on Windows (and on Linux desktops that leave the frame to the app, such as GNOME), the macOS traffic lights over the same strip, and Settings › Interface › System title bar for the system's frame instead.
  • Dockable, tabbed and floating panels, saved layouts, and panels that reopen where you closed them.
  • A start window at launch: a new project, a project file, a recent project or the sample (Settings › Interface › Start window).
  • A data folder of your choice for autosaves, smart materials, presets, templates and UI layouts, on any drive (Settings › Folders; Documents/TextureCraft by default).
  • A shortcut editor with conflict detection, and every shortcut shown in its tooltip.
  • A History panel: click any step to go back to it, or forward again to an undone one.
  • 10 languages: English, French, German, Spanish, Portuguese, Italian, Japanese, Chinese, Korean and Arabic, switchable live.
  • In the browser: the same app compiled to WebAssembly, on WebGPU or WebGL2, with touch navigation and project open, save and download.

Built for agents

Everything you can do in the window, an agent can do too:

  • CLI: texturecraft-cli new builtin:material_ball out.tcraft, bake, export, render, run <command> <params>, batch, commands, info.
  • MCP server: texturecraft-cli mcp gives Claude and other agents tools to create projects, add layers and masks, paint strokes, add high polys and a cage, bake, export textures and the mesh, reimport a changed mesh, render previews and inspect everything they changed, with file access limited to the folders you give it.
  • Control channel: launch the app with --control <port> to drive the running UI: run any command, invoke menu items, paint, and take screenshots.

See control-protocol.md for the full protocol and examples.