mirror of
https://github.com/logos-co/logos-test-modules.git
synced 2026-08-31 04:01:16 +00:00
nix-bundle-lgx enforces an icon contract for `type: ui_qml`: the manifest must
name an icon, resolvable at <module>/src/<rel> or <module>/<rel>, and the file
must be a real PNG measuring exactly 256x256 read straight out of IHDR. Both
UI fixtures declared "icon": null, so packaging failed at the buildPhase with
ERROR: metadata.json is missing 'icon'.
ui_qml packages must ship a 256x256 PNG icon.
That breaks .lgx and .install for test_fullapi_ui and test_fullapi_ui_qml.
Because consumers fetch this repo's master live rather than through their own
lock, the failure surfaces in OTHER repos' CI: logos-basecamp#337 shows it as
8 red doctests, of which only 3 are the real build failure and 5 are UI
assertions cascading from modules that were never staged.
These are test fixtures, so the icons are generated placeholders rather than
artwork — a filled ring for the C++-backend variant and a hollow diamond for
the QML-only one, deliberately distinguishable so a tile mix-up is visible in
a screenshot. Written with zlib+struct rather than an image library, matching
the validator's own reason for parsing IHDR by hand: it keeps an image
dependency out of the closure.
Verified on aarch64-darwin: .lgx and .install-portable build for both modules,
and the package carries assets/icon.png at the root (256x256, variant-
independent per manifest 0.4.0) with the manifest pointing at it.
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
32 lines
1.0 KiB
JSON
32 lines
1.0 KiB
JSON
{
|
|
"name": "test_fullapi_ui",
|
|
"display_name": "Full API UI",
|
|
"version": "1.0.0",
|
|
"type": "ui_qml",
|
|
"interface": "universal",
|
|
"category": "testing",
|
|
"description": "Universal QML+Qt UI plugin that consumes the full_api surface of any provider/proxy via an interface dependency: a QtRO backend binds full_api to a runtime target, drives every method type, and subscribes to every event, surfacing results/events to QML so a headless UI doctest can assert them.",
|
|
"main": "test_fullapi_ui_plugin",
|
|
"icon": "icons/fullapi-ui.png",
|
|
"view": "qml/Main.qml",
|
|
"dependencies": ["test_fullapi_proxy"],
|
|
"interface_dependencies": [
|
|
{ "name": "full_api", "file": "interfaces/full_api.h", "impl_class": "IFullApi" }
|
|
],
|
|
"codegen": { "rep": "src/test_fullapi_ui.rep" },
|
|
|
|
"nix": {
|
|
"packages": {
|
|
"build": [],
|
|
"runtime": []
|
|
},
|
|
"external_libraries": [],
|
|
"cmake": {
|
|
"find_packages": [],
|
|
"extra_sources": [],
|
|
"extra_include_dirs": [],
|
|
"extra_link_libraries": []
|
|
}
|
|
}
|
|
}
|