Files
artcraft/packaging/linux/ai.artcraft.app.metainfo.xml
Dylan M. Taylor 79d87b2b54 fix(flatpak): persist data directory, keep accelerated rendering, and enrich metainfo (#2761)
## Summary

Transfers verified improvements and reviewer feedback from the FlatPark
package review to ArtCraft's first-party Flatpak build:

- **Data Persistence:** Adds `--persist=Artcraft` to `finish-args` in
`flatpak.yml` so user settings, credentials, provider tokens, and local
task SQLite queue stored in `~/Artcraft` persist in
`~/.var/app/ai.artcraft.app/Artcraft` across launches instead of being
discarded on exit.
- **Accelerated Rendering:** Adds `artcraft-wrapper` setting
`WEBKIT_DISABLE_DMABUF_RENDERER="${WEBKIT_DISABLE_DMABUF_RENDERER:-0}"`
and
`WEBKIT_DISABLE_COMPOSITING_MODE="${WEBKIT_DISABLE_COMPOSITING_MODE:-0}"`.
Keeping WebKitGTK's accelerated rendering path enabled prevents
rendering glitches on `org.gnome.Platform//51` while preserving user
override capability.
- **Dependency Checking:** Updates the Flatpak build runtime
verification to inspect the real binary (`/app/bin/artcraft.real`).
- **Enriched AppStream Metainfo:** Updates
`ai.artcraft.app.metainfo.xml` with CC0-1.0 metadata license,
bugtracker/vcs-browser/contact URLs, bulleted feature description,
search keywords, branding colors, hardware display requirements, input
controls, and OARS-1.1 content rating.

## Verification

- `actionlint .github/workflows/*.yml` passed.
- `shellcheck packaging/linux/*.sh packaging/linux/artcraft-wrapper`
passed.
- `xmllint --noout packaging/linux/ai.artcraft.app.metainfo.xml` passed.
- `appstreamcli validate packaging/linux/ai.artcraft.app.metainfo.xml`
passed with 0 errors and 0 info notices.
2026-11-06 22:48:03 -05:00

52 lines
1.8 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>ai.artcraft.app</id>
<name>ArtCraft Studio</name>
<summary>Create images and video with AI</summary>
<metadata_license>MIT</metadata_license>
<project_license>MIT OR Apache-2.0</project_license>
<developer id="ai.artcraft">
<name>ArtCraft</name>
</developer>
<url type="homepage">https://getartcraft.com</url>
<url type="bugtracker">https://github.com/storytold/artcraft/issues</url>
<url type="vcs-browser">https://github.com/storytold/artcraft</url>
<url type="contact">https://discord.gg/artcraft</url>
<description>
<p>ArtCraft Studio is a creative desktop workspace for generating AI images and video with connected AI providers.</p>
<ul>
<li>Text-to-image and image-to-image creation with state-of-the-art models</li>
<li>Video generation and camera motion controls</li>
<li>Direct integration with Fal, Grok, Midjourney, Sora, and WorldLabs</li>
<li>Local task persistence with an embedded SQLite queue</li>
</ul>
</description>
<launchable type="desktop-id">ai.artcraft.app.desktop</launchable>
<categories>
<category>Graphics</category>
<category>AudioVideo</category>
</categories>
<keywords>
<keyword>ai</keyword>
<keyword>image</keyword>
<keyword>video</keyword>
<keyword>generation</keyword>
<keyword>art</keyword>
</keywords>
<branding>
<color type="primary" scheme_preference="light">#2f7bf5</color>
<color type="primary" scheme_preference="dark">#1a5bc4</color>
</branding>
<requires>
<display_length compare="ge">760</display_length>
</requires>
<supports>
<control>keyboard</control>
<control>pointing</control>
</supports>
<content_rating type="oars-1.1" />
<provides>
<binary>artcraft</binary>
</provides>
</component>