@maccesar/titools 5.2.0 → 5.2.1

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 (78) hide show
  1. package/CONTRIBUTING.md +69 -0
  2. package/README.md +80 -72
  3. package/agents/ti-pro.md +1 -1
  4. package/commands/ti-audit.md +2 -2
  5. package/docs/examples.md +91 -0
  6. package/docs/knowledge-index.md +57 -0
  7. package/lib/downloader.js +1 -1
  8. package/package.json +4 -2
  9. package/skills/purgetss/references/multi-density-images.md +1 -1
  10. package/skills/ti-admob-unified/SKILL.md +21 -7
  11. package/skills/ti-admob-unified/assets/example/app.js +229 -25
  12. package/skills/ti-admob-unified/assets/example/lib/ads.js +30 -2
  13. package/skills/ti-admob-unified/assets/example/library-usage.js +33 -1
  14. package/skills/ti-admob-unified/references/api-reference.md +39 -16
  15. package/skills/ti-admob-unified/references/banners.md +9 -9
  16. package/skills/ti-admob-unified/references/contributing.md +14 -9
  17. package/skills/ti-admob-unified/references/dependencies.md +31 -25
  18. package/skills/ti-admob-unified/references/fullscreen.md +43 -28
  19. package/skills/ti-admob-unified/references/game-monetization.md +138 -7
  20. package/skills/ti-admob-unified/references/getting-started.md +75 -31
  21. package/skills/ti-admob-unified/references/index.md +5 -2
  22. package/skills/ti-admob-unified/references/integration.md +8 -6
  23. package/skills/ti-admob-unified/references/library.md +41 -10
  24. package/skills/ti-admob-unified/references/mediation-parity.md +17 -0
  25. package/skills/ti-admob-unified/references/mediation.md +22 -9
  26. package/skills/ti-admob-unified/references/migration.md +11 -7
  27. package/skills/ti-admob-unified/references/module-changelog.md +41 -11
  28. package/skills/ti-admob-unified/references/privacy.md +35 -8
  29. package/skills/ti-admob-unified/references/production.md +67 -0
  30. package/skills/ti-admob-unified/references/rewarded-interstitial.md +101 -0
  31. package/skills/ti-admob-unified/references/roadmap.md +28 -31
  32. package/skills/ti-admob-unified/references/source-notes.md +51 -4
  33. package/skills/ti-admob-unified/references/source-snapshot.json +249 -45
  34. package/skills/ti-admob-unified/references/third-party-notices.md +4 -4
  35. package/skills/ti-game/SKILL.md +23 -6
  36. package/skills/ti-game/references/api.md +34 -30
  37. package/skills/ti-game/references/debugging-performance.md +18 -9
  38. package/skills/ti-game/references/examples.md +103 -20
  39. package/skills/ti-game/references/input.md +101 -0
  40. package/skills/ti-game/references/patterns.md +39 -15
  41. package/skills/ti-game/references/physics.md +80 -52
  42. package/skills/ti-game/references/project-setup.md +118 -56
  43. package/skills/ti-game/references/recipes-action.md +107 -8
  44. package/skills/ti-game/references/recipes-adventure-effects.md +41 -9
  45. package/skills/ti-game/references/roadmap.md +10 -3
  46. package/skills/ti-game/references/source-notes.md +81 -0
  47. package/skills/ti-game/references/tilemaps.md +12 -4
  48. package/skills/ti-synthengine/SKILL.md +81 -95
  49. package/skills/ti-synthengine/assets/example/README.md +84 -0
  50. package/skills/ti-synthengine/assets/example/app.js +1178 -0
  51. package/skills/ti-synthengine/assets/example/lib/sequenceOwner.js +83 -0
  52. package/skills/ti-synthengine/assets/example/lib/sequenceScore.js +25 -0
  53. package/skills/ti-synthengine/references/advanced-examples.md +174 -0
  54. package/skills/ti-synthengine/references/android-sim80-correction-evidence.zip +0 -0
  55. package/skills/ti-synthengine/references/android-sim80-correction.json +162 -0
  56. package/skills/ti-synthengine/references/api.md +434 -380
  57. package/skills/ti-synthengine/references/audio-engine.md +157 -230
  58. package/skills/ti-synthengine/references/bypass-physical-recheck-evidence.zip +0 -0
  59. package/skills/ti-synthengine/references/examples.md +123 -253
  60. package/skills/ti-synthengine/references/frontier-android-evidence.zip +0 -0
  61. package/skills/ti-synthengine/references/frontier-ipad-evidence.zip +0 -0
  62. package/skills/ti-synthengine/references/frontier-physical-validation.json +1918 -0
  63. package/skills/ti-synthengine/references/guide.md +188 -156
  64. package/skills/ti-synthengine/references/performance-review-evidence.zip +0 -0
  65. package/skills/ti-synthengine/references/performance-review.json +1146 -0
  66. package/skills/ti-synthengine/references/physical-validation.json +1457 -0
  67. package/skills/ti-synthengine/references/recipes-interaction.md +549 -0
  68. package/skills/ti-synthengine/references/recipes.md +423 -599
  69. package/skills/ti-synthengine/references/recommendations.md +63 -113
  70. package/skills/ti-synthengine/references/sound-design.md +134 -258
  71. package/skills/ti-synthengine/references/source-notes.md +93 -105
  72. package/skills/ti-synthengine/references/source-snapshot.json +379 -32
  73. package/skills/ti-synthengine/references/stats-performance.md +64 -20
  74. package/skills/ti-synthengine/references/studio-validation.json +6202 -0
  75. package/skills/ti-synthengine/references/troubleshooting.md +109 -121
  76. package/skills/ti-synthengine/references/unified-bypass-performance.json +22425 -0
  77. package/skills/ti-synthengine/references/unified-validation.json +314 -0
  78. package/AGENTS-VERCEL-RESEARCH.md +0 -175
