v2.0.0 — Modern Titanium SDK 13.x branding pipeline
New preset -p ti-branding generates a complete modern Titanium branding asset set from a single master in one command. Works on both Alloy and Classic project layouts.
What's new
- New preset:
-p ti-branding— modern pipeline; auto-detects Alloy (app/) vs Classic (Resources/) layouts - Backward-compat alias:
-p alloy --modern— deprecated, will be removed in v3.0.0 - Output set: DefaultIcon.png (alpha) + DefaultIcon-ios.png (flat), Android adaptive triplet × 5, legacy ic_launcher.png × 5, ic_launcher.xml binder, marketplace artwork, optional notification + splash icons
New flags
| Flag | Default | Purpose |
|---|---|---|
--modern, --adaptive, --marketplace, --notification, --splash |
off | Select outputs (kitchen-sink with just -p ti-branding) |
--bg-color <hex> |
#FFFFFF |
Also auto-flattens marketplace artwork when explicitly provided |
--padding <pct> |
20 |
Android safe-zone per side (Material spec floor: 19.44%) |
--ios-padding <pct> |
8 |
iOS / marketplace aesthetic padding |
--cleanup-legacy |
off | Context-aware cleanup driven by tiapp.xml |
--aggressive |
off | Cleanup also removes ldpi density folders |
--in-place |
off | Overwrite project directly, skip .ti-branding/ staging |
--notes |
off | Print full tiapp.xml snippets (default: compact summary) |
--monochrome-master <path> |
— | Dedicated silhouette master for Android 13+ themed icons and notification |
--project, --output, --dry-run |
— | Standard project/output/preview controls |
Backward compatibility
-p alloy without modern flags keeps v1.x multi-scale pipeline unchanged. Not deprecated — different feature with no modern replacement.
Dependency
fast-xml-parser (~18KB, no native bindings) added for tiapp.xml parsing. Regex fallback if unavailable.
Tests
36 new tests (generators, tiapp-reader, cleanup-legacy buckets, CLI integration) + 60 existing passing.
Full changelog: CHANGELOG.md