Files
ToastconcernandClaude Opus 5.5 f7345a5ac3 Frame Studio and Frame Home: cross-platform builds
Frame Studio now builds for Windows (x64, x86, ARM64), Linux (x64, x86, ARM64)
and macOS (Apple Silicon, Intel):
- studio/platform.h with Win32 and POSIX implementations (dialogs through
  tinyfiledialogs on Linux/macOS), a GLFW window beside the Win32 one, and a
  platform-neutral frame pacer
- MoltenVK support in the renderer (portability enumeration) and bundled in
  the macOS app
- 32-bit builds: large-address-aware, LZMA packing within a 32-bit address space
- unaligned file reads in the loaders go through loadUnaligned (no UB)
- scripts/build-studio.sh, studio/build_windows.bat [x64|x86|arm64],
  cmake/llvm-mingw.cmake, and a GitHub Actions workflow building every target

Frame Home installs without Studio: frame/install-frame-home.{sh,ps1} and
"Install Frame Home.bat" (packaged as FrameHome-installer.zip).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 12:03:25 -05:00
..

Library usage example

This is a minimal example of using the astcenc codec as a library in another project. This sample shows:

  • How to include astcenc as an external project CMake dependency.
  • How to use the API to compress and decompress an image.

For sake of simplicity the example application uses fixed compression settings, reading an uncompressed LDR image, compressing using 6x6 blocks at medium quality, and then decompressing and writing the decompressed image back to disk as a PNG file.

Building

⚠️ For sake of simplicity the example CMake project uses the CMake ExternalProject mechanism to import the astcenc project from GitHub. This is trivial to integrate, but requires network access during the build to pull the astcenc project.

Most users will want to store a copy of astcenc in a project sub-directory, e.g. by using git submodules, and then use add_subdirectory() to include the project in their build. This allows the user to directly use the astcenc core library as a link requirement via target_link_libraries(), without the additional plumbing that ExternalProject requires.

Linux and macOS

From the ./Utils/Example directory.

mkdir build
cd build
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release ..
make -j8

Windows

From the ./Utils/Example directory, in a Visual Studio command prompt.

mkdir build
cd build
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release ..
nmake

Running

From the build directory above.

astcenc_example <input.png> <output.png>