mirror of
https://github.com/Nexoniarz/YAPF.git
synced 2026-11-03 13:04:26 +00:00
- KDE thumbnailer: texture loader, decodes only the mip it needs; GPU blocks, 16-bit and float via the new yapf_tex_to_rgba8. Tested through KDE's plugin loader with KF6 from nixpkgs. - Photoshop: shows the tool's error message; HDR textures open as 32-bit (.hdr), 16-bit stays 16-bit; 16-bit documents save as 16-bit. - CLI: 16-bit PNG export, readable conversion errors. - default.nix: yapf tool, library, header, MIME type and thumbnailer (absolute store path); runs the test suite. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DVrVthWN8GsmgHGUhhsCYm
30 lines
1.3 KiB
JavaScript
30 lines
1.3 KiB
JavaScript
// Open YAPF — opens .yapf images in Photoshop.
|
|
// Copyright 2026 Nexoniarz — Apache License 2.0.
|
|
// Install: copy this folder's .jsx / .jsxinc files (and yapf / yapf.exe)
|
|
// into Photoshop's Presets/Scripts folder; then File > Scripts > Open YAPF.
|
|
|
|
#target photoshop
|
|
#include "yapf_common.jsxinc"
|
|
|
|
(function () {
|
|
var filter = YAPF_IS_WINDOWS ? "YAPF images:*.yapf,All files:*.*"
|
|
: function (f) { return f instanceof Folder || /\.yapf$/i.test(f.name); };
|
|
var files = File.openDialog("Open YAPF image", filter, true);
|
|
if (!files) return;
|
|
if (!(files instanceof Array)) files = [files];
|
|
|
|
for (var i = 0; i < files.length; i++) {
|
|
// 8 / 16-bit images come through PNG (16 bits are kept); half,
|
|
// float and BC6H HDR textures through Radiance .hdr (32-bit).
|
|
var tmp = yapfTempFile(yapfIsHdr(files[i]) ? ".hdr" : ".png");
|
|
if (!yapfRun([files[i].fsName, tmp.fsName], tmp)) {
|
|
alert("Could not open " + files[i].name + ".\n\n" + yapfFailText());
|
|
return;
|
|
}
|
|
var doc = app.open(tmp);
|
|
// The temporary PNG is no longer needed once the document is open;
|
|
// use File > Scripts > Save as YAPF to write a .yapf again.
|
|
doc.info.caption = files[i].fsName;
|
|
tmp.remove();
|
|
}
|
|
})();
|