@maccesar/titools 5.2.5 → 5.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/CONTRIBUTING.md +1 -1
  2. package/README.md +58 -97
  3. package/agents/ti-pro.md +4 -2
  4. package/commands/ti-audit.md +7 -5
  5. package/docs/examples.md +24 -13
  6. package/docs/knowledge-index.md +2 -1
  7. package/lib/config.js +1 -0
  8. package/package.json +1 -1
  9. package/skills/alloy-guides/SKILL.md +18 -179
  10. package/skills/alloy-guides/references/CLI_TASKS.md +17 -216
  11. package/skills/alloy-guides/references/CONCEPTS.md +27 -162
  12. package/skills/alloy-guides/references/CONTROLLERS.md +38 -236
  13. package/skills/alloy-guides/references/MODELS.md +47 -723
  14. package/skills/alloy-guides/references/MODELS_ADVANCED.md +21 -482
  15. package/skills/alloy-guides/references/VIEWS_DYNAMIC.md +12 -222
  16. package/skills/alloy-guides/references/VIEWS_STYLES.md +39 -358
  17. package/skills/alloy-guides/references/VIEWS_XML.md +36 -552
  18. package/skills/alloy-guides/references/WIDGETS.md +49 -127
  19. package/skills/alloy-howtos/SKILL.md +14 -169
  20. package/skills/alloy-howtos/references/best_practices.md +9 -113
  21. package/skills/alloy-howtos/references/cli_reference.md +18 -223
  22. package/skills/alloy-howtos/references/config_files.md +50 -133
  23. package/skills/alloy-howtos/references/debugging_troubleshooting.md +19 -63
  24. package/skills/alloy-howtos/references/samples.md +21 -138
  25. package/skills/ti-api/SKILL.md +10 -2
  26. package/skills/ti-api/references/api-android.md +36 -2
  27. package/skills/ti-api/references/api-app-platform.md +39 -3
  28. package/skills/ti-api/references/api-core.md +50 -18
  29. package/skills/ti-api/references/api-data-network.md +49 -35
  30. package/skills/ti-api/references/api-media.md +45 -27
  31. package/skills/ti-api/references/api-services.md +39 -9
  32. package/skills/ti-api/references/api-ui-android.md +33 -13
  33. package/skills/ti-api/references/api-ui-extras.md +41 -15
  34. package/skills/ti-api/references/api-ui-ios-animator.md +42 -26
  35. package/skills/ti-api/references/api-ui-ios.md +74 -2
  36. package/skills/ti-api/references/api-ui-lists.md +32 -16
  37. package/skills/ti-api/references/api-ui-text-input.md +34 -17
  38. package/skills/ti-api/references/api-ui-views.md +27 -1
  39. package/skills/ti-api/references/api-ui-windows-navigation.md +32 -18
  40. package/skills/ti-api/references/api-xml-global.md +66 -16
  41. package/skills/ti-create-release/SKILL.md +98 -0
  42. package/skills/ti-create-release/references/module-discovery.md +69 -0
  43. package/skills/ti-expert/references/adaptive-layouts.md +1 -1
  44. package/skills/ti-guides/SKILL.md +37 -76
  45. package/skills/ti-guides/references/advanced-data-and-images.md +122 -126
  46. package/skills/ti-guides/references/android-manifest.md +24 -83
  47. package/skills/ti-guides/references/app-distribution.md +31 -377
  48. package/skills/ti-guides/references/application-frameworks.md +127 -335
  49. package/skills/ti-guides/references/cli-reference.md +184 -633
  50. package/skills/ti-guides/references/commonjs-advanced.md +81 -231
  51. package/skills/ti-guides/references/compatibility-matrix.md +36 -75
  52. package/skills/ti-guides/references/hello-world.md +95 -70
  53. package/skills/ti-guides/references/hyperloop-native-access.md +52 -448
  54. package/skills/ti-guides/references/resources.md +174 -142
  55. package/skills/ti-guides/references/sdk-release-notes.md +28 -71
  56. package/skills/ti-guides/references/tiapp-config.md +222 -598
  57. package/skills/ti-howtos/SKILL.md +23 -123
  58. package/skills/ti-howtos/references/cross-platform-development.md +119 -324
  59. package/skills/ti-howtos/references/debugging-profiling.md +77 -445
  60. package/skills/ti-howtos/references/extending-titanium.md +199 -673
  61. package/skills/ti-howtos/references/local-data-sources.md +87 -300
  62. package/skills/ti-howtos/references/location-and-maps.md +86 -213
  63. package/skills/ti-howtos/references/media-apis.md +103 -223
  64. package/skills/ti-howtos/references/notification-services.md +86 -506
  65. package/skills/ti-howtos/references/remote-data-sources.md +97 -316
  66. package/skills/ti-howtos/references/using-modules.md +77 -133
  67. package/skills/ti-synthengine/SKILL.md +62 -111
  68. package/skills/ti-synthengine/assets/example/README.md +50 -59
  69. package/skills/ti-synthengine/assets/example/app.js +67 -65
  70. package/skills/ti-synthengine/assets/example/lib/sequenceOwner.js +39 -40
  71. package/skills/ti-synthengine/assets/example/lib/soundPreset.js +34 -0
  72. package/skills/ti-synthengine/assets/index.d.ts +122 -2
  73. package/skills/ti-synthengine/references/advanced-examples.md +4 -4
  74. package/skills/ti-synthengine/references/api.md +40 -18
  75. package/skills/ti-synthengine/references/audio-engine.md +15 -57
  76. package/skills/ti-synthengine/references/examples.md +63 -6
  77. package/skills/ti-synthengine/references/guide.md +61 -57
  78. package/skills/ti-synthengine/references/instruments-and-effects.md +15 -15
  79. package/skills/ti-synthengine/references/native-variation.md +53 -14
  80. package/skills/ti-synthengine/references/recipes-interaction.md +25 -20
  81. package/skills/ti-synthengine/references/recipes.md +19 -16
  82. package/skills/ti-synthengine/references/recommendations.md +12 -12
  83. package/skills/ti-synthengine/references/sound-api.md +197 -0
  84. package/skills/ti-synthengine/references/sound-design.md +7 -7
  85. package/skills/ti-synthengine/references/source-notes.md +62 -172
  86. package/skills/ti-synthengine/references/troubleshooting.md +17 -19
  87. package/skills/ti-synthengine/references/upgrade-2.0.0.md +40 -0
  88. package/skills/ti-ui/SKILL.md +28 -143
  89. package/skills/ti-ui/references/icons-and-splash-screens.md +74 -403
  90. package/skills/ti-ui/references/layouts-and-positioning.md +175 -402
  91. package/skills/ti-ui/references/listviews-and-performance.md +100 -703
  92. package/skills/ti-ui/references/platform-conventions.md +180 -0
  93. package/skills/ti-ui/references/user-interface.md +43 -0
  94. package/skills/alloy-guides/references/VIEWS_WITHOUT_CONTROLLERS.md +0 -102
  95. package/skills/alloy-howtos/references/custom_tags.md +0 -148
  96. package/skills/ti-guides/references/coding-best-practices.md +0 -149
  97. package/skills/ti-guides/references/javascript-primer.md +0 -414
  98. package/skills/ti-guides/references/reserved-words.md +0 -36
  99. package/skills/ti-guides/references/style-and-conventions.md +0 -103
  100. package/skills/ti-howtos/references/android-platform-deep-dives.md +0 -624
  101. package/skills/ti-howtos/references/automation-fastlane-appium.md +0 -96
  102. package/skills/ti-howtos/references/buffer-codec-streams.md +0 -162
  103. package/skills/ti-howtos/references/google-maps-v2.md +0 -172
  104. package/skills/ti-howtos/references/ios-map-kit.md +0 -149
  105. package/skills/ti-howtos/references/ios-platform-deep-dives.md +0 -611
  106. package/skills/ti-howtos/references/tutorials.md +0 -565
  107. package/skills/ti-howtos/references/web-content-integration.md +0 -287
  108. package/skills/ti-howtos/references/webpack-build-pipeline.md +0 -124
  109. package/skills/ti-synthengine/references/android-sim80-correction-evidence.zip +0 -0
  110. package/skills/ti-synthengine/references/android-sim80-correction.json +0 -162
  111. package/skills/ti-synthengine/references/audio-pipeline-validation.md +0 -19
  112. package/skills/ti-synthengine/references/bypass-physical-recheck-evidence.zip +0 -0
  113. package/skills/ti-synthengine/references/frontier-android-evidence.zip +0 -0
  114. package/skills/ti-synthengine/references/frontier-ipad-evidence.zip +0 -0
  115. package/skills/ti-synthengine/references/frontier-physical-validation.json +0 -1918
  116. package/skills/ti-synthengine/references/native-tone-repetition-validation.md +0 -59
  117. package/skills/ti-synthengine/references/native-variation-proposal.md +0 -182
  118. package/skills/ti-synthengine/references/native-variation-validation.md +0 -63
  119. package/skills/ti-synthengine/references/performance-review-evidence.zip +0 -0
  120. package/skills/ti-synthengine/references/performance-review.json +0 -1146
  121. package/skills/ti-synthengine/references/physical-validation.json +0 -1457
  122. package/skills/ti-synthengine/references/source-snapshot.json +0 -542
  123. package/skills/ti-synthengine/references/stats-performance.json +0 -2992
  124. package/skills/ti-synthengine/references/stats-performance.md +0 -82
  125. package/skills/ti-synthengine/references/studio-validation.json +0 -6202
  126. package/skills/ti-synthengine/references/unified-bypass-performance.json +0 -22425
  127. package/skills/ti-synthengine/references/unified-validation.json +0 -314
  128. package/skills/ti-ui/references/accessibility-deep-dive.md +0 -288
  129. package/skills/ti-ui/references/animation-and-matrices.md +0 -569
  130. package/skills/ti-ui/references/application-structures.md +0 -626
  131. package/skills/ti-ui/references/custom-fonts-styling.md +0 -549
  132. package/skills/ti-ui/references/event-handling.md +0 -401
  133. package/skills/ti-ui/references/gestures.md +0 -448
  134. package/skills/ti-ui/references/orientation.md +0 -374
  135. package/skills/ti-ui/references/platform-ui-android.md +0 -727
  136. package/skills/ti-ui/references/platform-ui-ios.md +0 -576
  137. package/skills/ti-ui/references/scrolling-views.md +0 -288
  138. package/skills/ti-ui/references/tableviews.md +0 -542
