@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
@@ -1,159 +1,44 @@
1
1
  ---
2
2
  name: ti-ui
3
- description: "Use when working with, reviewing, analyzing, or examining Titanium SDK UI/UX patterns and components — Titanium layouts, ListView/TableView performance optimization, event handling and bubbling, gestures (swipe, pinch), animations, accessibility (VoiceOver/TalkBack), orientation changes, custom fonts/icons, app icons/splash screens, or platform-specific UI (Action Bar, Navigation Bar). AUTO-DETECT: If tiapp.xml exists, invoke BEFORE creating or modifying any UI view, window, or layout. Titanium layouts (composite, vertical, horizontal) differ from web/CSS — never assume web layout behavior."
4
- argument-hint: "[component]"
5
- allowed-tools: Read, Grep, Glob, Edit, Write, Bash(node *)
3
+ description: 'Use when working with Titanium SDK native UI layouts, ListView or TableView, app icons and launch screens, navigation, tabs, Android back handling, safe areas, or platform-specific UI conventions in Classic or Alloy projects.'
6
4
  ---
7
5
 
8
- # Titanium SDK UI expert
6
+ # Titanium SDK user interface
9
7
 
10
- A practical guide to Titanium SDK UI. Covers layouts, event handling, animations, performance, and platform-specific components for iOS and Android.
8
+ Use the current official UI guides for Titanium Classic and Alloy. Titanium controls are native views; its layout system is shared across platforms and differs from CSS.
11
9
 
12
- > **When "new UI" means new files, run the `ti-reuse-first` skill first.** A new window, panel or dialog is often an existing one that needs a parameter, and a layout computed in JavaScript is often a TSS condition. This guide covers how to build whatever survives that question.
10
+ Before creating new UI files, use `ti-reuse-first` to check existing screens and components.
13
11
 
14
- ## Project detection
12
+ ## Required workflow
15
13
 
16
- > **️ℹ️ auto-detects titanium projects**
17
- > This skill detects Titanium projects and provides UI guidance.
18
- >
19
- > Detection happens automatically. You do not need to run a command.
20
- >
21
- > Titanium project indicator:
22
- > - `tiapp.xml` (required for all Titanium projects)
23
- >
24
- > Applicable to both:
25
- > - Alloy projects (app/ folder structure)
26
- > - Classic projects (Resources/ folder)
27
- >
28
- > Behavior based on detection:
29
- > - Titanium detected: Provide UI guidance for Alloy and Classic, ListView/TableView patterns, and platform differences
30
- > - Not detected: State this is for Titanium projects only and skip UI guidance
14
+ 1. Confirm the project has `tiapp.xml` and identify its selected SDK.
15
+ 2. Open the relevant reference below before giving instructions or editing UI.
16
+ 3. Cite the reference used as `[source: references/<file>.md]`. Read the linked release-specific API when a property, event, default or platform restriction matters.
17
+ 4. For a topic not covered by these guides, consult `ti-api` and the current official API. Do not reconstruct an unpublished guide from archived recipes or memory. Mark an unverified claim `FROM_MEMORY (unverified):` if it cannot be checked.
18
+ 5. Verify the affected layout on its intended platform before claiming visual correctness.
31
19
 
32
- ## Quick reference
20
+ ## Guide routing
33
21
 
