Repository navigation
Releases: robin994/LiveAreaDesigner
Release list
LiveArea Designer v1.31 (Lossless Frame1 PNG)
LiveArea Designer v1.31 - No lossy compression on frame1
Community-requested image quality improvement, implemented in both the Web Editor and native PS Vita application.
Frame1 artwork no longer loses colors
- frame1.png bypasses PNG8 palette quantization entirely. It is now emitted as 8-bit-per-channel truecolor PNG (RGB 24-bit, or RGBA 32-bit with the Transparent button option).
- Already compatible, exactly sized PNG files are copied byte for byte. This preserves your uploaded colors, palette, dithering and alpha rather than re-encoding the file.
- Images that need resizing, JPG decoding or compositing are exported as lossless truecolor RGB/RGBA PNG, never reduced to 256 colors.
- Only frame1 is affected. Frame2 onward, the gate, background, icon and bootscreen keep their optimized indexed PNG8 behavior.
- The web editor labels the selected frame1's lossless behavior and warns when the generated frame1 PNG exceeds 384 KiB.
- The XML layout, frame1 default
psla:eboottarget, ad0 gate handling, and VPK editing remain unchanged.
Important format details
PNG files always use lossless zlib/DEFLATE compression internally. This release removes lossy palette conversion, not PNG's mandatory, pixel-perfect compression.
Experimental hardware compatibility: inspection of stock Sony firmware found 8-bit RGBA LiveArea artwork, but full-color PNG support and size limits for every homebrew LiveArea frame are not yet verified. Very large RGB/RGBA files may fail to render or be rejected when installed. Validate on a real Vita before distributing VPKs with large frame1 images. No automatic fallback to PNG8 is applied to frame1 because that would defeat the purpose of this request.
Quality checks
- The previously supplied 840x500 source artwork with 190,449 unique colors exports as a 516,083-byte RGB PNG with zero changed pixels (lossless).
- 33 Node.js tests passed, including truecolor RGB/RGBA and alpha preservation.
- Native C PNG encoder and byte-for-byte PNG pass-through smoke tests passed.
- Chrome desktop/mobile browser tests passed, including a frame1 unchanged-PNG ZIP export, RGB resize and unchanged indexed frame2 output, plus VPK patching tests.
- VitaSDK release VPK compiled from clean commit abfa361, ZIP integrity and SHA-256 validated. Unrelated local VPK editor changes were not included.
Title ID: LIVAREA01.
Web editor | Source repository
LiveArea Designer v1.30 (Preserve TinyPNG Quality)
LiveArea Designer v1.30 — Exact PNG8 quality preservation
This update fixes another reported LiveArea background quality issue in both the web editor and PS Vita homebrew.
What changed
- Removed the artificial 128 KiB limit for
bg0.png. Read-only inspection of a real retail PS Vita's stockvs0:firmware assets found valid Sony 840×500 PNG8 backgrounds up to 369,340 bytes, far above the old 128 KiB cap. The new editor allows 384 KiB for the indexed LiveArea card background — a conservative envelope based on observed Sony data, not a universal documented maximum. - Existing optimized PNG8 backgrounds are preserved byte-for-byte, without unnecessary palette rebuilding, when they are opaque, noninterlaced, 840×500 pixels and fit the observed size envelope. This is supported on both the web and native Vita editors.
- RGB sources with 256 or fewer unique colors are preserved without any RGB color loss when converted to PNG8. A user-provided TinyPNG comparison image (840×500, 256 colors) passed through the new real web encoder with 0 changed RGB pixels, resulting in a 157,447-byte PNG8 — below the updated background limit.
- For photographic/high-color input, PNG8 still requires quantization. The default now prioritizes visual quality (dithering 0.50), with lower dithering and fewer colors only when needed to meet the correct per-asset limit. The original comparison sample yields a 152,536-byte PNG8.
startup.png,icon0.pngandpic0.pngretain their conservative size limits until their larger variants are tested on actual Vita hardware.- No network upload to TinyPNG and no external API key. The user-supplied copyrighted artwork used to validate pixel identity is not packaged in this repo or release.
Limitations: This is not a claim that our quantizer produces the same palette as TinyPNG for an arbitrary 24-bit photographic source. PNG8 still has at most 256 colors, and further visual differences can occur for high-color originals. If you already have an optimized PNG8, import it directly to get identical output. The larger bg0 tolerance is supported by actual stock firmware samples, but exporting a new third-party package with large artwork should still be tested on the physical console.
QA
- 30 Node.js unit tests passed, including a >128 KiB PNG8 that retains all 256 colors.
- Native C tests passed, including byte-for-byte PNG8 copy, binary identity when source is the destination, and template XML/settings smoke tests.
- Chrome desktop/mobile integration passed, including source PNG8 exact reuse, VPK patch/import/export and ZIP assets.
- VitaSDK VPK compiled successfully from clean commit
9d31dfb, ZIP integrity checked. No unrelated local code changes were bundled. - Console's installed LiveArea Designer was not changed automatically by this release.
Title ID: LIVAREA01
Web editor | Source
LiveArea Designer v1.29 (Sharper PNG8 Export)
LiveArea Designer v1.29 — improved PNG8 visual fidelity
This release addresses visible image-quality loss in complex artwork containing soft shadows, lighting effects and gradients. It updates both the browser editor and PS Vita native application; VPK patching and LiveArea layout handling remain unchanged.
What changed
- Replaced the coarse color lookup in v1.28 with full-precision pixel matching against the four closest colors from a finer RGB6 palette neighborhood.
- Palette colors now undergo eight refinement passes using the actual image distribution instead of rounding away useful shades in the initial RGB5 histogram.
- Uses subtler dithering (0.15) by default, gradually reducing to 0.10, 0.05 and 0.00 only when the image is too large. The palette remains at 256 colors until the quality-preserving size adjustments are exhausted.
- The web editor caches the refined palette across dithering attempts, avoiding expensive repeated palette searches.
- All output remains non-interlaced 8-bit indexed PNG + lossless DEFLATE, respecting conservative Vita resource size limits.
Real-artwork test
Using user-supplied 840x500 source artwork containing approximately 190,449 distinct RGB colors, our older v1.28 exporter produced a 127,169-byte PNG with mean squared RGB error 28.37 (33.60 dB PSNR). The new exporter produced a 128,401-byte PNG with error 21.99 (34.71 dB PSNR), a measured 22.5% reduction in error while remaining under the 128 KiB bg0 limit.
Important limitations: PNG8 offers at most 256 distinct RGB colors, so the source with 190,000+ colors cannot be preserved losslessly. More detailed artwork will still have some gradients/banding, and different artwork can produce different results. We are improving visual fidelity within confirmed Vita-oriented PNG8 restrictions, not switching to an unverified 24/32-bit format. The submitted copyrighted artwork used to benchmark this release is not part of this repository or VPK.
Quality assurance
- 30 Node.js unit tests passed, including palette reuse, image fidelity, size fallback, alpha/PNG8 validity and ad0 gate-less XML.
- Native C exporter, template-preview, settings, and quantization tests passed.
- Chrome desktop/mobile integration suite passed, including per-frame assets, VPK patching and ZIP export.
- VitaSDK VPK built from clean commit
ff12e9c, checked for ZIP integrity and verified against its SHA-256 checksum. Unrelated local changes were not included. - Final visual inspection on real PS Vita LiveArea is still needed. The console's installed app was not updated automatically.
Title ID: LIVAREA01.
Web editor | Source
LiveArea Designer v1.28 (ad0 Fix + High-Fidelity PNG8)
LiveArea Designer v1.28 — ad0 startup-gate fix + much better image quality
This update implements two requests from PS Vita LiveArea designers. It applies to both the web editor and PS Vita homebrew.
1. ad0 has no startup gate
- Exporting
ad0now produces no<gate>element and no<startup-image>reference intemplate.xml. startup.pngis no longer included in a freshly exportedad0ZIP or native asset bundle.- This follows the extracted firmware RCO metadata, so other genuinely gate-less styles (
ad1–ad4,music) also skip the gate. - The web editor hides the gate-upload widget when the selected style has no gate; switching back to a gate-capable style restores it without deleting any image.
2. High-fidelity PNG8 instead of the harsh fixed palette
- The old 7×8×4 fixed RGB palette was the cause of the severe color shift, not zlib compression itself.
- New image-adaptive 256-color palette on both web and Vita: weighted median-cut selection, palette refinement and mild error diffusion. Logos with 256 or fewer colors retain their original RGB colors exactly (255 with a reserved transparency entry).
- On a synthetic 3-channel gradient, the native quantizer produced about 9% of the old weighted squared color error. Real-artwork results vary; this is not a claim of parity with TinyPNG.
- The PNGs remain non-interlaced, 8-bit palette-indexed and zlib compressed, consistent with PS Vita shell expectations.
pic0.pnghas a full 256-entry palette. - Vita size constraints are now checked for common restricted files:
bg0.pngandicon0.png(128 KiB),startup.png(64 KiB),pic0.png(256 KiB). If a file is too large, export first disables dithering while keeping 256 colors; only if necessary does it reduce the palette. The web export reports size-based adjustments. Files that cannot fit fail with a clear message rather than silently producing oversized assets. - Web PNG filtering now compares adaptive filters vs. filter-0 and uses the smaller lossless result.
- Everything runs locally — no upload to tinypng.com or other service, no API keys and no binary/third-party quantizer dependency.
Known trade-off: PNG8 can represent only 256 palette entries. RGB precision is exact for low-color images, but images with more than 256 colors remain quantized; partial alpha is still thresholded to transparent or opaque.
QA
- 29 Node.js tests passed, including exact-color PNG output, gradient-quality comparison, transparency, file-size fallback, full-palette pic0 and gate-less ad0 XML.
- Native C PNG quantization and XML smoke tests passed (strict warnings); Chrome desktop/mobile E2E passed including full ZIP and VPK import/edit/export checks.
- VitaSDK v1.28 VPK compiled and passed ZIP integrity checks from a clean snapshot of commit
a25c810. Unrelated local VPK-import work was not included. - Final hardware testing of the new exported images and ad0 layout on a real PS Vita is still recommended. The console's currently installed app was not modified by this release process.
Title ID: LIVAREA01.
Web editor · Source repository
LiveArea Designer v1.27 (frame1 psla:eboot default)
LiveArea Designer v1.27 — frame1 launches the homebrew by default
Community-requested improvement: new frame1 liveitems now have psla:eboot as their default target, so selecting frame1 or exporting a newly created LiveArea uses the correct native executable-launch link.
- Supported by both the web editor and the native PS Vita homebrew.
- Works across all supported LiveArea layout styles. Every other frame retains its existing default target behavior.
- Existing custom targets are preserved, including deliberately empty targets and values read from imported homebrew VPKs. This is a default for a new, unconfigured frame1 only.
- The generated
template.xmlincludes<target>psla:eboot</target>for the default frame1 liveitem. - Other settings, image optimization, VPK import/export and X/Y coordinate sign options are unchanged.
QA
- 22 Node.js tests passed, including default frame1 links and explicit custom/empty target preservation.
- Native XML and frame geometry smoke tests passed.
- Chrome desktop and mobile integration tests passed, including frame switching, changing frame1 target and VPK import/export.
- VPK compiled from the clean commit
e03042eusing VitaSDK; ZIP integrity verified. No unrelated local changes were bundled.
Note: the new native option still requires a final on-device hardware test; the original VPK modification process remains experimental.
Title ID: LIVAREA01
Web editor | Source repository
LiveArea Designer v1.26 (Invert X/Y Editor Coordinates)
LiveArea Designer v1.26 - Invert X and Y in the editor
You can now choose the coordinate sign conventions that make sense for your layout, without moving any artwork or changing how LiveArea XML is generated.
New editor options
- Invert X - swap positive/negative X values (left vs. right).
- Invert Y - swap positive/negative Y values (up vs. down).
- The switches work independently and are OFF by default so existing projects continue to show the same values as v1.25.
- The visible CENTER X/Y, editable X/Y numeric inputs, copied coordinates and input min/max automatically follow your chosen signs.
- Preferences survive reload, style changes and frame selection; existing saved pixel positions are retained.
- PS Vita homebrew has the same controls in Settings > Template + VPK, above the mini-preview, and saves them as
invert_x/invert_yinux0:data/LiveAreaDesigner/settings.ini.
Important: These switches affect the editor's presentation and input only. The exported template.xml continues to use native PS Vita/RCO frame coordinates, and your LiveArea artwork never moves merely because an option was toggled. The Template Preview labels the XML frame offsets separately.
Testing
- 21 Node.js unit tests pass, including reversible coordinate transformations and XML independence.
- Native Vita C geometry, XML and settings save/reload tests pass.
- Chrome desktop/mobile integration tests pass, including both toggles, numeric editing, copied signs, refresh persistence and VPK import/export.
- VitaSDK v1.26 VPK compiled and passed ZIP integrity checks. Release compiled from a clean Git archive of commit
1dfd291; no unrelated local modifications were bundled.
No physical console run was performed for this release. A hardware smoke test of the new Vita settings toggles is still recommended.
Title ID: LIVAREA01
Web editor | Source repository
LiveArea Designer v1.25 (Y coordinate correction)
LiveArea Designer v1.25 - Y coordinate direction fix
Fixed the direction of the Y axis in the PS Vita homebrew and web editor after community feedback:
- Center origin (0,0); X positive right/negative left; Y positive UP/negative DOWN. Dragging a liveitem lower now decreases its displayed Y value. The numeric geometry controls, copied coordinates and exported XML match this convention.
template.xmloffsets are correctly relative to the selected firmware frame center, following the RCO +Y-up convention.- Opening an existing homebrew VPK imports signed Y offsets consistently on web and Vita. Odd image dimensions now round-trip without a one-pixel drift.
- Existing editor projects keep their saved screen pixel positions (no migration needed).
- Updated web module cache versions so browsers fetch the corrected geometry immediately.
QA
- 20 Node.js unit tests passed and PS Vita native XML/geometry smoke tests passed on the exact release commit.
- Chrome desktop/mobile integration tests passed, including signed numeric Y controls, signed imported VPK XML and multi-frame ZIP/VPK integrity.
- VitaSDK release build succeeded; VPK ZIP integrity passed. Built from a clean exported snapshot of commit d855ba7 with no additional local uncommitted changes.
Hardware validation: A fresh on-device test of the corrected native XML positioning is still recommended. Retain the original VPK when using the VPK patcher.
Title ID: LIVAREA01.
Web editor | Source repository
LiveArea Designer v1.24 (VPK Editing + PNG8 Optimization)
LiveArea Designer 1.24 - VPK Editing + Smaller PNG8 Exports (experimental)
This release implements community suggestions to simplify the UI, hide rarely-used palette controls, allow editing existing homebrew VPKs, and explain/improve the image compression pipeline.
New: Open and modify a homebrew VPK
- Web: click Open VPK…, select a VPK locally, inspect its LiveArea background, startup gate, supported frame images and template.xml fields, then edit frame images, text, targets and geometry. Choose Export modified VPK to download a new
<original>-livearea.vpkfile. The source VPK remains unchanged; processing is local in the browser. - PS Vita: in Template + VPK Settings, choose Open VPK and browse for a local VPK; after editing, use Patch VPK to export to
ux0:data/LiveAreaDesigner/export/modified_livearea.vpkwithout overwriting the source archive. - Untouched VPK entries including
eboot.bin,sce_sys/param.sfoand unrelated game data are preserved. The web repacker preserves their compressed original data, checksum and ZIP method. - When only XML text/target/position has changed, the web exporter can reuse the originally imported image bytes instead of recompressing them.
Cleaner UI
- The fallback palette is inside collapsible Advanced appearance controls.
- Advanced language restrictions and seldom-used XML options are collapsed by default.
- Unnecessary technical copy and secondary metrics no longer crowd the preview. The primary action is Export LiveArea Assets; supporting tools are under More tools.
PNG8 compression, explained and improved
- Older versions already produced indexed PNG8 images with zlib/DEFLATE, suitable for LiveArea assets. Version 1.24 additionally removes unused palette entries and chooses adaptive PNG filters before zlib compression; use Optimize PNG8 images (on by default) in the web UI.
- Native PS Vita export uses stronger zlib compression and adaptive libpng filters.
- On a simple 200 x 160 test illustration the PNG8 was reduced from 945 to 126 bytes. Results vary significantly by source image.
- Important: compression is lossless after PNG8 quantization; quantization itself is lossy in color detail and reduces alpha to transparent/opaque. Some imported PNGs retain their exact original bytes when unchanged.
Validation
- 19 Node.js unit tests pass (ZIP parsing/integrity, CRC, compressed streams, paths, PNG8 geometry and frame XML).
- Chrome desktop and mobile integration tests pass, including local import/edit/export of a complete VPK with unchanged executable/SFO/game assets.
- An actual VPK compiled by VitaSDK was read and patched successfully and passed unzip integrity testing with identical executable and SFO hashes.
- VitaSDK VPK build and native host smoke tests pass.
Known limitations
- The web VPK importer accepts only non-encrypted, single-volume ZIP32 VPKs up to 512 MiB. No ZIP64, split or encrypted archives.
- The VPK importer targets ordinary homebrew LiveArea XML with a single editable liveitem per native frame. Complex existing multi-liveitem, animated, signed/protected and vendor-specific XML structures are not fully preserved.
- The native patcher may require enough free space for a complete additional VPK. It keeps the source VPK untouched and modifies a separate output.
- No end-to-end on-device test of the new native VPK editing flow has yet been performed. This is an experimental pre-release: retain your original archive and test patched VPKs on hardware before distributing.
Title ID: LIVAREA01. Web editor · Source and documentation
LiveArea Designer v1.23 (Multi-Frame Liveitems)
LiveArea Designer 1.23 - Independent Liveitems for Every Frame (experimental)
Main change
Preview Template now displays the actual liveitem content in each native RCO frame slot, instead of drawing one extra floating button rectangle over the template. Choose any frame and edit its own content; all configured frames remain visible together.
- Every native frame has an independent PNG/JPG image, color, transparency, aspect ratio, X/Y, width/height, optional text and target URI.
- Web: click a frame, choose FrameN image > Upload frame image, and edit its content. Drag within the selected frame, use the yellow resize handle, edit the numeric geometry or press Fit image to selected frame. Selecting another frame restores that frame's own saved artwork and settings.
- PS Vita: select the native frame in Preview Template, use the Colors / Images Settings tab to browse for its image, and drag/resize the selected frame's liveitem. SELECT toggles preview, Square cycles style, L cycles frame, Cross fits its liveitem. Rear touch is ignored.
- Native state is saved per-frame in
ux0:data/LiveAreaDesigner/settings.ini; images are cached at reduced preview resolution to limit memory use. - Multi-frame export:
template.xmlcontains the liveitem for every frame in the selected layout. Assets are namedframe1.png,frame2.png, etc. The web ZIP includes the completesce_sys/livearea/contents/tree; the Vita app exports toux0:data/LiveAreaDesigner/export/. - Existing settings/legacy single-button images are preserved and associated with the previously selected frame on the website.
Fixed system layout vs editable content
System frame slots are defined by the PS Vita firmware's RCO metadata and cannot be repositioned by template.xml. In this editor, move/resize applies to the liveitem inside a selected native slot, with clipping/bounds guidance. System chrome/animations remain illustrative.
Quality assurance
- VitaSDK v1.23 VPK compiled; VPK archive integrity checked.
- Native host tests verify independent per-frame INI save/reload and multiple frame entries in XML.
- 14 Node geometry/XML tests pass.
- Chrome desktop/mobile E2E tests pass, including two distinct uploaded frame images, different geometry/text per frame, IndexedDB persistence after reload, valid 5-frame XML, distinct exported PNG8 assets, and ZIP integrity.
- New native multi-frame rendering and export have not yet been validated in an on-device run, so this is an experimental pre-release.
Title ID: LIVAREA01. Online editor · Documentation
LiveArea Designer v1.22 (Native Template Layouts)
LiveArea Designer v1.22 - Native RCO Template Layout Preview
This update fixes a significant issue in v1.21: toggling Preview Template and switching between layout styles barely changed the appearance of the preview.
What changed
- 19 LiveArea styles with actual frame-slot geometry, reconstructed from the
layout_hintrecords in a PS Vita'svs0:/vsh/shell/livearea/*.rcoresources. Only numerical geometry is distributed; proprietary firmware files are not included. - Every frame is displayed in Preview Template with a selectable outline. Frame counts and positions really change by style (e.g.
a1/a2: 3 frames,a3/a4: 5 frames,a5: 7 frames). - The selected frame is highlighted in gold; a liveitem that does not fit is outlined in red.
- Web: click an available frame directly or choose one from the dynamically updated frame dropdown. Fit image to selected frame centers it and scales it down to fit. Live frame-relative X/Y offsets are shown below the preview.
- Native PS Vita: the editor and settings mini-preview now draw the same firmware slot geometry. Select a frame by tapping it, press Square to cycle styles, L to cycle the available frames, Cross to center/fit the liveitem, or SELECT to toggle the preview.
- XML: both editors calculate exported image X/Y relative to the selected frame center using firmware metadata, rather than the overall card center.
- Web stylesheet and module scripts carry the 1.22 version parameter to prevent stale browser caches from loading the old preview.
- Includes documented extraction/regeneration tools for obtaining slot metadata from your own PS Vita.
QA
- VitaSDK v1.22 build succeeded and VPK ZIP integrity verified.
- Host C native geometry, XML and asset browser tests passed.
- 12 Node.js unit tests passed.
- Chrome desktop and mobile smoke tests passed, including 5 visually distinct
a1-a5renders, native frame selection, interactive drag, XML synchronization, persistence, and downloadable PNG8/ZIP checks.
Important limitations
The slot positions, sizes and gate centers come from Vita firmware metadata; system artwork, clipping rules and dynamic slots are still approximated. The new native renderer and final exported LiveArea package have not yet undergone an end-to-end PS Vita on-device validation. The release is intentionally marked as experimental.
Title ID: LIVAREA01. Existing installation/settings remain compatible.