package/CONTRIBUTING.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Contributing to TiTools
2
2
 
3
- TiTools distributes thirteen Titanium SDK skills, a research agent and slash
3
+ TiTools distributes fourteen Titanium SDK skills, a research agent and slash
4
4
  commands through an npm CLI and a Claude Code marketplace plugin. Product
5
5
  content lives in `skills/`, `agents/` and `commands/`; CLI source lives in
6
6
  `bin/` and `lib/`. Both channels use this source tree.
package/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  </div>
8
8
 
9
- TiTools is a Titanium SDK toolkit for AI coding assistants. It ships 13 skills — 8 specialist skills (`ti-reuse-first`, `ti-expert`, `purgetss`, `ti-ui`, `ti-game`, `ti-game-assets`, `ti-synthengine`, `ti-admob-unified`) plus 5 documentation-mirror skills (`ti-api`, `ti-guides`, `ti-howtos`, `alloy-guides`, `alloy-howtos`) — a research agent, and reference files covering reuse and simplification, Titanium architecture, API reference, native how-tos, Alloy MVC, PurgeTSS styling and resource automation, UI/UX patterns, 2D games, and native sound synthesis.
9
+ TiTools is a Titanium SDK toolkit for AI coding assistants. It ships 14 skills — 9 specialist skills (`ti-reuse-first`, `ti-expert`, `purgetss`, `ti-ui`, `ti-game`, `ti-game-assets`, `ti-synthengine`, `ti-admob-unified`, `ti-create-release`) plus 5 documentation-mirror skills (`ti-api`, `ti-guides`, `ti-howtos`, `alloy-guides`, `alloy-howtos`) — a research agent, and reference files covering reuse and simplification, Titanium architecture, API reference, native how-tos, Alloy MVC, PurgeTSS styling and resource automation, UI/UX patterns, 2D games, and native sound synthesis.
10
10
 
11
11
  The reference files are maintained against official documentation whenever an official source exists, so the assistant can retrieve current framework behavior instead of guessing from generic training data. As of v5.0.0 those sources are the Titanium SDK's own API definitions and the rewritten guides at [titaniumsdk.com](https://titaniumsdk.com). [Where the references come from](#where-the-references-come-from) has the detail.
12
12
 
@@ -36,7 +36,7 @@ The fastest way to get started with Claude Code. One command to add the marketpl
36
36
  ```
37
37
 
38
38
  What you get:
39
- - All 13 TiTools skills (`ti-reuse-first`, `ti-expert`, `purgetss`, `ti-ui`, `ti-game`, `ti-game-assets`, `ti-synthengine`, `ti-admob-unified`, `ti-api`, `ti-guides`, `ti-howtos`, `alloy-guides`, `alloy-howtos`)
39
+ - All 14 TiTools skills (`ti-reuse-first`, `ti-expert`, `purgetss`, `ti-ui`, `ti-game`, `ti-game-assets`, `ti-synthengine`, `ti-admob-unified`, `ti-create-release`, `ti-api`, `ti-guides`, `ti-howtos`, `alloy-guides`, `alloy-howtos`)
40
40
  - ti-pro research agent
41
41
  - Session hook that auto-detects Titanium projects (`tiapp.xml`, Alloy, PurgeTSS, `ti.game`, `ti.synthengine`)
42
42
  - Slash commands: `/ti-check`, `/ti-new-screen`, `/ti-audit`
@@ -70,7 +70,7 @@ claude # or gemini, or codex
70
70
  ```