@@ -1,121 +1,109 @@
1
1
  # Maintaining the synthesis snapshot
2
2
 
3
- The eight official Markdown mirrors and raw statistics comparison are derived
4
- from the reviewed TiSynthEngine working tree based on the commit in
5
- [source-snapshot.json](source-snapshot.json). This snapshot includes uncommitted
6
- native statistics methods, tests and documentation. The commit identifies the
7
- base; it does not contain all reviewed content. `reviewed_worktree_sha256`
8
- records the reviewed dirty-state fingerprint, including tracked differences
9
- and untracked files. The checker verifies that fingerprint in addition to the
10
- individual source/mirror hashes. A match establishes fidelity to that source
11
- state; it does not establish that the source is correct, committed, published
12
- or installed in an app. A different dirty fingerprint requires a fresh review.
13
- Read the native contracts, command conversion and renderers when auditing
14
- behavior. The maintainer workflow is `titools-skill-auditor` in this repository.
3
+ These references mirror the **public TiSynthEngine 1.0.0 release** at
4
+ `e7cbbe8a6f9ab38088fd8029c7b43cef6501101f`, recorded in
5
+ [source-snapshot.json](source-snapshot.json). The clean local checkout and remote
6
+ main matched that commit on 2026-10-24. The repository is public; the Android
7
+ and iOS releases are published, neither draft nor prerelease. Module availability
8
+ is independent of publishing a new TiTools version.
9
+
10
+ ## Public downloads and artifact provenance
11
+
12
+ | Platform | Published release | Package SHA-256 |
13
+ | --- | --- | --- |
14
+ | Android | [android-1.0.0](https://github.com/macCesar/TiSynthEngine/releases/tag/android-1.0.0) | `cf3510f290eca6dd00e8e0742a7db4f09dd2b8c4ef9270ed1f34d30eb32389cf` |
15
+ | iOS / Mac Catalyst | [ios-1.0.0](https://github.com/macCesar/TiSynthEngine/releases/tag/ios-1.0.0) | `bc2e3f88c2945df721dd2196dfbb852c64aa98954b04460adf56ca41c75e6e91` |
16
+
17
+ Both platform tags and `v1.0.0` point at the reviewed commit; only the two
18
+ platform tags have GitHub release pages. Downloaded ZIPs were independently
19
+ hashed and inspected: module ID `ti.synthengine`, version `1.0.0`, minimum
20
+ Titanium `13.2.0.GA`; Android includes four ABIs and the Apple manifest enables
21
+ Mac Catalyst. See the [guide](guide.md) for Android API35 and iOS15 requirements,
22
+ app-root ZIP installation and both `tiapp.xml` declarations. These checks do not
23
+ constitute a fresh device installation or audio acceptance run.
15
24
 
16
25
  ## Sources and permitted transformations
17
26
 
18
- `api.md`, `audio-engine.md`, `examples.md`, `guide.md`, `recommendations.md`,
19
- `sound-design.md`, `troubleshooting.md` and `stats-performance.md` mirror the
20
- corresponding upstream `documentation/` files. `stats-performance.json` preserves
21
- the complete raw trials without Markdown transformations. These nine assets
22
- each record a full-source SHA-256 and final mirror SHA-256. Markdown provenance
23
- headers identify the working tree, base commit and full-source hash.
24
-
25
- Only these transformations are currently declared:
26
-
27
- - A provenance header and generated `TOC-START`/`TOC-END` navigation.
28
- - The upstream demo link in `examples.md` is rebased to the last committed
29
- `example/app.js` at the base commit. Its label explicitly distinguishes that
30
- demo from the pending statistics example in the reviewed working tree; a
31
- GitHub commit link cannot expose uncommitted changes. It requires access to
32
- the official module repository; the runnable app is not bundled here.
33
- - `examples.md` and `sound-design.md` retain their TiTools links to
34
- [curated recipes](recipes.md). These additions are recorded as reversible
35
- `link_fixes`, with the complete original and mirrored Markdown fragments.
36
-
37
- For Markdown mirrors, the snapshot test removes the header and generated
38
- navigation, reverses those fragments, and checks the full original source hash.
39
- The raw JSON is checked byte for byte. Update the declared
40
- transformations when an intentional source-derived edit is reviewed; never
41
- regenerate hashes merely to conceal an unexplained difference.
27
+ Eight official Markdown documents are mirrored into nine parts, including the
28
+ ordered examples/advanced-examples split. The current snapshot inventories all
29
+ complete JSON reports, bundled example assets and linked raw-evidence archives.
30
+ The new [performance review](performance-review.json) and its raw archive are
31
+ preserved alongside historical reports; none is replaced by a favorable summary.
32
+ Read snapshot records for exact counts and hashes. Example JavaScript and raw
33
+ reports/archives remain byte-identical to source.
34
+
35
+ Each Markdown part and the example README have a local-commit provenance header and recorded navigation transformations. Native-backed corrections to stale official prose are also declared as reversible `link_fixes`; the source hash still identifies the original official text, not the corrected mirror. Reversible `link_fixes` rebase links into the split advanced examples, preserve [curated recipes](recipes.md), and resolve current example links to bundled assets. The example README points back to this skill's current API and guides. All three example JavaScript files remain byte-identical to source; none requires a historical GitHub snapshot.
36
+
37
+ The fidelity regression strips provenance/navigation, concatenates example parts, reverses declared transformations and compares the complete source hash. Raw records must remain byte-identical. Update transformations intentionally; never change hashes merely to hide unexplained source drift.
42
38
 
43
39
  ## Protected curated content
44
40
 
45
- [recipes.md](recipes.md) is a TiTools contribution, not an official mirror.
46
- Preserve its recipes, lifecycle patterns and navigation during synchronization.
47
- Check every native option and envelope against the current contract. The
48
- rhythm tests execute the Markdown examples and assert their intended note
49
- onsets, lengths and cancellation behavior; they do not render audio.
50
-
51
- Do not remove either official mirror's curated recipe link just because the
52
- upstream source has no equivalent. The snapshot records these intentional
53
- differences so preservation and source fidelity can both be checked.
54
-
55
- ## Statistics scope and evidence
56
-
57
- The reviewed source adds `getStats()`, `resetStats()` and
58
- `setStatsEnabled(Boolean)` to the previous eight-method API. Detect support
59
- before using them with older 1.0.0 beta binaries; the version string alone does
60
- not identify the feature. Basic counters remain available without enabling
61
- diagnostics. Monotonic-clock render timing and signal measurements are optional
62
- and default off; missing/unmeasured fields stay `null`, distinct from measured
63
- zero. Android backend underrun, buffer and latency fields are independent of
64
- that diagnostics switch and remain best-effort. Poll at a modest rate and
65
- cancel polling with the owning screen/service.
66
-
67
- [stats-performance.md](stats-performance.md) and its
68
- [raw trials](stats-performance.json) document an Android native host comparison
69
- against the base engine, including variability and excluded costs. They do not
70
- run the iOS callback, JavaScript bridge or real device stream, and do not prove
71
- device CPU, battery, heat, latency or physical underrun behavior. Review the
72
- native statistics contract/publication and tests independently of the benchmark
73
- percentages; no zero-overhead or unchanged device-performance guarantee follows.
41
+ [Retro recipes](recipes.md) and [interaction/instrument recipes](recipes-interaction.md) are TiTools contributions. Preserve their acoustic intent, lifecycle ownership and entry links when upstream docs change. Their native sequence examples keep the original millisecond onsets and total envelopes through separate `duration` and `length`; no JavaScript timer schedules notes. The repeated chord is now one centered native chord sequence; the separate one-off layered chord retains its per-voice stereo pans.
42
+
43
+ Focused executable recipe tests inspect submitted intervals, envelope lengths, pitch and cancellation IDs. They do not render audio or measure native callback timing.
44
+
45
+ ## Current contract and acceptance boundaries
46
+
47
+ `start` configures one engine, up to 32 shared voices and one to four preallocated sequence slots. `playSequence` is the only successive-sound scheduler and returns a positive ID or zero. Sequence edits, state queries and cancellation name that ID. Global `setTempo` governs beat timing and synchronized modulation; millisecond sequences retain fixed times. Finite playback is the default, and circular patterns explicitly opt into looping.
48
+
49
+ Selective `music`, `effects`, `ui` and `ambience` categories feed one shared effect chain; an explicit per-voice send overrides category selection. Live spatial position, noise clock, low-pass cutoff and compatible continuous voice controls ramp over 10 ms while preserving history. Priorities protect higher-priority voices without reserved quotas. See the [API](api.md) for exact limits, source compatibility, return values and event delivery.
50
+
51
+ The [performance review](performance-review.json) documents the accepted
52
+ control-thread changes: partial sequence-bank preparation and removal of idle
53
+ allocations/orphan held-position metadata. The Apple rendering bundle was
54
+ rejected after a physical stereo regression, and production returned to the
55
+ stable callback. Earlier candidate timings and fidelity checks remain evidence
56
+ of that rejected candidate, not a promised Apple render speedup. Current matched
57
+ Apple bypass measurements and actual hardware/rate/block-size scope are in the
58
+ report; global performance acceptance remains open.
59
+
60
+ Historical statistics, Studio/unified transport, physical/Frontier measurements
61
+ and Android FIR8 correction reports keep their original artifact and acceptance
62
+ boundaries. The short Android Sim80 headphone result had zero backend xruns and
63
+ accepted listening; it does not close the distinct ten-minute maximum-load,
64
+ bypass, memory and strict Frontier presentation criteria. Current evidence and
65
+ rejected candidates must not be combined into a general pass. This skill update
66
+ did not rerun devices, install binaries or alter native source.
67
+
68
+ The October 23 native findings were independently rechecked against the
69
+ published source on October 24. These current differences remain explicit;
70
+ hash fidelity alone cannot establish them:
71
+
72
+ - iOS timed tone/chord command construction still rounds accepted zero attack
73
+ and release to at least one sample; Android preserves zero. Validator
74
+ acceptance does not establish identical sample envelopes.
75
+ - iOS early tempo/sequence/processing rejections and incompatible held spatial/
76
+ modulation edits can bypass rejection counters. Android also leaves some
77
+ unknown/retired sequence-stop returns uncounted. The recorded reason sum is
78
+ consistent with recorded totals, not a complete API-call rejection tally.
79
+ - Sequence cutoff coefficients currently refresh every 16 samples on Android
80
+ and every 8 samples on Apple; both use note length but do not promise identical
81
+ sample output. See [engine details](audio-engine.md).
82
+ - Android `getDefaults()` includes capabilities and additional limit metadata
83
+ that the current iOS dictionary omits. Both expose the corresponding APIs;
84
+ detect methods rather than requiring Android-only metadata flags. Sequence
85
+ intervals use different beat and millisecond ranges; see [API](api.md).
86
+ - Remaining stale official claims are corrected only where verified against
87
+ current native behavior, with exact reversible transformations. Corrections
88
+ already adopted upstream are removed from the transformation list.
89
+
90
+
91
+ These findings are skill corrections and module implementation findings, not
92
+ native fixes. No module code, public range or hardware acceptance was changed.
93
+ A validator corpus establishes accepted/rejected dictionaries, not sample-identical
94
+ rendering on a physical device. Consumer scenarios and exact native locators
95
+ are recorded in the maintainer's October 23 audit evidence.
74
96
 
75
97
  ## Upstream documents outside the mirror set
76
98
 
77
- The snapshot declares `documentation/index.md` and
78
- `documentation/third-party-notices.md` in `excluded_documents`, including each
79
- reviewed hash and reason. SKILL.md supplies the distributed navigation;
80
- dependency notices accompany the official module and native packages. This
81
- skill does not distribute Oboe, native binaries or KEMAR impulse responses.
82
- Changes or deletion of these excluded documents still require review. New
83
- upstream documents remain visible as new documents until reviewed and mapped
84
- or explicitly excluded; these records are not a blanket ignore rule.
99
+ The official index is replaced by this skill's task routing. Dependency/license notices remain in the official module and binary packages. Both are recorded with hashes and reasons in `excluded_documents`, so changed or newly added documents still require review.
85
100
 
86
101
  ## Verification after a reviewed update
87
102
 
88
- ```bash
89
- node scripts/verify-module-snapshot.mjs --skill ti-synthengine --source /path/to/TiSynthEngine
90
- node --test test/ti-synthengine.test.js test/ti-synthengine-recipes.test.js
103
+ Run the focused mirror/link and recipe tests, then:
104
+
105
+ ```sh
106
+ node scripts/verify-module-snapshot.mjs --source /path/to/TiSynthEngine --skill ti-synthengine
91
107
  ```
92
108
 
93
- Run these from TiTools. The checker is read-only: it reports source dirtiness,
94
- commit drift, source/mirror changes, missing files and new official documents.
95
- It never fetches, pulls or synchronizes. In the module checkout, also run the
96
- applicable official documentation, contract and DSP checks described in
97
- [audio-engine.md](audio-engine.md#regression-coverage).
98
-
99
- Regenerate navigation only after inspecting the generator's dry run. Refresh
100
- the snapshot's mirror hashes after navigation and declared additions are final.
101
- Before committing, inspect source differences and the distributed package;
102
- neither an old passing test count nor hash equality substitutes for that review.
103
-
104
- ## Native findings and acceptance boundaries
105
-
106
- At the 2026-10-14 audit, iOS command construction converted zero attack/release
107
- to at least one sample; Android preserved zero. The shared envelope therefore
108
- has a one-sample boundary difference. This remains an upstream implementation
109
- finding: no native changes were made during the documentation correction.
110
- Recheck command construction or rendered output before calling it resolved.
111
-
112
- Java/iOS corpus parity covers validator acceptance/reasons, not rendered
113
- samples. The shared FIR suite and Android host tests establish narrower DSP
114
- properties. Inspect their current assertions for rate endpoints and exact
115
- tail-history coverage rather than assuming every advertised case is tested.
116
- The JavaScript rhythm checks interpret submitted options; they are not native
117
- scheduler timing measurements.
118
-
119
- Device startup/route behavior, iOS rendering, headphone localization, CPU,
120
- battery and underruns need their own evidence. Contract-valid recipes are not
121
- automatically pleasant or perceptually well localized.
109
+ The verifier checks source/mirror hashes, exclusions, new documents, base HEAD and the exact tracked/untracked worktree fingerprint. Refresh that fingerprint only after the source changes are finished. No npm version, publication or native-device acceptance follows from this procedure.