Repository navigation
TextureCraft v0.3.0
What's Changed
- Retry macOS stapling and validation by @dylanmtaylor in #36
- New README showcase renders: storm lantern and rangefinder camera by @bflatastic in #37
- Camera render: brassing only on edges and corners by @bflatastic in #38
- Show a portable TV in the README screenshots by @bflatastic in #48
- Fix layer rename focus trap and restore Undo (#39) by @test-bit-sys in #42
- Control channel: harden the token file and the app's control server by @Agapenordev in #43
- Bump zip from 2.4.2 to 9.0.5 by @dependabot[bot] in #12
- Wireframes show the mesh's polygons, not their triangles by @bflatastic in #53
- Layer rows: the empty mask slot adds a mask by @bflatastic in #59
- Add complete Arabic (ar) UI localization by @test-bit-sys in #47
- Text: any installed font as a brush alpha or a decal by @bflatastic in #67
- Start window: new, open or a recent project at launch by @bflatastic in #68
- Brushes: 18 brush presets in the shelf, and your own by @bflatastic in #70
- Docs: roadmap estimate after text, brush presets and the start window by @bflatastic in #78
- Docs: command_run also allows file.removeUnused by @bflatastic in #80
- display.set: refuse unknown environment names by @bflatastic in #82
- USD export: the primvar reader's varname is a string by @bflatastic in #83
- CLI: --automation-read-root / --automation-write-root for mcp and serve by @bflatastic in #84
- CLI: say that new --sample bakes its mesh maps at up to 1024 px by @bflatastic in #87
- Decals: an up parameter, and an upright rule that never degenerates by @bflatastic in #88
- Projects keep the names of a mesh's unnamed parts on reopen by @bflatastic in #91
- Viewport: show the baked normal map by @bflatastic in #92
- Effect sliders apply what they were dragged or clicked to by @bflatastic in #95
- Material channels: Alt+click keeps one channel by @bflatastic in #96
- Texture Set List: show all, hide all, invert, and focus on one set by @bflatastic in #98
- Docs: roadmap after today's fixes by @bflatastic in #99
- Layers: Ctrl+C, Ctrl+X and Ctrl+V copy, cut and paste a layer by @bflatastic in #102
- Ask to save unsaved changes when the app closes by @bflatastic in #103
- Color picker: keep the popup in place while the color changes by @bflatastic in #104
- Materials: twill for denim and carbon fiber, a pile for velvet by @bflatastic in #107
- Viewport: no ghost edges in the subsurface blur by @bflatastic in #109
- Ask to save before opening, starting or closing another project by @bflatastic in #110
- Polygon fill: UV island mode follows the UVs across split vertices by @bflatastic in #111
- Docs: roadmap after the issue fixes by @bflatastic in #112
- Web: ask to save before replacing the project or closing the tab by @bflatastic in #115
- Color picker: our own picker with a copy icon from the icon set by @bflatastic in #117
- Levels: a histogram of what the effect reads by @bflatastic in #114
- Materials: platinum, zinc, cobalt, bark, sand, mud, ice, snow and bone by @bflatastic in #119
- Filters: histogram scan, range and shift by @bflatastic in #118
- Docs: roadmap after the levels histogram, web save prompt, filters and materials by @bflatastic in #120
- Histogram Scan: full contrast is a threshold by @bflatastic in #121
- Bake: thickness max occluder distance defaults to 0.1 by @Rebornim in #79
- Mesh maps: use an image instead of a bake by @bflatastic in #124
- Effects: drag to reorder, duplicate by @bflatastic in #122
- Brush: Ctrl+drag sets size, hardness, flow and angle by @bflatastic in #125
- History: click a step to return to it by @bflatastic in #126
- feat(export): MaterialX (.mtlx) OpenPBR material per texture set by @SteamSmith in #50
- feat(export): choose the colour space of exported colour maps by @SteamSmith in #81
- Effects: copy, cut and paste between layers by @bflatastic in #128
- Paint through a selected filter instead of refusing the stroke by @Agapenordev in #56
- Never crash importing meshes with many materials by @Agapenordev in #55
- feat(app): support multi-GPU selection and discrete adapter preference (#49) by @kk376 in #58
- feat(import): MaterialX (.mtlx) material import as a fill layer by @SteamSmith in #75
- feat(bake): Auto-rebake keeps one mesh map up to date by @SteamSmith in #69
- cli: support builtin: in info command by @test-bit-sys in #77
- Effect paste: keep the active target, offer it on any row by @bflatastic in #129
- Docs: roadmap after effect reorder and clipboard, mesh map images, Ctrl+drag brush, the History panel and outside contributions by @bflatastic in #130
- Startup: say why when the app cannot start or has to close by @bflatastic in #138
- Fill layers: put an image on any channel by @bflatastic in #137
- Settings: a data folder on any drive by @bflatastic in #139
- MaterialCraft materials: .mcmat fills with live graph inputs by @bflatastic in #131
- Texture Set Settings: the project's normal map format by @bflatastic in #141
- Follow-ups for MaterialX export/import, Auto-rebake and colour space by @SteamSmith in #135
- Make paths non-destructive with path sublayers (#113) by @justinjohn0306 in #133
- Fill projection: UV rotation and offset, sharpness, axis and offset by @bflatastic in #143
- Export: record the chosen colour space in the files by @SteamSmith in #136
- feat(bake): skew correction for high-poly transfer rays by @SteamSmith in #60
- Auto-rebake: a changed skew map rebakes the map by @SteamSmith in #132
- Effect and fill sliders apply live while dragged, as one undo step by @bflatastic in #146
- Fill normal images can be marked DirectX by @bflatastic in #152
- Slider number fields keep what is typed and change nothing when left unchanged by @bflatastic in #150
- OBJ export writes an MTL material library with each material's maps by @bflatastic in #154
- UV-tiled sets take mesh maps from one image per tile by @bflatastic in #155
- OBJ export follow-ups: companions named after the OBJ, implicit material, case-insensitive ids by @bflatastic in #157
- Pen pressure thins strokes in the 2D view too by @bflatastic in #167
- Filter radii and height slopes follow each UV tile's own resolution by @bflatastic in #168
- OBJ exports whose names sanitize alike keep their own MTL and maps by @bflatastic in #169
- Nine more procedural materials by @bflatastic in #170
- Make zip entry names unique when saving bake meshes and resources by @Silvertree2010 in #144
- Fix export failing for file names with a max-length stem by @Silvertree2010 in #151
- Fix PLY import when face element precedes vertex element by @Silvertree2010 in #163
- Keep OBJ and MTL header comments on one line by @Silvertree2010 in #164
New Contributors
- @test-bit-sys made their first contribution in #42
- @Agapenordev made their first contribution in #43
- @dependabot[bot] made their first contribution in #12
- @Rebornim made their first contribution in #79
- @SteamSmith made their first contribution in #50
- @kk376 made their first contribution in #58
- @justinjohn0306 made their first contribution in #133
Full Changelog: v0.2.0...v0.3.0