71
71
 
72
72
  What gets installed:
73
- - The 13 TiTools skills to `~/.agents/skills/`
73
+ - The 14 TiTools skills to `~/.agents/skills/`
74
74
  - ti-pro agent for Claude Code
75
75
  - Platform symlinks for Claude Code (Gemini CLI and Codex CLI auto-discover from `~/.agents/skills/` — no symlinks needed)
76
76
  - Knowledge index in your project's `AGENTS.md`/`CLAUDE.md`/`GEMINI.md`
@@ -172,19 +172,20 @@ The knowledge index is based on the latest Titanium SDK documentation. If your p
172
172
  | ti-ui | UI/UX patterns | Complex layouts, ListViews, platform UI |
173
173
  | ti-game | 2D games with the `ti.game` module | Sprites, physics, tile maps, HUDs, camera, focused keyboard/mouse/gamepad actions, Apple Metal/Catalyst |
174
174
  | ti-game-assets | Visual and sound assets | Image generation/editing, synthesis variants, stereo placement, alpha cleanup, manifests, parallax and complete exports |
175
- | ti-synthengine | Sound design with `ti.synthengine` | Tones, finite-tone repetition, chords, retro/UI effects, alarms, sweeps, ADSR, filters, FM, binaural positioning, held voices, native sequences, master effects, LFOs, statistics, bounded attack variation, seeds, TypeScript declarations, instrument/effect fidelity and troubleshooting |
175
+ | ti-synthengine | Sound design with `ti.synthengine` | TiSynth 2.0 reusable Sound presets, independent playback controls, tones/chords, held notes, native repetitions/patterns, ADSR, FM, filters, binaural positioning, shared effects, variation, TypeScript and troubleshooting |
176
176
  | ti-admob-unified | Advertising, privacy and mediation | Official `ti.admob.unified` guides, copy-ready library, banners/fullscreen, UMP/ATT and selected-provider configuration |
177
- | ti-api | Complete Titanium API reference | Looking up properties, methods, events |
177
+ | ti-create-release | Native module releases | Build and verify ZIPs, follow repository release conventions, publish authorized GitHub releases and configure directory discovery |
178
+ | ti-api | Titanium API lookup | Looking up properties, methods, events |
178
179
  | ti-guides | SDK fundamentals | tiapp.xml, Hyperloop, distribution, JDK/Xcode compatibility, release notes |
179
180
  | ti-howtos | Native feature integration | Location, push, media, platform APIs |
180
181
  | alloy-guides | Alloy MVC framework reference | Controllers, models, views, widgets |
181
- | alloy-howtos | Alloy CLI, configuration, debugging | alloy.jmk, config.json, custom XML tags |
182
+ | alloy-howtos | Alloy CLI, configuration, debugging | alloy.jmk, config.json, build constants and debugging |
182
183
 
183
184
  Notes:
184
- - The first eight (`ti-reuse-first`, `ti-expert`, `purgetss`, `ti-ui`, `ti-game`, `ti-game-assets`, `ti-synthengine`, `ti-admob-unified`) are specialist workflow skills reflecting TiTools' Titanium conventions and native-module contracts.
185
+ - The first nine (`ti-reuse-first`, `ti-expert`, `purgetss`, `ti-ui`, `ti-game`, `ti-game-assets`, `ti-synthengine`, `ti-admob-unified`, `ti-create-release`) are specialist workflow skills reflecting TiTools' Titanium conventions and native-module contracts.
185
186
  - `ti-reuse-first` runs before the others. It asks whether a thing needs to exist and what already does it — a search order that stops at the first rung that holds — and sweeps an existing `app/` for near-identical controllers, single-listener events, wrappers around one call, and layout recomputed in JavaScript. It is deliberately two-sided: it says when adding a module or a Widget is the right answer, so the bias does not simply invert.
186
187
  - `ti-game` documents the `ti.game` native module (2D sprite engine using OpenGL ES 2.0 on Android and Metal on iPhone, iPad and Mac Catalyst). Its API reference was verified against the module source and records the reviewed upstream commit and fork documentation snapshot; it applies to Alloy and Classic projects alike and does not depend on PurgeTSS.
187
- - `ti-synthengine` translates sound requests into checked JavaScript for published Android/iOS `ti.synthengine` 1.1.0 / API 1.1.0, with compatibility guidance for 1.0.2 / API 1.0.0. Its 25-method surface includes finite-tone repetition, held voices, identified native sequences, tempo, categories/sends, master effects, live controls and diagnostics. Two curated recipe guides cover retro cues and interactive instruments. Official-source mirrors, validation reports, bundled examples, TypeScript declarations and raw evidence retain provenance; verified corrections are applied to official source prose before mirroring. Source notes distinguish reviewed source commits, published artifacts, platform differences and scoped listening/performance evidence.
188
+ - `ti-synthengine` translates sound requests into checked JavaScript for published Android/iOS `ti.synthengine` 2.0.0. It covers reusable Sound definitions, independent held/repetition/pattern controls, atomic preset edits, temporary overrides, processing units and migration from supported direct methods. Practical references, curated recipes, runnable examples and TypeScript declarations support implementation and troubleshooting.
188
189
  - `ti-game-assets` treats images and sounds as essential game assets. It coordinates integrated `image_gen` artwork with `ti-synthengine` sound design, variants and stereo placement, and ships Pillow helpers for conservative alpha cleanup and per-world visual/audio manifests.
