Redesign APK discovery as an artwork-led app store

Co-Authored-By: GPT-6 Astra <noreply@openai.com>
This commit is contained in:
saphidandGPT-6 Astra committed 2026-09-28 21:47:38 +10:00
1 parent f1b12a6eb6
commit 7844577be8
26 files changed
+885 -102

No files matched your search

+19
View File
@@ -0,0 +1,19 @@
# Store preview artwork
Recorded public artwork for offline UI verification, fetched 2026-09-28.
`urls.json` records each original URL. No unit test downloads these files.
- Open Brush banner, icon and screenshots: Icosa Foundation's public
`icosa-foundation/openbrush.app` website assets. Artwork remains credited to
its creators; used here to preview the Open Brush listing.
- Mindustry, AntennaPod and NewPipe icons/screenshots: their public F-Droid
listings. Corresponding projects use GPL licences; these images represent
those same apps in the store preview.
- Luanti, SuperTuxKart and other social previews: public GitHub-generated
repository preview images. Project names/logos belong to their owners.
`../store.json` contains illustrative listing metadata, including mock package
names, popularity, dates, version/size and compatibility fields. It is not a
catalogue or evidence that a particular release works on the Frame. `_demo.py`
is opt-in and cannot download APKs. `tests/search_preview.py` preloads these
recordings into the image cache and simulates installation without a headset.
Binary file not shown.

After

Width:  |  Height:  |  Size: 489 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 275 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 559 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 586 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 821 KiB