34
- | Topic | Reference |
35
- | -------------------------------- | ----------------------------------------------------------------------- |
36
- | App structures | [application-structures.md](references/application-structures.md) |
37
- | Layouts, positioning, units | [layouts-and-positioning.md](references/layouts-and-positioning.md) |
38
- | Events, bubbling, lifecycle | [event-handling.md](references/event-handling.md) |
39
- | ScrollView vs ScrollableView | [scrolling-views.md](references/scrolling-views.md) |
40
- | TableView | [tableviews.md](references/tableviews.md) |
41
- | ListView templates, performance | [listviews-and-performance.md](references/listviews-and-performance.md) |
42
- | Touch, swipe, pinch, gestures | [gestures.md](references/gestures.md) |
43
- | Orientation handling | [orientation.md](references/orientation.md) |
44
- | Custom fonts, attributed strings | [custom-fonts-styling.md](references/custom-fonts-styling.md) |
45
- | Animations, 2D/3D matrices | [animation-and-matrices.md](references/animation-and-matrices.md) |
46
- | Icons, splash screens, densities | [icons-and-splash-screens.md](references/icons-and-splash-screens.md) |
47
- | Android action bar, themes | [platform-ui-android.md](references/platform-ui-android.md) |
48
- | iOS navigation, 3D Touch | [platform-ui-ios.md](references/platform-ui-ios.md) |
49
- | VoiceOver, TalkBack, a11y | [accessibility-deep-dive.md](references/accessibility-deep-dive.md) |
22
+ | Task | Reference |
23
+ | --- | --- |
24
+ | Native UI model and guide selection | [User interface](references/user-interface.md) |
25
+ | Composite, vertical, horizontal layouts; units, sizing, measurement | [Layout and positioning](references/layouts-and-positioning.md) |
26
+ | ListView templates, sections, items, events; choosing TableView | [Lists and tables](references/listviews-and-performance.md) |
27
+ | iOS and Android app icons, launch screens, app name | [Icons and launch screens](references/icons-and-splash-screens.md) |
28
+ | NavigationWindow, Android activities/back, bars, tabs, safe areas, platform branches | [Platform conventions](references/platform-conventions.md) |
50
29
 
51
- ## Critical rules
30
+ ## Sources and release scope
52
31
 