189
190
  - The latter five are documentation-mirror skills, audited against official sources via the internal `titools-skill-auditor`. See [Where the references come from](#where-the-references-come-from).
190
191
  - `purgetss` reference files are audited against the official PurgeTSS documentation and against the package source (the CLI and the generated `utilities.tss`), but its workflow conventions are opinionated.
@@ -193,24 +194,28 @@ Notes:
193
194
 
194
195
  ## Where the references come from
195
196
 
196
- The Titanium documentation was rewritten during 2026, and v5.0.0 moved TiTools onto the new sources. No skill, command or flag was renamed and the references answer the same questions. What changed is what they are checked against.
197
+ The Titanium documentation was rewritten during 2026, and v5.0.0 moved TiTools onto the new sources. The current guide and UI skills follow what the new official site publishes. Historical recipes that have not been ported are excluded from these skills.
197
198
 
198
199
  | Source | Feeds | Why it is the one |
199
200
  | ------------------------------------------------------------------------------------- | -------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
200
201
  | [`tidev/titanium-sdk`](https://github.com/tidev/titanium-sdk) → `apidoc/*.yml` | `ti-api` | The API definitions the SDK team edits. Every other copy of the API is compiled from these. |
201
- | [`tidev/titaniumsdk.com`](https://github.com/tidev/titaniumsdk.com) → `content/docs/` | `ti-guides`, `ti-howtos`, `alloy-guides`, `alloy-howtos` | The rewritten guides, and what [titaniumsdk.com](https://titaniumsdk.com) serves. |
202
+ | [`tidev/titaniumsdk.com`](https://github.com/tidev/titaniumsdk.com) → `content/docs/` | `ti-guides`, `ti-howtos`, `alloy-guides`, `alloy-howtos`, `ti-ui` | The rewritten guides, and what [titaniumsdk.com](https://titaniumsdk.com) serves. |
202
203
  | `tidev/titaniumsdk.com` → `registry/sdk/<version>/` | `ti-api`, as a cross-check | The API compiled per published release. It answers which version actually shipped an API, which the YAML alone cannot. |
203
- | [`tidev/titanium-docs`](https://github.com/tidev/titanium-docs) | all five, as an archive | The previous corpus, now frozen. Kept for what the rewrite left out. |
204
+ | [`tidev/titanium-docs`](https://github.com/tidev/titanium-docs) | historical provenance only | The previous corpus; excluded from current guide/UI content. |
204
205
 
205
206
  ### Why the API comes from the SDK
206
207
 
207
208
  The website does not write API documentation. It compiles it from `apidoc/*.yml` and commits the result, so it trails the SDK by construction. `ti-api` reads the YAML for what exists and the compiled registry for which release shipped it, and documents the newest GA rather than `main`. An API merged into the SDK today reaches these references when the release carrying it ships, because until then you cannot call it.
208
209
 
209
- ### The archive is additive
210
+ ### Current guides and API verification
210
211
 
211
- `tidev/titanium-docs` is frozen and being archived upstream. TiDev's own migration audit classifies its 336 guide pages as 121 rewritten, 121 merged, 2 kept and 92 archived. Of those 92, 91 are release notes and the last is the discontinued Atom package, so no guide topic was dropped. The difference is density: 1390 KB of legacy prose became 219 KB.
212
+ Use [llms.txt](https://titaniumsdk.com/llms.txt) to discover official routes and append `.md` to a guide URL to read its Markdown representation. The new documentation source is `tidev/titaniumsdk.com`.
212
213
 
213
- TiTools keeps the full corpus. The archive never overrides a live source on a question of fact, and nothing is deleted from a reference merely because the rewritten site no longer covers it. These skills still answer questions the official guides have not been rewritten to cover yet, such as the conditional `if=` attribute in Alloy XML and TSS, custom XML tags via `app/lib/`, and `alloy compile`.
214
+ `ti-guides`, `ti-howtos`, `alloy-guides`, `alloy-howtos` and `ti-ui` include current official guide topics. They do not supplement missing sections with the old `titanium-docs` corpus or unpublished community recipes. Topics can return when the official site publishes them.
215
+
216
+ A guide's scope does not guarantee every example is correct. References identify verified conflicts with released API/compiler contracts, including Alloy configuration precedence and hooks, notification registration and safe-area defaults. The core API baseline is SDK 13.4.1.GA, with explicit version links; unreleased SDK 14 features remain excluded. Native modules have independent versions and authorities.
217
+
218
+ PurgeTSS and the native-module skills retain their own official sources and declared curated resources. Their source policies are independent of the website migration.
214
219
 
215
220
  ---
216
221
 
@@ -220,14 +225,14 @@ In addition to skills, this repository includes sub-agents for Claude Code. Sub-
220
225
 
221
226
  ### ti-pro
222
227
 
223
- Deep-dive research specialist that can combine the complete 13-skill TiTools catalog.
228
+ Deep-dive research specialist that can combine the complete 14-skill TiTools catalog.
224
229
 
225
230
  | Aspect | Details |
226
231
  | ---------------- | ------------------------------------------- |
227
232
  | Location | `~/.claude/agents/ti-pro.md` |
228
233
  | Model | Sonnet (comprehensive analysis) |
229
234
  | Tools | Read, Grep, Glob, Bash |
230
- | Preloaded Skills | All 13 skills registered in `lib/config.js` |
235
+ | Preloaded Skills | All 14 skills registered in `lib/config.js` |
231
236
 
232
237
  When to use the agent vs skills:
233
238
 
@@ -269,7 +274,7 @@ TiTools provides slash commands for common tasks. Both channels ship them: the p
269
274
  These commands automatically invoke the relevant skills:
270
275
  - `/ti-check` reads `tiapp.xml`, validates declared native modules, and reports project health
271
276
  - `/ti-new-screen` uses `ti-expert` + `purgetss` to create properly structured files
272
- - `/ti-audit` routes all 13 skills: the reuse sweep first, core Titanium checks always, Alloy/PurgeTSS checks when detected, integration how-tos when used, `ti-game-assets` checks for game asset workflows, and `ti-game` / `ti-synthengine` / `ti-admob-unified` checks when those modules are declared
277
+ - `/ti-audit` routes all 14 skills: the reuse sweep first, core Titanium checks always, Alloy/PurgeTSS checks when detected, integration how-tos when used, `ti-game-assets` checks for game asset workflows, and `ti-game` / `ti-synthengine` / `ti-admob-unified` checks when those modules are declared
273
278
 
274
279
  ---
275
280
 
@@ -331,11 +336,12 @@ Why this matters:
331
336
  | Whether to build it at all | `ti-reuse-first`, first |
332
337
  | Architecture and UI | `ti-expert`, `ti-ui`, `purgetss` when configured |
333
338
  | Game assets | `ti-game-assets` for visual and sound creation, preparation and integration |
339
+ | Native module releases | `ti-create-release` when preparing or publishing a module release |
334
340
  | Native modules | `ti-game`, `ti-synthengine`, `ti-admob-unified` when declared or requested |
335
341
  | Exact SDK/API guidance | `ti-api`, `ti-guides`, `ti-howtos` |
336
342
  | Alloy MVC and tooling | `alloy-guides`, `alloy-howtos` for Alloy projects |
337
343
 
338
- All thirteen ship with TiTools; no second skill package is required.
344
+ All fourteen ship with TiTools; no second skill package is required.
339
345
 
340
346
  ---
341
347
 
@@ -546,51 +552,41 @@ frequency and pause/audio/input ownership remain application policies.
546
552
 
547
553
  ### ti-synthengine
548
554
 
549
- Sound design and synthesis with the public native `ti.synthengine` 1.1.0 release (public API 1.1.0) for Android and iOS. It adds `repeatTone`, `updateTone`, `stopTone`, `updateNote`, `enableStats` and `disableStats`, plus capability-gated native attack variation. Published 1.0.2 / API 1.0.0 remains documented for compatibility; it does not support repetition or variation. Read the [skill entry point](skills/ti-synthengine/SKILL.md) for task routing, exact API references and source provenance.
555
+ Sound design with public **TiSynth 2.0.0** for Android and iOS. Create reusable definitions with `createSound()`, then play finite effects, chords, held instruments, native repetitions or patterns. Returned controls own live edits and cancellation; definitions survive engine shutdown/start. Existing direct methods remain supported. Read the [skill entry point](skills/ti-synthengine/SKILL.md), [Sound interface](skills/ti-synthengine/references/sound-api.md) and [upgrade guide](skills/ti-synthengine/references/upgrade-2.0.0.md).
550
556
 
551
- Public repository: [macCesar/TiSynthEngine](https://github.com/macCesar/TiSynthEngine).
552
- Download [Android 1.1.0](https://github.com/macCesar/TiSynthEngine/releases/tag/android-1.1.0)
553
- and [iOS 1.1.0](https://github.com/macCesar/TiSynthEngine/releases/tag/ios-1.1.0),
557
+ Download [Android 2.0.0](https://github.com/macCesar/TiSynthEngine/releases/tag/android-2.0.0)
558
+ and [iOS 2.0.0](https://github.com/macCesar/TiSynthEngine/releases/tag/ios-2.0.0)
559
+ from [macCesar/TiSynthEngine](https://github.com/macCesar/TiSynthEngine),
554
560
  copy the ZIPs into the Titanium app root and follow the [installation guide](skills/ti-synthengine/references/guide.md).
555
- Requires Titanium SDK 13.2.0.GA+, Android compile API35+, and iOS 15+; the Apple package also supports Mac Catalyst.
561
+ Requires Titanium SDK 13.2.0.GA+, Android compile API 35+, and iOS 15+; the Apple package includes Mac Catalyst.
556
562
 
557
563
  When it activates:
564
+
558
565
  - `tiapp.xml` declares `ti.synthengine`, or code calls `require('ti.synthengine')`
559
- - Generated UI/game cues, instruments, alarms, chords, percussion, sweeps or binaural headphone placement
560
- - Finite-tone repetition and future-attack edits, held voices, simultaneous native sequences, shared tempo, selective effects/sends, priorities or live voice controls
561
- - Bounded native attack variation, deterministic seeds, complete effect playback or playable instrument adaptations
562
- - Rejected calls, startup glitches, voice/queue diagnostics, render-load measurements or source/artifact compatibility questions
566
+ - UI/game cues, instruments, alarms, chords, percussion, ADSR, sweeps, FM, filters or binaural placement
567
+ - Reusable Sound presets, atomic edits, native repetition/patterns, held-note controls or migration from direct methods
568
+ - Shared effects, routing/sends, native attack variation, gain staging or audio diagnostics
563
569
 
564
570
  Example prompts:
571
+
565
572
  ```
566
- "Create a short sci-fi laser that sweeps left to right with ti.synthengine."
567
- "Build a playable xylophone without retriggering a bar on every touchmove."
568
- "Move a held spatial motor and change its noise clock and low-pass cutoff without restarting it."
569
- "Run music and a victory cue as independent native sequences, then cancel only the cue."
570
- "Apply reverb to music while keeping UI dry, and change the global tempo."
571
- "Explain what the Android Sim80 headphone result proves about performance."
572
- "Vary repeated impacts natively on public 1.1.0 and retain a clean fallback on published 1.0.2."
573
- "Repeat the original swept shot with repeatTone, edit its interval and stop future attacks without truncating sounding shots."
574
- "Use updateNote and enableStats/disableStats, and check this recipe against the bundled TypeScript declarations."
573
+ "Create one reusable laser Sound and play it at each projectile's position."
574
+ "Build a playable xylophone with independent note controls and touch-cancellation cleanup."
575
+ "Repeat this complete swept shot natively, edit its interval and stop future attacks while sounding shots finish."
576
+ "Run music and a victory pattern independently, then cancel only the victory control."
577
+ "Migrate this app to createSound, getContract().version and setProcessing without changing envelopes or reverb time."
578
+ "Change future preset executions with set(), and update only this playing repetition."
575
579
  ```
576
580
 
577
581
  Key rules:
578
- - Native variation requires both capability and schema announcements; [ranges, seeds and loop behavior](skills/ti-synthengine/references/native-variation.md) are distinct from live edits
579
- - Preserve complete effects and layer gains when adapting or repeating them; read [instruments and effects](skills/ti-synthengine/references/instruments-and-effects.md)
580
- - Read constants and exact ranges from the API; strict option dictionaries reject invalid fields or conflicting pitch sources
581
- - Timed tone/chord `duration` includes release. Native sequence intervals and note lengths are separate; held voices release through their IDs
582
- - Use `repeatTone` for the original finite-tone renderer and `playSequence` for ordered scores; retain each accepted ID. `stopTone` preserves admitted finite attacks, while `stopSequence` releases its emitted voices. `stopAll()` is global panic
583
- - Native repetition requires its capability and methods, integer `intervalMs` 1–60,000, and capacity for overlaps. Its 32 slots are independent of sequence capacity; all attacks share the voice pool
584
- - `updateTone` preserves the next deadline, validates merged recipes and changes future attacks. Independent gameplay calls and intentionally JavaScript-timed finite bursts remain supported; clear app-owned timers during teardown
585
- - Use `updateNote`, `enableStats` and `disableStats` in new 1.1.0 code. `updateVoice` and `setStatsEnabled(Boolean)` remain deprecated equivalent aliases; feature-detect the aliases when supporting 1.0.2
586
- - `setTempo` drives beat-based transport and synchronized modulation; millisecond sequences keep fixed timing
587
- - `bus`/`applyTo` select processed categories; explicit `effectSend` overrides that selection. One shared chain and final limiter remain global
588
- - Held spatial position, noise clock and one-pole cutoff support compatible 10 ms updates. A stereo voice cannot become spatial through an update
589
- - Omit both spatial coordinates for stereo; zero coordinates enable binaural center. Do not combine binaural coordinates with stereo pan fields
590
- - Start after layout, keep one lifecycle owner, handle Boolean acceptance and tone/sequence IDs, release held notes and owned repetitions on cancellation, and shut down during teardown
591
- - Current platform metadata, zero-envelope and diagnostic differences are documented. Host checks and a short accepted listening scene do not establish complete physical maximum-load acceptance
592
-
593
- The [retro recipes](skills/ti-synthengine/references/recipes.md) and [interaction/instrument recipes](skills/ti-synthengine/references/recipes-interaction.md) preserve acoustic intent, overlap budgets and cleanup. The [official declarations](skills/ti-synthengine/assets/index.d.ts) provide TypeScript signatures alongside the runtime API. [Repetition validation](skills/ti-synthengine/references/native-tone-repetition-validation.md) separates native checks, transport storage and bounded host measurements from device/listening acceptance. [Source notes](skills/ti-synthengine/references/source-notes.md) identify the reviewed native commit and evidence limits.
582
+
583
+ - Put synthesis/routing in `sound` and pitch/type/timing in `playback`; execution overrides are flat. `set()` validates atomic future revisions and replaces arrays completely.
584
+ - Tone/chord playback returns Boolean acceptance; held, repeat and pattern playback return controls or `false`. Invalid Sound configurations throw descriptive errors. Keep controls with their interaction owners.
585
+ - Finite `duration` includes release. Pattern `interval` and `length` remain separate; repetitions preserve finite-envelope interpretation and use integer millisecond intervals.
586
+ - `setProcessing()` uses milliseconds for delay `time` and reverb `decay`. Direct `setMasterProcessing()` retains its original units. Runtime metadata uses `version`.
587
+ - Preserve grouped chord gains, layer levels, overlap budgets, stereo/spatial rules and native variation bounds. Use one engine owner and clean up notes, controls, listeners and polling during teardown.
588
+
589
+ The [retro recipes](skills/ti-synthengine/references/recipes.md) and [interaction recipes](skills/ti-synthengine/references/recipes-interaction.md) preserve acoustic intent and cleanup. [Instruments and effects](skills/ti-synthengine/references/instruments-and-effects.md) explains complete playback and adaptations. The [TypeScript declarations](skills/ti-synthengine/assets/index.d.ts) complement runtime validation. [Source notes](skills/ti-synthengine/references/source-notes.md) retain practical platform caveats; diagnose performance on the intended device and keep technical measurements separate from listening acceptance.
594
590
 
595
591
  ---
596
592
 
@@ -689,7 +685,7 @@ Behavior depends on where you run it:
689
685
  | With `--local` flag | Installs skills locally to `./.agents/skills/` in the current project |
690
686
 
691
687
  What it does:
692
- - Installs the 13 TiTools skills (global or local depending on context)
688
+ - Installs the 14 TiTools skills (global or local depending on context)
693
689
  - Installs ti-pro agent for Claude Code
694
690
  - Installs the `/ti-check`, `/ti-new-screen` and `/ti-audit` slash commands into `~/.claude/commands/`
695
691
  - Detects installed AI platforms and lets you choose which to link (only Claude Code needs platform symlinks; Gemini CLI and Codex CLI auto-discover from `~/.agents/skills/`)
@@ -850,45 +846,9 @@ titools --version # CLI version only
850
846
 
851
847
  ---
852
848
 
853
- ## Community-Discovered Patterns
854
-
855
- The TiTools skills include **Community-Discovered Patterns** — verified iOS behaviors not present in the official Titanium documentation. These sections are protected from removal during skill audits.
856
-
857
- ### Large Title + ScrollView (iOS)
858
-
859
- When using Large Titles with a ScrollView inside NavigationWindow or TabGroup, three Window properties must be set together. Without all three, the ScrollView content overlaps behind the navigation bar — or the large title renders with a visible delay.
860
-
861
- | Class | Property | Purpose |
862
- | -------------------------------- | ---------------------------- | ----------------------------------------------------- |
863
- | `auto-adjust-scroll-view-insets` | `autoAdjustScrollViewInsets` | Adjusts ScrollView insets to prevent content overlap |
864
- | `extend-edges-all` | `extendEdges` | Content extends behind bars (blur/translucent effect) |
865
- | `large-title-enabled` | `largeTitleEnabled` | Large title that collapses on scroll |
866
-
867
- **Recommended:** set the base properties as global Window defaults in `config.cjs`:
868
-
869
- ```js
870
- module.exports = {
871
- theme: {
872
- Window: {
873
- ios: {
874
- apply: 'auto-adjust-scroll-view-insets extend-edges-all status-bar-style-light-content'
875
- }
876
- }
877
- }
878
- };
879
- ```
880
-
881
- Then only add `large-title-enabled` per-window as needed:
882
-
883
- ```xml
884
- <Window title="Home" class="large-title-enabled">
885
- <ScrollView class="vertical w-screen" contentHeight="Ti.UI.SIZE">
886
- <!-- Content starts below the nav bar automatically -->
887
- </ScrollView>
888
- </Window>
889
- ```
849
+ ## Curated resources
890
850
 
891
- This pattern is documented across four bundled TiTools skills: `ti-ui`, `ti-expert`, `purgetss`, and `ti-api`, which covers the underlying Window properties.
851
+ Specialist skills such as PurgeTSS, native games and synthesis retain their declared practical resources and their own source authorities. The website-based guide/UI skills follow current official documentation only; they do not carry archived-only or community-only sections.
892
852
 
893
853
  ---
894
854
 
@@ -899,16 +859,17 @@ This pattern is documented across four bundled TiTools skills: `ti-ui`, `ti-expe
899
859
  | ti-reuse-first | Reuse Before You Write | 5 files (the ladder, Alloy reuse, indirection, PurgeTSS reuse, diagnostics) |
900
860
  | ti-expert | Architecture + Implementation | 27 files (patterns, feedback surfaces, file type association, sharing, testing, security, etc.) |
901
861
  | purgetss | Setup + Critical Rules | 39 files (Classic compatibility, grid, animations, icons, class-index, SVG pipeline, etc.) |
902
- | ti-ui | UI Rules + Platform Diffs | 14 files (layouts, lists, gestures, etc.) |
862
+ | ti-ui | UI Rules + Platform Diffs | 5 current official guides (native UI, layouts, lists, icons and platform conventions) |
903
863
  | ti-game | Native 2D Game Workflow | 12 files (API, input, source notes, setup, physics, patterns, recipes, tile maps, debugging, roadmap) |
904
864
  | ti-game-assets | Visual and Sound Assets | 10 guides and a manifest example; alpha and contract validation scripts |
905
865
  | ti-admob-unified | Unified Advertising | 20 Markdown references including production, rewarded interstitial, mediation parity, integration library guidance, provenance and game monetization; source/hash checks and official example assets |
906
- | ti-synthengine | Native Sound Synthesis | 18 Markdown references (15 official parts, 2 curated recipe guides, maintenance notes), official TypeScript declarations, complete validation reports/evidence and a reversible source hash manifest |
866
+ | ti-synthengine | Native Sound Synthesis | TiSynth 2.0 Sound interface and migration, native parameter reference, practical sound design/recipes, runnable example and TypeScript declarations |
867
+ | ti-create-release | Native Module Releases | Release workflow plus current module-directory discovery reference |
907
868
  | ti-api | Titanium API | 20 references for core/platform APIs and native modules |
908
- | ti-guides | SDK Fundamentals | 16 references for setup, configuration, CLI and distribution |
909
- | ti-howtos | Native Integrations | 18 references for platform features and integration workflows |
910
- | alloy-guides | Alloy MVC | 11 references for controllers, views, models, styling and widgets |
911
- | alloy-howtos | Alloy CLI and Debugging | 6 references for commands, configuration and practical workflows |
869
+ | ti-guides | SDK Fundamentals | 12 current references for setup, configuration, CLI and distribution |
870
+ | ti-howtos | Native Integrations | 9 current references for platform features and integration workflows |
871
+ | alloy-guides | Alloy MVC | 10 references for current Alloy guides and independently sourced PurgeTSS integration |
872
+ | alloy-howtos | Alloy CLI and Debugging | 5 current references for app workflows, configuration and debugging |
912
873
 
913
874
  ---
914
875
 
package/agents/ti-pro.md CHANGED
@@ -10,6 +10,7 @@ skills:
10
10
  - ti-game-assets
11
11
  - ti-synthengine
12
12
  - ti-admob-unified
13
+ - ti-create-release
13
14
  - ti-api
14
15
  - ti-guides
15
16
  - ti-howtos
@@ -30,11 +31,12 @@ When invoked, research complex topics by consulting the applicable skills from t
30
31
  - `ti-reuse-first` - Whether the thing should exist at all, and what already does it; duplication and dead-structure sweeps
31
32
  - `ti-expert` - Architecture, patterns, conventions
32
33
  - `purgetss` - Utility-first styling classes (optional add-on; use when the project already has it or the user asks about it)
33
- - `ti-ui` - UI/UX patterns, layouts, gestures
34
+ - `ti-ui` - Current official native UI, layout, list, icon and platform guides
34
35
  - `ti-game-assets` - Visual and sound asset contracts, raster generation, alpha/export validation, synthesis variants and stereo coordination when assets are involved
35
36
  - `ti-game` - Native `ti.game` architecture and API when the module is declared
36
- - `ti-synthengine` - Native synthesis, held voices, identified sequences/tempo, selective processing, live controls and platform/evidence limits when the module is declared or requested
37
+ - `ti-synthengine` - TiSynth 2.0 reusable Sound definitions, independent playback controls, direct-method migration, timing/processing units, synthesis and platform caveats when the module is declared or requested
37
38
  - `ti-admob-unified` - Official unified advertising/privacy/mediation module contract and provider setup when declared or requested
39
+ - `ti-create-release` - Native-module release-readiness and discovery research; read-only here, with publication reserved for an explicit user release request
38
40
  - `ti-api`, `ti-guides`, `ti-howtos` - Exact Titanium APIs, SDK fundamentals and native integrations
39
41
  - `alloy-guides`, `alloy-howtos` - Alloy MVC, CLI, configuration and compiler workflows when the project is Alloy
40
42
 
@@ -11,24 +11,26 @@ Core Titanium audit:
11
11
  2. Invoke `ti-expert` — check architecture, navigation ownership, event/timer cleanup, memory leaks, bridge pressure, testing boundaries, adaptive layouts and code conventions.
12
12
  3. Invoke `ti-guides` — check `tiapp.xml`, CommonJS/Hyperloop usage, Titanium CLI/build assumptions, memory and bridge guidance, distribution settings, and toolchain compatibility.
13
13
  4. Invoke `ti-api` — verify every audited `Ti.*` API, event, property, constant and third-party module call against its exact signature. Do not report a suspected API defect from memory.
14
- 5. Invoke `ti-ui` when the project creates Titanium UI — check layouts, list performance, event bubbling, gestures, animations, accessibility, orientation and platform-specific UI.
15
- 6. Invoke `ti-howtos` when the project implements a native integration such as location, maps, push, camera, media, SQLite, HTTPClient, WebView, intents, Keychain/iCloud, Hyperloop or CI/CD — audit the complete integration and platform setup, not only the JavaScript call site.
14
+ 5. Invoke `ti-ui` when the project creates Titanium UI — check current layout, list, icon/launch-screen and platform-convention guidance. Use `ti-api` for event, gesture, animation, accessibility and orientation contracts.
15
+ 6. Invoke `ti-howtos` when the project implements a native integration such as location, maps, push, camera, media, SQLite, HTTPClient, native modules, Hyperloop or CLI plugins — audit the complete integration and platform setup, not only the JavaScript call site.
16
16
 
17
17
  Project-type audit:
18
18
 
19
- 7. If the project is Alloy (`app/views/`, `app/controllers/`, `app/styles/`), invoke `alloy-guides` — check controllers, XML/TSS, models, collections, widgets, sync adapters and cleanup patterns.
20
- 8. If the Alloy project uses `alloy.jmk`, `config.json`, `widget.json`, conditional views, custom XML tags or Alloy CLI workflows, invoke `alloy-howtos` — check configuration precedence, build hooks, generated structures and compilation/debugging conventions.
19
+ 7. If the project is Alloy (`app/views/`, `app/controllers/`, `app/styles/`), invoke `alloy-guides` — check controllers, XML/TSS, models, collections, widgets, persistence and cleanup patterns.
20
+ 8. If the Alloy project uses `alloy.jmk`, `config.json`, `widget.json`, conditional views or current Alloy CLI workflows, invoke `alloy-howtos` — check configuration precedence, build hooks, generated structures and compilation/debugging conventions.
21
21
  9. If the project uses PurgeTSS (`purgetss/`, `purgetss/config.cjs`, a PurgeTSS-generated `app.tss`, or `purgetss.{ui,colors,fonts}.js`), invoke `purgetss` and detect Alloy vs. Classic before applying findings. In Alloy, audit unsupported utility classes, padding on Views, unnecessary manual TSS, dynamic components, grids, icons and animations. In Classic, audit only the supported standalone asset/CommonJS commands and their `Resources/` outputs; do not require or recommend `alloy.jmk`, generated TSS, utility classes, or `$.UI.create()`.
22
22
 
23
23
  Native-module audit:
24
24
 
25
25
  10. If the project declares `ti.game`, invoke `ti-game` — check for sprites moved from timers instead of native properties, levels sized from `Ti.Platform.displayCaps` instead of the `resize` event, sprites added one by one instead of in one array, and timers or sounds left running when the window closes.
26
- 11. If the project declares `ti.synthengine`, invoke `ti-synthengine` — check exact option/pitch/envelope contracts, Boolean acceptance and positive sequence IDs, native successive-note scheduling, per-owner sequence cancellation, held-note release/cancellation and compatible live updates. Check shared tempo versus millisecond timing, category/send selection, overlap/priority budgets, one lifecycle owner, delayed startup and teardown. Consult current source notes before assuming platform metadata/envelopes or rejection diagnostics match; separate host/load reports from scoped physical listening acceptance.
26
+ 11. If the project declares `ti.synthengine`, invoke `ti-synthengine` — check the installed module's `version`, Sound preset structure, flat execution overrides, atomic definition edits, interpretation-specific option/pitch/envelope contracts and error handling. Distinguish finite Boolean acceptance from held/repetition/pattern controls or `false`; verify per-owner release/cancellation, pattern `end` listeners, shutdown invalidation and definition reuse. Check native timing versus JavaScript timers, finite duration versus pattern interval/length, `setProcessing` millisecond units versus direct processing units, shared tempo, category/send selection, variation, overlap/priority budgets and one lifecycle owner. Existing direct methods retain their identifiers/events/return contracts; audit against the path actually used. Consult practical platform caveats and separate runtime measurements from listening acceptance.
27
27
 
28
28
  12. If the project has game art/sound inventories or asset-generation/export workflows, invoke `ti-game-assets` — check contracts per set, master provenance/transparency, protected alpha cleanup, frame/pivot alignment, complete derived exports, parallax layers, sound variants and semantic event bindings. Consult `ti-game` and `ti-synthengine` equally in their applicable domains; do not require module installation or new sounds for an image-only task.
29
29
 
30
30
  13. If the project declares `ti.admob.unified`/mediation complements or uses this module, invoke `ti-admob-unified` — verify public release/platform requirements, consent/request eligibility/initialization, ATT status versus permission, test IDs, independent banner lifecycle and deliberate fullscreen ownership. Check rewarded interstitial's reward introduction, visible Skip, reward-event credit and pending-context cancellation. Use the production guide for app IDs, app-ads.txt, privacy entry points and account readiness. Separate linking, Google test ads, selected-provider delivery and physical acceptance; preserve game frequency and pause/audio/input policy.
31
31
 
32
+ For a native-module release-readiness review, consult `ti-create-release` in read-only mode to check source/artifact provenance and discovery metadata. An audit does not authorize publishing a release or changing GitHub metadata.
33
+
32
34
  If a conditional skill does not apply, record it as `not applicable` with the detected reason instead of inventing findings from it.
33
35
 
34
36
  Report findings grouped by severity: critical, warning, info.
package/docs/examples.md CHANGED
@@ -37,19 +37,21 @@ an audio or advertising module.
37
37
 
38
38
  ## Native synthesis — ti-synthengine
39
39
 
40
- - "Install the public TiSynthEngine 1.1.0 Android/iOS packages and start audio after the window layout settles."
41
- - "Move a held spatial motor, process only music with reverb, and stop one native sequence without cancelling unrelated sounds."
42
- - "Use native attack variation with public 1.1.0: bounded noise/filter ranges, deterministic seeds and an old-package fallback."
43
- - "Repeat this complete layered effect natively without changing its envelope, sweep timing or gains."
44
- - "Use repeatTone for this finite shot, edit its interval with updateTone, and stop future attacks with stopTone while sounding shots finish."
45
- - "Use updateNote and enableStats/disableStats, checking the bundled TypeScript declarations and a 1.0.2 alias fallback."
46
- - "Keep these three standalone playTone calls as an intentional finite JavaScript burst and cancel their timers when the owner closes."
47
-
48
- Use the [synthesis skill](../skills/ti-synthengine/SKILL.md) for exact options,
49
- public downloads, bundled TypeScript declarations and scoped performance evidence.
50
- Native finite-tone repetitions, ordered sequences, held voices and standalone
51
- JavaScript events have distinct ownership and timing contracts. Public 1.0.2 /
52
- API 1.0.0 lacks repetition and variation; detect support before enabling them.
40
+ - "Install the public TiSynthEngine 2.0.0 Android/iOS packages and start audio after the window layout settles."
41
+ - "Create a reusable laser Sound with flat per-shot pitch and position overrides."
42
+ - "Move a held spatial motor through its note control, then release it on touch cancellation."
43
+ - "Play music and a victory pattern independently; stop only the cue and wait for its end event before replacing it."
44
+ - "Repeat this complete layered effect natively without changing envelopes, sweep timing or gains."
45
+ - "Change a reusable preset with set(), reset an optional leaf with null and keep active executions unchanged."
46
+ - "Migrate playTone and setMasterProcessing to Sound objects and setProcessing, preserving timing and reverb units."
47
+ - "Add bounded native attack variation and diagnose voice pressure with enableStats/disableStats."
48
+
49
+ Use the [synthesis skill](../skills/ti-synthengine/SKILL.md) for checked Sound
50
+ presets, controls, public downloads and TypeScript declarations. Finite events,
51
+ held notes, native repetitions and patterns have distinct returns and cleanup.
52
+ The [upgrade guide](../skills/ti-synthengine/references/upgrade-2.0.0.md) maps
53
+ supported direct methods to the Sound interface and explains `version` metadata
54
+ and processing units.
53
55
 
54
56
  ## Advertising — ti-admob-unified
55
57
 
@@ -96,3 +98,12 @@ existing components, then check scene input, native audio ownership and cleanup
96
98
  using the appropriate references."
97
99
 
98
100
  See [how the knowledge index works](knowledge-index.md) for reference discovery.
101
+
102
+
103
+ ## Native module releases — ti-create-release
104
+
105
+ - "Prepare an iOS-only release of this Titanium module using its existing tag and build conventions."
106
+ - "Publish the agreed Android/iOS ZIPs from the verified source commit and check the module's discovery topics and description."
107
+ - "Review this fork's release readiness without publishing or changing GitHub metadata."
108
+
109
+ Use [the release skill](../skills/ti-create-release/SKILL.md) for artifact provenance, authorized publication and directory discovery. App-store releases use their own workflows.
@@ -25,7 +25,7 @@ and generating an index in a consuming app are separate operations.
25
25
 
26
26
  ## Choose the relevant skills
27
27
 
28
- The catalog contains thirteen public skills:
28
+ The catalog contains fourteen public skills:
29
29
 
30
30
  | Task | Skill |
31
31
  | --- | --- |
@@ -37,6 +37,7 @@ The catalog contains thirteen public skills:
37
37
  | Visual and sound asset production | `ti-game-assets` |
38
38
  | Native synthesis | `ti-synthengine` |
39
39
  | Unified advertising | `ti-admob-unified` |
40
+ | Native module releases and discovery | `ti-create-release` |
40
41
  | Exact Titanium APIs | `ti-api` |
41
42
  | SDK fundamentals | `ti-guides` |
42
43
  | Native integrations | `ti-howtos` |
package/lib/config.js CHANGED
@@ -38,6 +38,7 @@ export const SKILLS = [
38
38
  'ti-game-assets',
39
39
  'ti-synthengine',
40
40
  'ti-admob-unified',
41
+ 'ti-create-release',
41
42
  'ti-api',
42
43
  'ti-guides',
43
44
  'ti-howtos',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maccesar/titools",
3
- "version": "5.2.5",
3
+ "version": "5.4.0",
4
4
  "description": "Titanium SDK skills and agents for AI coding assistants, including native game and sound synthesis modules",
5
5
  "main": "lib/index.js",
6
6
  "type": "module",