+16
View File
@@ -0,0 +1,16 @@
{
"brush-banner.jpg": "https://raw.githubusercontent.com/icosa-foundation/openbrush.app/main/assets/bg.jpg",
"brush-icon.png": "https://raw.githubusercontent.com/icosa-foundation/openbrush.app/main/assets/icon.png",
"brush-shot1.png": "https://raw.githubusercontent.com/icosa-foundation/openbrush.app/main/assets/carousel/1.png",
"brush-shot2.webp": "https://raw.githubusercontent.com/icosa-foundation/openbrush.app/main/assets/carousel/2.webp",
"brush-shot3.webp": "https://raw.githubusercontent.com/icosa-foundation/openbrush.app/main/assets/carousel/3.webp",
"luanti.png": "https://opengraph.githubassets.com/1/luanti-org/luanti",
"kart.png": "https://opengraph.githubassets.com/1/supertuxkart/stk-code",
"luanti-icon.png": "https://raw.githubusercontent.com/luanti-org/luanti/master/textures/base/pack/logo.png",
"pod-icon.png": "https://f-droid.org/repo/de.danoeh.antennapod/en-US/icon_w44b41PyuNt3pI7Gh8zYHJrWgu__3HT7YSWZtttfenk=.png",
"mindustry-icon.png": "https://f-droid.org/repo/io.anuke.mindustry/en-US/icon_Eno3XvqCZUcHRm3eMjiUleAxgzLopPe6-hkI7BHx1lU=.png",
"mindustry-shot.png": "https://f-droid.org/repo/io.anuke.mindustry/en-US/phoneScreenshots/1.png",
"pod-shot.png": "https://f-droid.org/repo/de.danoeh.antennapod/en-US/phoneScreenshots/00.png",
"newpipe-icon.png": "https://f-droid.org/repo/org.schabi.newpipe/en-US/icon_OHy4y1W-fJCNhHHOBCM9V_cxZNJJgbcNkB-x7UDTY9Q=.png",
"newpipe-shot.png": "https://f-droid.org/repo/org.schabi.newpipe/en-US/phoneScreenshots/00.png"
}
+182
View File
@@ -0,0 +1,182 @@
[
{
"id": "brush",
"package": "org.preview.brush",
"name": "Open Brush",
"summary": "Make the world your canvas. Paint, sculpt and create in a space without limits.",
"description": "Your imagination deserves more room. Open Brush turns the space around you into a canvas, with expressive brushes, vivid colors and light you can paint with.\n\nCreate something small, build something extraordinary, or just enjoy making your first mark in VR. This community-led painting app is free and open source.",
"developer": "Icosa Foundation",
"license": "Apache-2.0",
"free": true,
"downloadable": true,
"version": "2.32.29",
"version_code": 1,
"min_sdk": 26,
"abis": [
"arm64-v8a"
],
"vr": true,
"updated": "2026-09-27",
"size": 85000000,
"popularity": 100,
"images": {
"banner": "https://raw.githubusercontent.com/icosa-foundation/openbrush.app/main/assets/bg.jpg",
"icon": "https://raw.githubusercontent.com/icosa-foundation/openbrush.app/main/assets/icon.png",
"screenshots": [
"https://raw.githubusercontent.com/icosa-foundation/openbrush.app/main/assets/carousel/1.png",
"https://raw.githubusercontent.com/icosa-foundation/openbrush.app/main/assets/carousel/2.webp",
"https://raw.githubusercontent.com/icosa-foundation/openbrush.app/main/assets/carousel/3.webp"
]
},
"engine": "Unity OpenXR",
"frame_tested": true,
"icon": "https://raw.githubusercontent.com/icosa-foundation/openbrush.app/main/assets/icon.png",
"page": "https://openbrush.app"
},
{
"id": "mindustry",
"package": "org.preview.mindustry",
"name": "Mindustry",
"summary": "Build a factory. Defend your world.",
"description": "Build a factory. Defend your world.",
"developer": "Anuken",
"license": "GPL-3.0",
"free": true,
"downloadable": true,
"version": "1.2",
"version_code": 1,
"min_sdk": 26,
"abis": [
"arm64-v8a"
],
"vr": false,
"updated": "2026-09-26",
"size": 85000000,
"popularity": 92,
"images": {
"banner": "https://f-droid.org/repo/io.anuke.mindustry/en-US/phoneScreenshots/1.png",
"icon": "https://f-droid.org/repo/io.anuke.mindustry/en-US/icon_Eno3XvqCZUcHRm3eMjiUleAxgzLopPe6-hkI7BHx1lU=.png",
"screenshots": [
"https://f-droid.org/repo/io.anuke.mindustry/en-US/phoneScreenshots/1.png"
]
},
"icon": "https://f-droid.org/repo/io.anuke.mindustry/en-US/icon_Eno3XvqCZUcHRm3eMjiUleAxgzLopPe6-hkI7BHx1lU=.png"
},
{
"id": "luanti",
"package": "org.preview.luanti",
"name": "Luanti",
"summary": "A world of blocks. Endless possibilities.",
"description": "A world of blocks. Endless possibilities.",
"developer": "Luanti contributors",
"license": "LGPL-2.1",
"free": true,
"downloadable": true,
"version": "1.3",
"version_code": 1,
"min_sdk": 26,
"abis": [
"arm64-v8a"
],
"vr": false,
"updated": "2026-09-25",
"size": 85000000,
"popularity": 84,
"images": {
"banner": "https://opengraph.githubassets.com/1/luanti-org/luanti",
"icon": "https://raw.githubusercontent.com/luanti-org/luanti/master/textures/base/pack/logo.png",
"screenshots": [
"https://opengraph.githubassets.com/1/luanti-org/luanti"
]
},
"icon": "https://raw.githubusercontent.com/luanti-org/luanti/master/textures/base/pack/logo.png"
},
{
"id": "pod",
"package": "org.preview.pod",
"name": "AntennaPod",
"summary": "Your favorite stories, wherever you listen.",
"description": "Your favorite stories, wherever you listen.",
"developer": "AntennaPod contributors",
"license": "GPL-3.0",
"free": true,
"downloadable": true,
"version": "1.4",
"version_code": 1,
"min_sdk": 26,
"abis": [
"arm64-v8a"
],
"vr": false,
"updated": "2026-09-24",
"size": 85000000,
"popularity": 76,
"images": {
"banner": "https://f-droid.org/repo/de.danoeh.antennapod/en-US/phoneScreenshots/00.png",
"icon": "https://f-droid.org/repo/de.danoeh.antennapod/en-US/icon_w44b41PyuNt3pI7Gh8zYHJrWgu__3HT7YSWZtttfenk=.png",
"screenshots": [
"https://f-droid.org/repo/de.danoeh.antennapod/en-US/phoneScreenshots/00.png"
]
},
"icon": "https://f-droid.org/repo/de.danoeh.antennapod/en-US/icon_w44b41PyuNt3pI7Gh8zYHJrWgu__3HT7YSWZtttfenk=.png"
},
{
"id": "newpipe",
"package": "org.preview.newpipe",
"name": "NewPipe",
"summary": "Your videos and music, without the distractions.",
"description": "Your videos and music, without the distractions.",
"developer": "Team NewPipe",
"license": "GPL-3.0",
"free": true,
"downloadable": true,
"version": "1.5",
"version_code": 1,
"min_sdk": 26,
"abis": [
"arm64-v8a"
],
"vr": false,
"updated": "2026-09-23",
"size": 85000000,
"popularity": 68,
"images": {
"banner": "https://f-droid.org/repo/org.schabi.newpipe/en-US/phoneScreenshots/00.png",
"icon": "https://f-droid.org/repo/org.schabi.newpipe/en-US/icon_OHy4y1W-fJCNhHHOBCM9V_cxZNJJgbcNkB-x7UDTY9Q=.png",
"screenshots": [
"https://f-droid.org/repo/org.schabi.newpipe/en-US/phoneScreenshots/00.png"
]
},
"icon": "https://f-droid.org/repo/org.schabi.newpipe/en-US/icon_OHy4y1W-fJCNhHHOBCM9V_cxZNJJgbcNkB-x7UDTY9Q=.png"
},
{
"id": "kart",
"package": "org.preview.kart",
"name": "SuperTuxKart",
"summary": "A little friendly competition. A lot of colorful chaos.",
"description": "A little friendly competition. A lot of colorful chaos.",
"developer": "SuperTuxKart Team",
"license": "GPL-3.0",
"free": true,
"downloadable": false,
"version": "1.6",
"version_code": 1,
"min_sdk": 26,
"abis": [
"arm64-v8a"
],
"vr": false,
"updated": "2026-09-22",
"size": 85000000,
"popularity": 60,
"images": {
"banner": "https://opengraph.githubassets.com/1/supertuxkart/stk-code",
"icon": null,
"screenshots": [
"https://opengraph.githubassets.com/1/supertuxkart/stk-code"
]
},
"icon": null,
"page": "https://supertuxkart.net"
}
]