53
- ### Performance
54
- - Do not use `Ti.UI.SIZE` in ListViews. It causes jerky scrolling. Use fixed heights.
55
- - Prefer ListView over TableView for new apps with large datasets.
56
- - Batch updates with `applyProperties` to reduce bridge overhead.
57
- - Avoid WebView inside TableView. It kills scrolling performance.
32
+ These references follow the current [official UI documentation](https://titaniumsdk.com/docs/build/ui), maintained in [tidev/titaniumsdk.com](https://github.com/tidev/titaniumsdk.com/tree/main/content/docs/build/ui). Use the pages' `.md` versions when reading them with an agent. The guide corpus identifies SDK 13.4.1; SDK 14-only instructions require its released contracts before use.
58
33
 
59
- ### iOS accessibility
60
- - Do not set accessibility properties on container views. It blocks child interaction.
61
- - Do not set `accessibilityLabel` on text controls on Android. It overrides visible text.
62
-
63
- ### Layout
64
- - Use `dp` units for cross-platform consistency.
65
- - Android ScrollView is vertical or horizontal, not both. Set `scrollType`.
66
-
67
- ### Platform-specific properties
68
-
69
- > **🚨 critical: platform-specific properties require modifiers**
70
- > Using `Ti.UI.iOS.*` or `Ti.UI.Android.*` properties without platform modifiers will crash cross-platform compilation.
71
- >
72
- > Example of the damage:
73
- > ```javascript
74
- > // Wrong: adds Ti.UI.iOS to an Android build
75
- > const win = Ti.UI.createWindow({
76
- > statusBarStyle: Ti.UI.iOS.StatusBar.LIGHT_CONTENT
77
- > })
78
- > ```
79
- >
80
- > Correct approaches:
81
- >
82
- > Option 1: TSS modifier (Alloy projects):
83
- > ```tss
84
- > "#mainWindow[platform=ios]": {
85
- > statusBarStyle: Ti.UI.iOS.StatusBar.LIGHT_CONTENT
86
- > }
87
- > ```
88
- >
89
- > Option 2: Conditional code:
90
- > ```javascript
91
- > if (OS_IOS) {
92
- > $.mainWindow.statusBarStyle = Ti.UI.iOS.StatusBar.LIGHT_CONTENT
93
- > }
94
- > ```
95
- >
96
- > Properties that always require platform modifiers:
97
- > - iOS: `statusBarStyle`, `modalStyle`, `modalTransitionStyle`, any `Ti.UI.iOS.*`
98
- > - Android: `actionBar` config, any `Ti.UI.Android.*` constant
99
- >
100
- > For platform-specific UI patterns, see [platform-ui-ios.md](references/platform-ui-ios.md) and [platform-ui-android.md](references/platform-ui-android.md).
101
-
102
- ### Event management
103
- - Remove global listeners (`Ti.App`, `Ti.Gesture`, `Ti.Accelerometer`) on pause to save battery.
104
- - Input events bubble up. System events do not.
105
-
106
- ### App architecture
107
- - Limit tabs to 4 or fewer for better UX across platforms.
108
- - Use NavigationWindow for iOS hierarchical navigation.
109
- - Handle `androidback` to prevent unexpected exits.
110
-
111
- ## Platform differences summary
112
-
113
- | Feature | iOS | Android |
114
- | ---------------------- | ---------------------------- | ----------------------- |
115
- | 3D Matrix | Full support | No support |
116
- | Pinch gesture | Full support | Limited |
117
- | ScrollView | Bidirectional | Unidirectional |
118
- | TableView | Full support | Full support |
119
- | ListView | Full support | Full support |
120
- | Default template image | Left side | Right side |
121
- | ListView action items | Swipe actions | No |
122
- | Modal windows | Fills screen, covers tab bar | No effect (always full) |
123
- | Navigation pattern | NavigationWindow | Back button + Menu |
124
-
125
- ## UI design workflow
126
-
127
- 1. Choose app structure: tab-based or window-based
128
- 2. Pick a layout mode: composite, vertical, or horizontal
129
- 3. Decide sizing: `SIZE` or `FILL` based on component defaults
130
- 4. Plan events: bubbling, app-level events, lifecycle
131
- 5. Optimize performance: templates, batch updates
132
- 6. Apply accessibility per platform
133
- 7. Add motion: animations, 2D/3D transforms, transitions
134
-
135
- ## Searching references
136
-
137
- When you need specific patterns, grep these terms in the reference files:
138
- - App structure: `TabGroup`, `NavigationWindow`, `modal`, `execution context`, `androidback`
139
- - Layouts: `dp`, `Ti.UI.SIZE`, `Ti.UI.FILL`, `composite`, `vertical`, `horizontal`
140
- - Events: `addEventListener`, `cancelBubble`, `bubbling`, `Ti.App.fireEvent`
141
- - TableView: `TableView`, `TableViewRow`, `setData`, `appendRow`, `className`
142
- - ListView: `ItemTemplate`, `bindId`, `setItems`, `updateItemAt`, `marker`
143
- - Gestures: `swipe`, `pinch`, `longpress`, `shake`, `accelerometer`
144
- - Animation: `animate`, `create2DMatrix`, `create3DMatrix`, `autoreverse`
145
- - Fonts: `fontFamily`, `PostScript`, `createAttributedString`, `ATTRIBUTE_`
146
- - Icons/splash: `DefaultIcon`, `appicon`, `nine-patch`, `drawable`, `splash`, `iTunesArtwork`, `adaptive`
147
- - Android: `Action Bar`, `onCreateOptionsMenu`, `theme`, `Material3`, `talkback`
148
- - iOS: `3D Touch`, `Popover`, `SplitWindow`, `badge`, `NavigationWindow`
149
- - Accessibility: `accessibilityLabel`, `VoiceOver`, `TalkBack`, `accessibilityHidden`
34
+ The [release-specific API](https://titaniumsdk.com/docs/sdk/13.4.1) resolves property and platform details when a guide disagrees. In particular, iOS `Window.extendSafeArea` defaults to `true`; set `false` when content should stay within the safe area. PNG icons are the supported baseline here; do not assume a newer icon format works in SDK 13.4.1.
150
35
 
151
36
  ## Related skills
152
37
 
153
- For work beyond UI components, use these skills:
154
-
155
- | Task | Use this skill |
156
- | ----------------------------------------------- | -------------- |
157
- | Project architecture, services, memory cleanup | `ti-expert` |
158
- | Native features (camera, location, push, media) | `ti-howtos` |
159
- | Alloy MVC, data binding, widgets | `alloy-guides` |
38
+ | Task | Skill |
39
+ | --- | --- |
40
+ | Properties, methods, events, accessibility, gestures, animations and other UI API contracts | `ti-api` |
41
+ | Alloy views, styles and data binding | `alloy-guides` |
42
+ | Configuration, SDK setup and distribution | `ti-guides` |
43
+ | Location, media, notifications and other native integrations | `ti-howtos` |
44
+ | Existing component discovery | `ti-reuse-first` |