@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.
- package/CONTRIBUTING.md +1 -1
- package/README.md +58 -97
- package/agents/ti-pro.md +4 -2
- package/commands/ti-audit.md +7 -5
- package/docs/examples.md +24 -13
- package/docs/knowledge-index.md +2 -1
- package/lib/config.js +1 -0
- package/package.json +1 -1
- package/skills/alloy-guides/SKILL.md +18 -179
- package/skills/alloy-guides/references/CLI_TASKS.md +17 -216
- package/skills/alloy-guides/references/CONCEPTS.md +27 -162
- package/skills/alloy-guides/references/CONTROLLERS.md +38 -236
- package/skills/alloy-guides/references/MODELS.md +47 -723
- package/skills/alloy-guides/references/MODELS_ADVANCED.md +21 -482
- package/skills/alloy-guides/references/VIEWS_DYNAMIC.md +12 -222
- package/skills/alloy-guides/references/VIEWS_STYLES.md +39 -358
- package/skills/alloy-guides/references/VIEWS_XML.md +36 -552
- package/skills/alloy-guides/references/WIDGETS.md +49 -127
- package/skills/alloy-howtos/SKILL.md +14 -169
- package/skills/alloy-howtos/references/best_practices.md +9 -113
- package/skills/alloy-howtos/references/cli_reference.md +18 -223
- package/skills/alloy-howtos/references/config_files.md +50 -133
- package/skills/alloy-howtos/references/debugging_troubleshooting.md +19 -63
- package/skills/alloy-howtos/references/samples.md +21 -138
- package/skills/ti-api/SKILL.md +10 -2
- package/skills/ti-api/references/api-android.md +36 -2
- package/skills/ti-api/references/api-app-platform.md +39 -3
- package/skills/ti-api/references/api-core.md +50 -18
- package/skills/ti-api/references/api-data-network.md +49 -35
- package/skills/ti-api/references/api-media.md +45 -27
- package/skills/ti-api/references/api-services.md +39 -9
- package/skills/ti-api/references/api-ui-android.md +33 -13
- package/skills/ti-api/references/api-ui-extras.md +41 -15
- package/skills/ti-api/references/api-ui-ios-animator.md +42 -26
- package/skills/ti-api/references/api-ui-ios.md +74 -2
- package/skills/ti-api/references/api-ui-lists.md +32 -16
- package/skills/ti-api/references/api-ui-text-input.md +34 -17
- package/skills/ti-api/references/api-ui-views.md +27 -1
- package/skills/ti-api/references/api-ui-windows-navigation.md +32 -18
- package/skills/ti-api/references/api-xml-global.md +66 -16
- package/skills/ti-create-release/SKILL.md +98 -0
- package/skills/ti-create-release/references/module-discovery.md +69 -0
- package/skills/ti-expert/references/adaptive-layouts.md +1 -1
- package/skills/ti-guides/SKILL.md +37 -76
- package/skills/ti-guides/references/advanced-data-and-images.md +122 -126
- package/skills/ti-guides/references/android-manifest.md +24 -83
- package/skills/ti-guides/references/app-distribution.md +31 -377
- package/skills/ti-guides/references/application-frameworks.md +127 -335
- package/skills/ti-guides/references/cli-reference.md +184 -633
- package/skills/ti-guides/references/commonjs-advanced.md +81 -231
- package/skills/ti-guides/references/compatibility-matrix.md +36 -75
- package/skills/ti-guides/references/hello-world.md +95 -70
- package/skills/ti-guides/references/hyperloop-native-access.md +52 -448
- package/skills/ti-guides/references/resources.md +174 -142
- package/skills/ti-guides/references/sdk-release-notes.md +28 -71
- package/skills/ti-guides/references/tiapp-config.md +222 -598
- package/skills/ti-howtos/SKILL.md +23 -123
- package/skills/ti-howtos/references/cross-platform-development.md +119 -324
- package/skills/ti-howtos/references/debugging-profiling.md +77 -445
- package/skills/ti-howtos/references/extending-titanium.md +199 -673
- package/skills/ti-howtos/references/local-data-sources.md +87 -300
- package/skills/ti-howtos/references/location-and-maps.md +86 -213
- package/skills/ti-howtos/references/media-apis.md +103 -223
- package/skills/ti-howtos/references/notification-services.md +86 -506
- package/skills/ti-howtos/references/remote-data-sources.md +97 -316
- package/skills/ti-howtos/references/using-modules.md +77 -133
- package/skills/ti-synthengine/SKILL.md +62 -111
- package/skills/ti-synthengine/assets/example/README.md +50 -59
- package/skills/ti-synthengine/assets/example/app.js +67 -65
- package/skills/ti-synthengine/assets/example/lib/sequenceOwner.js +39 -40
- package/skills/ti-synthengine/assets/example/lib/soundPreset.js +34 -0
- package/skills/ti-synthengine/assets/index.d.ts +122 -2
- package/skills/ti-synthengine/references/advanced-examples.md +4 -4
- package/skills/ti-synthengine/references/api.md +40 -18
- package/skills/ti-synthengine/references/audio-engine.md +15 -57
- package/skills/ti-synthengine/references/examples.md +63 -6
- package/skills/ti-synthengine/references/guide.md +61 -57
- package/skills/ti-synthengine/references/instruments-and-effects.md +15 -15
- package/skills/ti-synthengine/references/native-variation.md +53 -14
- package/skills/ti-synthengine/references/recipes-interaction.md +25 -20
- package/skills/ti-synthengine/references/recipes.md +19 -16
- package/skills/ti-synthengine/references/recommendations.md +12 -12
- package/skills/ti-synthengine/references/sound-api.md +197 -0
- package/skills/ti-synthengine/references/sound-design.md +7 -7
- package/skills/ti-synthengine/references/source-notes.md +62 -172
- package/skills/ti-synthengine/references/troubleshooting.md +17 -19
- package/skills/ti-synthengine/references/upgrade-2.0.0.md +40 -0
- package/skills/ti-ui/SKILL.md +28 -143
- package/skills/ti-ui/references/icons-and-splash-screens.md +74 -403
- package/skills/ti-ui/references/layouts-and-positioning.md +175 -402
- package/skills/ti-ui/references/listviews-and-performance.md +100 -703
- package/skills/ti-ui/references/platform-conventions.md +180 -0
- package/skills/ti-ui/references/user-interface.md +43 -0
- package/skills/alloy-guides/references/VIEWS_WITHOUT_CONTROLLERS.md +0 -102
- package/skills/alloy-howtos/references/custom_tags.md +0 -148
- package/skills/ti-guides/references/coding-best-practices.md +0 -149
- package/skills/ti-guides/references/javascript-primer.md +0 -414
- package/skills/ti-guides/references/reserved-words.md +0 -36
- package/skills/ti-guides/references/style-and-conventions.md +0 -103
- package/skills/ti-howtos/references/android-platform-deep-dives.md +0 -624
- package/skills/ti-howtos/references/automation-fastlane-appium.md +0 -96
- package/skills/ti-howtos/references/buffer-codec-streams.md +0 -162
- package/skills/ti-howtos/references/google-maps-v2.md +0 -172
- package/skills/ti-howtos/references/ios-map-kit.md +0 -149
- package/skills/ti-howtos/references/ios-platform-deep-dives.md +0 -611
- package/skills/ti-howtos/references/tutorials.md +0 -565
- package/skills/ti-howtos/references/web-content-integration.md +0 -287
- package/skills/ti-howtos/references/webpack-build-pipeline.md +0 -124
- package/skills/ti-synthengine/references/android-sim80-correction-evidence.zip +0 -0
- package/skills/ti-synthengine/references/android-sim80-correction.json +0 -162
- package/skills/ti-synthengine/references/audio-pipeline-validation.md +0 -19
- package/skills/ti-synthengine/references/bypass-physical-recheck-evidence.zip +0 -0
- package/skills/ti-synthengine/references/frontier-android-evidence.zip +0 -0
- package/skills/ti-synthengine/references/frontier-ipad-evidence.zip +0 -0
- package/skills/ti-synthengine/references/frontier-physical-validation.json +0 -1918
- package/skills/ti-synthengine/references/native-tone-repetition-validation.md +0 -59
- package/skills/ti-synthengine/references/native-variation-proposal.md +0 -182
- package/skills/ti-synthengine/references/native-variation-validation.md +0 -63
- package/skills/ti-synthengine/references/performance-review-evidence.zip +0 -0
- package/skills/ti-synthengine/references/performance-review.json +0 -1146
- package/skills/ti-synthengine/references/physical-validation.json +0 -1457
- package/skills/ti-synthengine/references/source-snapshot.json +0 -542
- package/skills/ti-synthengine/references/stats-performance.json +0 -2992
- package/skills/ti-synthengine/references/stats-performance.md +0 -82
- package/skills/ti-synthengine/references/studio-validation.json +0 -6202
- package/skills/ti-synthengine/references/unified-bypass-performance.json +0 -22425
- package/skills/ti-synthengine/references/unified-validation.json +0 -314
- package/skills/ti-ui/references/accessibility-deep-dive.md +0 -288
- package/skills/ti-ui/references/animation-and-matrices.md +0 -569
- package/skills/ti-ui/references/application-structures.md +0 -626
- package/skills/ti-ui/references/custom-fonts-styling.md +0 -549
- package/skills/ti-ui/references/event-handling.md +0 -401
- package/skills/ti-ui/references/gestures.md +0 -448
- package/skills/ti-ui/references/orientation.md +0 -374
- package/skills/ti-ui/references/platform-ui-android.md +0 -727
- package/skills/ti-ui/references/platform-ui-ios.md +0 -576
- package/skills/ti-ui/references/scrolling-views.md +0 -288
- package/skills/ti-ui/references/tableviews.md +0 -542
|
@@ -1,542 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"module": "ti.synthengine",
|
|
3
|
-
"version": "1.1.0",
|
|
4
|
-
"repository": "https://github.com/macCesar/TiSynthEngine",
|
|
5
|
-
"commit": "ec04f4e634075c41b55f66279eabcd78b9652d58",
|
|
6
|
-
"reviewed_on": "2026-11-02",
|
|
7
|
-
"files": [
|
|
8
|
-
{
|
|
9
|
-
"source": "documentation/api.md",
|
|
10
|
-
"destination": "references/api.md",
|
|
11
|
-
"source_sha256": "b58d60cf38a96157e523722d1f9cb9508f785cc2de9c2c1ff306e328c77df9dc",
|
|
12
|
-
"mirrored_sha256": "b19142e8356eb80f62202bdf3bdd9c2fa0301ae205761e89f0f9dab981c26fb2",
|
|
13
|
-
"links": [],
|
|
14
|
-
"link_fixes": []
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
"source": "documentation/audio-engine.md",
|
|
18
|
-
"destination": "references/audio-engine.md",
|
|
19
|
-
"source_sha256": "3e7728703a9f82631f5c4ba2641b1a9735c0d3988ef9001b8e4a4f5e47d1818d",
|
|
20
|
-
"mirrored_sha256": "a43c94c7f72913438d529a1cbd8a13dcb6df0da317ee548b5064fdf587f7f5ab",
|
|
21
|
-
"links": [],
|
|
22
|
-
"link_fixes": [
|
|
23
|
-
{
|
|
24
|
-
"original_markdown": "The [performance review](../docs/validation/performance-review.json) separates measured host improvements, exact compatibility checks and pending device acceptance. Its [raw evidence](../docs/validation/performance-review-evidence.zip) retains rejected prototypes and the investigation of idle/stereo regressions. The Apple FIR, stable-control cache and exact idle-effects bypass were evaluated as one atomic candidate and then rejected after physical 32-stereo timing regressed. All three production changes were removed together; the full-score publication and control-memory fixes remain.",
|
|
25
|
-
"mirrored_markdown": "The [performance review](performance-review.json) separates measured host improvements, exact compatibility checks and pending device acceptance. Its [raw evidence](performance-review-evidence.zip) retains rejected prototypes and the investigation of idle/stereo regressions. The Apple FIR, stable-control cache and exact idle-effects bypass were evaluated as one atomic candidate and then rejected after physical 32-stereo timing regressed. All three production changes were removed together; the full-score publication and control-memory fixes remain."
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
"original_markdown": "The [Studio technical validation report](../docs/validation/studio-validation.json) records the calibration and corrected full-chain host benchmark, including failed deadline acceptance and pending device checks. Its host performance result must not be presented as hardware realtime acceptance.",
|
|
29
|
-
"mirrored_markdown": "The [Studio technical validation report](studio-validation.json) records the calibration and corrected full-chain host benchmark, including failed deadline acceptance and pending device checks. Its host performance result must not be presented as hardware realtime acceptance."
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
"original_markdown": "Public API 1.1.0 uses one renderer, at most 32 voices and capacity for 1-4 sequences. `bus` categories and per-voice sends share one effects chain. These API changes do not establish complete multiplatform ten-minute maximum-load acceptance; the measured iPad result and Android limits are recorded separately in [physical validation](../docs/validation/physical-validation.json) and [the performance summary](stats-performance.md). Host timing, bypass comparisons, memory accounting, actual Android/iOS builds and the remaining device/listening checks are separate evidence. The cited Studio and unified-transport benchmarks are historical observations. In the pre-variation layout, effects buffers at 192 kHz used approximately 13.1 MiB and four maximum-size triple-bank transports used 8,627,712 bytes (8.23 MiB), excluding renderer voices and queues. Version 1.1.0 grows those four transports to 9,537,152 bytes (9.10 MiB) on the measured 64-bit macOS layout, an increase of 909,440 bytes; see [variation storage measurements](native-variation-validation.md#storage-and-callback-work). These structure sizes are not a new whole-process or physical-device measurement. Total accounting must also include renderer voices/tails, command queues, effects, bridge/canonical options and recovery peaks. The 32 MiB additional-memory target remains a target, not a certified bound for version 1.1.0.",
|
|
33
|
-
"mirrored_markdown": "Public API 1.1.0 uses one renderer, at most 32 voices and capacity for 1-4 sequences. `bus` categories and per-voice sends share one effects chain. These API changes do not establish complete multiplatform ten-minute maximum-load acceptance; the measured iPad result and Android limits are recorded separately in [physical validation](physical-validation.json) and [the performance summary](stats-performance.md). Host timing, bypass comparisons, memory accounting, actual Android/iOS builds and the remaining device/listening checks are separate evidence. The cited Studio and unified-transport benchmarks are historical observations. In the pre-variation layout, effects buffers at 192 kHz used approximately 13.1 MiB and four maximum-size triple-bank transports used 8,627,712 bytes (8.23 MiB), excluding renderer voices and queues. Version 1.1.0 grows those four transports to 9,537,152 bytes (9.10 MiB) on the measured 64-bit macOS layout, an increase of 909,440 bytes; see [variation storage measurements](native-variation-validation.md#storage-and-callback-work). These structure sizes are not a new whole-process or physical-device measurement. Total accounting must also include renderer voices/tails, command queues, effects, bridge/canonical options and recovery peaks. The 32 MiB additional-memory target remains a target, not a certified bound for version 1.1.0."
|
|
34
|
-
}
|
|
35
|
-
]
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
"source": "documentation/examples.md",
|
|
39
|
-
"destination": "references/examples.md",
|
|
40
|
-
"source_sha256": "1b3be798d8f606381696d9e00cda330c11475402397e4760dcbc3041a39ef404",
|
|
41
|
-
"mirrored_sha256": "51d74ad017afe090cb0ef0596251026554fcdca5d75c7e844d4e18ece5c68d2e",
|
|
42
|
-
"links": [],
|
|
43
|
-
"link_fixes": [
|
|
44
|
-
{
|
|
45
|
-
"original_markdown": "Every snippet on this page uses the TiSynthEngine 1.1.0 contract. Unless a snippet includes startup code, it assumes the engine is already running.",
|
|
46
|
-
"mirrored_markdown": "Every snippet on this page uses the TiSynthEngine 1.1.0 contract. Unless a snippet includes startup code, it assumes the engine is already running.\n\nAdditional [curated recipes](recipes.md) provide application sound and interaction variants."
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
"original_markdown": "For interactive instruments and native processing, begin with [held motors](#sustained-game-motor), [native sequences](#native-sequence-with-chords-and-edits), [master processing](#chorus-delay-reverb-and-creative-saturation) or [two LFOs](#two-voice-lfos). Use matching official packages and check method availability before enabling a feature.",
|
|
50
|
-
"mirrored_markdown": "For interactive instruments and native processing, begin with [held motors](advanced-examples.md#sustained-game-motor), [native sequences](advanced-examples.md#native-sequence-with-chords-and-edits), [master processing](advanced-examples.md#chorus-delay-reverb-and-creative-saturation) or [two LFOs](advanced-examples.md#two-voice-lfos). Use matching official packages and check method availability before enabling a feature."
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
"original_markdown": "The startup example uses `ambient` for game/UI feedback. On iOS it respects silent mode and mixes with other apps. The module default is `playback`; Android validates either value without changing its output. Shut down before changing the policy. Use the [interactive session controls](../example/README.md#audio-session) to compare them.",
|
|
54
|
-
"mirrored_markdown": "The startup example uses `ambient` for game/UI feedback. On iOS it respects silent mode and mixes with other apps. The module default is `playback`; Android validates either value without changing its output. Shut down before changing the policy. Use the [interactive session controls](../assets/example/README.md#audio-session) to compare them."
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
"original_markdown": "Follow the [interactive demo setup and test checklist](../example/README.md) to run [`example/app.js`](../example/app.js). It includes headphone positioning, session selection, pattern completion/replacement and the statistics methods `getStats`, `enableStats`, `disableStats` and `resetStats`. For a service-level statistics recipe, see [read engine statistics](guide.md#read-engine-statistics).",
|
|
58
|
-
"mirrored_markdown": "Follow the [interactive demo setup and test checklist](../assets/example/README.md) to run [`example/app.js`](../assets/example/app.js). It includes headphone positioning, session selection, pattern completion/replacement and the statistics methods `getStats`, `enableStats`, `disableStats` and `resetStats`. For a service-level statistics recipe, see [read engine statistics](guide.md#read-engine-statistics)."
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
"original_markdown": "\n\n## Sustained game motor\n",
|
|
62
|
-
"mirrored_markdown": "\n\nContinue with [advanced examples](advanced-examples.md).\n## Sustained game motor\n"
|
|
63
|
-
}
|
|
64
|
-
],
|
|
65
|
-
"source_parts": [
|
|
66
|
-
"references/examples.md",
|
|
67
|
-
"references/advanced-examples.md"
|
|
68
|
-
]
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
"source": "documentation/examples.md",
|
|
72
|
-
"destination": "references/advanced-examples.md",
|
|
73
|
-
"source_sha256": "1b3be798d8f606381696d9e00cda330c11475402397e4760dcbc3041a39ef404",
|
|
74
|
-
"mirrored_sha256": "e41a547bfb6d23b8e3460092e64eb8292587e8d15863ba1abe30daf7bbc8f163",
|
|
75
|
-
"links": [],
|
|
76
|
-
"link_fixes": [],
|
|
77
|
-
"source_parts": [
|
|
78
|
-
"references/examples.md",
|
|
79
|
-
"references/advanced-examples.md"
|
|
80
|
-
]
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
"source": "documentation/guide.md",
|
|
84
|
-
"destination": "references/guide.md",
|
|
85
|
-
"source_sha256": "0edc2fb8bccb4412d80e00d63a5a631b455d0ede6178c16642e63e37ce3dd77e",
|
|
86
|
-
"mirrored_sha256": "ccc8e263b9c7a09811bb116aad758bd6e847b2f6a567c35129bd86466e5b7aa2",
|
|
87
|
-
"links": [],
|
|
88
|
-
"link_fixes": [
|
|
89
|
-
{
|
|
90
|
-
"original_markdown": "Release on touch end and cancellation as well as ordinary key up. Retry a rejected release twice at 16 ms outside the audio callback, then shut down and report failure if publication remains blocked. Cancel retries during teardown. The [held motor example](examples.md#sustained-game-motor) implements this ownership policy. For pause/owner close, invalidate app scheduling and shut down; require a new start before future notes.",
|
|
91
|
-
"mirrored_markdown": "Release on touch end and cancellation as well as ordinary key up. Retry a rejected release twice at 16 ms outside the audio callback, then shut down and report failure if publication remains blocked. Cancel retries during teardown. The [held motor example](advanced-examples.md#sustained-game-motor) implements this ownership policy. For pause/owner close, invalidate app scheduling and shut down; require a new start before future notes."
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
"original_markdown": "`setMasterProcessing` merges partial updates, validates the entire result and returns publication acceptance. Continuous controls ramp over 10 ms. Disabling an effect closes input gradually and keeps its tail, bounded to 30 seconds with a final fade, then restores exact bypass. It does not undo a non-unity input gain. `stopAll` invalidates histories and stops every native sequence; `shutdown` stops the stream and frees its buffers. See the [processing example](examples.md#chorus-delay-reverb-and-creative-saturation) and [field ranges](api.md#setmasterprocessingoptions).",
|
|
95
|
-
"mirrored_markdown": "`setMasterProcessing` merges partial updates, validates the entire result and returns publication acceptance. Continuous controls ramp over 10 ms. Disabling an effect closes input gradually and keeps its tail, bounded to 30 seconds with a final fade, then restores exact bypass. It does not undo a non-unity input gain. `stopAll` invalidates histories and stops every native sequence; `shutdown` stops the stream and frees its buffers. See the [processing example](advanced-examples.md#chorus-delay-reverb-and-creative-saturation) and [field ranges](api.md#setmasterprocessingoptions)."
|
|
96
|
-
},
|
|
97
|
-
{
|
|
98
|
-
"original_markdown": "Delay and LFO sync follow global `setTempo` (initially 120); free settings retain milliseconds or hertz. The two extra voice LFOs target filter cutoff, square PWM or sine FM, with sine/triangle waves. They are independent of `lfoFreq`/`lfoDepth` pitch vibrato. See [two LFOs](examples.md#two-voice-lfos).",
|
|
99
|
-
"mirrored_markdown": "Delay and LFO sync follow global `setTempo` (initially 120); free settings retain milliseconds or hertz. The two extra voice LFOs target filter cutoff, square PWM or sine FM, with sine/triangle waves. They are independent of `lfoFreq`/`lfoDepth` pitch vibrato. See [two LFOs](advanced-examples.md#two-voice-lfos)."
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
"original_markdown": "See the [complete field contract](api.md#getstats), [measurement limits](stats-performance.md) and [interactive statistics controls](../example/README.md#statistics).",
|
|
103
|
-
"mirrored_markdown": "See the [complete field contract](api.md#getstats), [measurement limits](stats-performance.md) and [interactive statistics controls](../assets/example/README.md#statistics)."
|
|
104
|
-
},
|
|
105
|
-
{
|
|
106
|
-
"original_markdown": "The diagnostics include `preLimiterPeakDb` (maximum signal before final limiting, in dBFS) and `maxLimiterReductionDb` (greatest limiter attenuation in dB) accumulated since reset. Unlike the approximately 200 ms window reduction field, brief peaks remain visible between UI polls. Enable measurements, reset before the scenario and keep `null`/absent fields distinct from measured zero. The [measurement example](examples.md#measure-peaks-and-limiter-reduction) shows opt-in polling and cleanup.",
|
|
107
|
-
"mirrored_markdown": "The diagnostics include `preLimiterPeakDb` (maximum signal before final limiting, in dBFS) and `maxLimiterReductionDb` (greatest limiter attenuation in dB) accumulated since reset. Unlike the approximately 200 ms window reduction field, brief peaks remain visible between UI polls. Enable measurements, reset before the scenario and keep `null`/absent fields distinct from measured zero. The [measurement example](advanced-examples.md#measure-peaks-and-limiter-reduction) shows opt-in polling and cleanup."
|
|
108
|
-
}
|
|
109
|
-
]
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
"source": "documentation/recommendations.md",
|
|
113
|
-
"destination": "references/recommendations.md",
|
|
114
|
-
"source_sha256": "f72c3df9c36df0cbdb843bbe2c6799ae537324ece499fe6d1a2de80e43df5261",
|
|
115
|
-
"mirrored_sha256": "56f6783408dee02778b5ff1aa20751254740286c3dbafb46654def0ed5182f94",
|
|
116
|
-
"links": [],
|
|
117
|
-
"link_fixes": [
|
|
118
|
-
{
|
|
119
|
-
"original_markdown": "Fixed input/event gain does not decrease when unrelated voices start. If level dips, inspect `maxLimiterReductionDb` and `preLimiterPeakDb`, then consider same-pitch phase cancellation or the device's speaker protection. Eight coherent independent voices can still exceed the limiter threshold; module capacity is not a clean-mix loudness guarantee. See [measurement example](examples.md#measure-peaks-and-limiter-reduction).",
|
|
120
|
-
"mirrored_markdown": "Fixed input/event gain does not decrease when unrelated voices start. If level dips, inspect `maxLimiterReductionDb` and `preLimiterPeakDb`, then consider same-pitch phase cancellation or the device's speaker protection. Eight coherent independent voices can still exceed the limiter threshold; module capacity is not a clean-mix loudness guarantee. See [measurement example](advanced-examples.md#measure-peaks-and-limiter-reduction)."
|
|
121
|
-
},
|
|
122
|
-
{
|
|
123
|
-
"original_markdown": "Measure the complete workload on each target device, including held voices, binaural, LFOs, all enabled effects and tails. The [historical statistics benchmark](stats-performance.md) predates these features; the [current technical report](../docs/validation/studio-validation.json) includes an unmet full-chain host deadline criterion. Neither is a guarantee of game-frame rate, physical audio deadlines, heat or battery life.\n",
|
|
124
|
-
"mirrored_markdown": "Measure the complete workload on each target device, including held voices, binaural, LFOs, all enabled effects and tails. The [historical statistics benchmark](stats-performance.md) predates these features; the [current technical report](studio-validation.json) includes an unmet full-chain host deadline criterion. Neither is a guarantee of game-frame rate, physical audio deadlines, heat or battery life.\n"
|
|
125
|
-
}
|
|
126
|
-
]
|
|
127
|
-
},
|
|
128
|
-
{
|
|
129
|
-
"source": "documentation/sound-design.md",
|
|
130
|
-
"destination": "references/sound-design.md",
|
|
131
|
-
"source_sha256": "ac3f4552065051bc5291d8838945ed256ad3b0da7857e1f1cb5f54f5962ebfae",
|
|
132
|
-
"mirrored_sha256": "7daf9a50dbac8eabcdb5c69079d78c0747aefa7602f24c1c66c1536faa6edbdc",
|
|
133
|
-
"links": [],
|
|
134
|
-
"link_fixes": [
|
|
135
|
-
{
|
|
136
|
-
"original_markdown": "# Sound design with TiSynthEngine",
|
|
137
|
-
"mirrored_markdown": "# Sound design with TiSynthEngine\n\nAdditional [curated recipes](recipes.md) provide application sound and interaction variants."
|
|
138
|
-
},
|
|
139
|
-
{
|
|
140
|
-
"original_markdown": "Choose a held voice when the ending follows a player action instead of a fixed duration: motor, charge beam, pad or the last chord of a ceremony. `noteOn` starts a positive app-owned ID; `noteOff` begins release from the current level, and compatible `updateNote` edits ramp over 10 ms. Distinct IDs remain independent events with fixed gain. Reserve enough capacity for their releases and unrelated effects, and release on cancellation as well as ordinary key up. See the [held motor recipe](examples.md#sustained-game-motor) for retry/cleanup handling.",
|
|
141
|
-
"mirrored_markdown": "Choose a held voice when the ending follows a player action instead of a fixed duration: motor, charge beam, pad or the last chord of a ceremony. `noteOn` starts a positive app-owned ID; `noteOff` begins release from the current level, and compatible `updateNote` edits ramp over 10 ms. Distinct IDs remain independent events with fixed gain. Reserve enough capacity for their releases and unrelated effects, and release on cancellation as well as ordinary key up. See the [held motor recipe](advanced-examples.md#sustained-game-motor) for retry/cleanup handling."
|
|
142
|
-
},
|
|
143
|
-
{
|
|
144
|
-
"original_markdown": "The two additional voice LFOs move filter cutoff, square PWM or sine FM index using sine/triangle shapes. Cutoff movement creates slow breathing or rhythmic filtering; PWM adds changing harmonic color; a small FM-index modulation varies brightness. Free rates reach 20 Hz, and synced rates follow native transport tempo. These slots are separate from pitch vibrato. Avoid deep/high-rate modulation with strong resonance or high-frequency FM; safe parameter clamping does not guarantee a pleasant or alias-free sound. The [two-LFO example](examples.md#two-voice-lfos) shows a filtered PWM pad.",
|
|
145
|
-
"mirrored_markdown": "The two additional voice LFOs move filter cutoff, square PWM or sine FM index using sine/triangle shapes. Cutoff movement creates slow breathing or rhythmic filtering; PWM adds changing harmonic color; a small FM-index modulation varies brightness. Free rates reach 20 Hz, and synced rates follow native transport tempo. These slots are separate from pitch vibrato. Avoid deep/high-rate modulation with strong resonance or high-frequency FM; safe parameter clamping does not guarantee a pleasant or alias-free sound. The [two-LFO example](advanced-examples.md#two-voice-lfos) shows a filtered PWM pad."
|
|
146
|
-
},
|
|
147
|
-
{
|
|
148
|
-
"original_markdown": "All processors are off initially, with input gain 1. Enable one shared chain through `setMasterProcessing`; select `applyTo` categories such as `music` and `ambience` to keep explosions dry. Per-voice `effectSend` overrides that category selection. [Configuration](examples.md#chorus-delay-reverb-and-creative-saturation) and [exact ranges](api.md#setmasterprocessingoptions) explain chorus, delay, reverb and optional saturation.",
|
|
149
|
-
"mirrored_markdown": "All processors are off initially, with input gain 1. Enable one shared chain through `setMasterProcessing`; select `applyTo` categories such as `music` and `ambience` to keep explosions dry. Per-voice `effectSend` overrides that category selection. [Configuration](advanced-examples.md#chorus-delay-reverb-and-creative-saturation) and [exact ranges](api.md#setmasterprocessingoptions) explain chorus, delay, reverb and optional saturation."
|
|
150
|
-
}
|
|
151
|
-
]
|
|
152
|
-
},
|
|
153
|
-
{
|
|
154
|
-
"source": "documentation/troubleshooting.md",
|
|
155
|
-
"destination": "references/troubleshooting.md",
|
|
156
|
-
"source_sha256": "37fd3173ccfce393ab354713df66fbcc99c7281131ea45de1b3aae1e2d6f2160",
|
|
157
|
-
"mirrored_sha256": "e38bec8838cfda912fd16610d92c13e9395e65d5794ac02a58bff39a7b79c5aa",
|
|
158
|
-
"links": [],
|
|
159
|
-
"link_fixes": [
|
|
160
|
-
{
|
|
161
|
-
"original_markdown": "Check Boolean returns. A full public queue can reject `noteOff`; retry twice at 16 ms outside render, then shut down/report if still rejected. Cancel those retries on owner teardown. The [held motor example](examples.md#sustained-game-motor) implements this policy. Touch cancellation, pause and close need cleanup as well as normal key up.",
|
|
162
|
-
"mirrored_markdown": "Check Boolean returns. A full public queue can reject `noteOff`; retry twice at 16 ms outside render, then shut down/report if still rejected. Cancel those retries on owner teardown. The [held motor example](advanced-examples.md#sustained-game-motor) implements this policy. Touch cancellation, pause and close need cleanup as well as normal key up."
|
|
163
|
-
},
|
|
164
|
-
{
|
|
165
|
-
"original_markdown": "Enable diagnostics, reset deliberately, then inspect `preLimiterPeakDb` and `maxLimiterReductionDb`. They retain the native pre-limiter peak and greatest attenuation since reset, including brief interventions between UI polls. `limiterReductionDb` is a window measurement and can return to zero sooner. Older packages may omit the accumulated fields; disabled/unmeasured diagnostics return `null`. See [measurement example](examples.md#measure-peaks-and-limiter-reduction).",
|
|
166
|
-
"mirrored_markdown": "Enable diagnostics, reset deliberately, then inspect `preLimiterPeakDb` and `maxLimiterReductionDb`. They retain the native pre-limiter peak and greatest attenuation since reset, including brief interventions between UI polls. `limiterReductionDb` is a window measurement and can return to zero sooner. Older packages may omit the accumulated fields; disabled/unmeasured diagnostics return `null`. See [measurement example](advanced-examples.md#measure-peaks-and-limiter-reduction)."
|
|
167
|
-
}
|
|
168
|
-
]
|
|
169
|
-
},
|
|
170
|
-
{
|
|
171
|
-
"source": "documentation/stats-performance.md",
|
|
172
|
-
"destination": "references/stats-performance.md",
|
|
173
|
-
"source_sha256": "085142b6ade7b4f7b5965f6a638f967fdceba5ab1f26fb85e8cb496d5b886b6a",
|
|
174
|
-
"mirrored_sha256": "037c3b8a99c5eea1cc133e4b0418268617d904d6fd5848da0a95a0d52f442340",
|
|
175
|
-
"links": [],
|
|
176
|
-
"link_fixes": [
|
|
177
|
-
{
|
|
178
|
-
"original_markdown": "[Unified validation evidence](../docs/validation/unified-validation.json) records native binary hashes, contract and regression results, the five-rate ten-minute simulated transport clock test, consumer checks and remaining acceptance work. Nine reference renders and thirty rate/wave cases match the archived renderer sample for sample with the new functions inactive. The effects history optimization also preserves its five-rate render hashes.",
|
|
179
|
-
"mirrored_markdown": "[Unified validation evidence](unified-validation.json) records native binary hashes, contract and regression results, the five-rate ten-minute simulated transport clock test, consumer checks and remaining acceptance work. Nine reference renders and thirty rate/wave cases match the archived renderer sample for sample with the new functions inactive. The effects history optimization also preserves its five-rate render hashes."
|
|
180
|
-
},
|
|
181
|
-
{
|
|
182
|
-
"original_markdown": "[Unified bypass measurements](../docs/validation/unified-bypass-performance.json) retain the complete matched trials against `937e774`, with four sequence slots preallocated in the current engine. Initial stereo regressions prompted changes to inactive voice scans, send ramps, constant controls and compiler inlining. These are measurements of the Android callback on macOS, not iOS callback or physical output results.",
|
|
183
|
-
"mirrored_markdown": "[Unified bypass measurements](unified-bypass-performance.json) retain the complete matched trials against `937e774`, with four sequence slots preallocated in the current engine. Initial stereo regressions prompted changes to inactive voice scans, send ramps, constant controls and compiler inlining. These are measurements of the Android callback on macOS, not iOS callback or physical output results."
|
|
184
|
-
},
|
|
185
|
-
{
|
|
186
|
-
"original_markdown": "A later source-frozen recheck includes the physical-phase constant-control and exact Android FIR optimizations. Three configurations remain within the screening limits. One-voice stereo still exceeds the total-time screen after the same warmed ten-pair protocol (+3.49% total, +1.73% p95). A focused layout comparison restored the previous voice offsets but improved total time by less than 0.5%, so that candidate was rejected. This latest-source host screen remains open. The [complete recheck and layout trials](../docs/validation/bypass-physical-recheck-evidence.zip) and summary in the JSON report preserve this result separately from the earlier source.",
|
|
187
|
-
"mirrored_markdown": "A later source-frozen recheck includes the physical-phase constant-control and exact Android FIR optimizations. Three configurations remain within the screening limits. One-voice stereo still exceeds the total-time screen after the same warmed ten-pair protocol (+3.49% total, +1.73% p95). A focused layout comparison restored the previous voice offsets but improved total time by less than 0.5%, so that candidate was rejected. This latest-source host screen remains open. The [complete recheck and layout trials](bypass-physical-recheck-evidence.zip) and summary in the JSON report preserve this result separately from the earlier source."
|
|
188
|
-
},
|
|
189
|
-
{
|
|
190
|
-
"original_markdown": "[Physical validation evidence](../docs/validation/physical-validation.json) records the device protocol, measurements and remaining acceptance work. The isolated diagnostic uses separate app identifiers and preserves the applications' saved data. Its callback histogram and memory queries exist only in temporary instrumented module copies; they are excluded from production packages. Reproduction tools are in `tools/device-validation/`.",
|
|
191
|
-
"mirrored_markdown": "[Physical validation evidence](physical-validation.json) records the device protocol, measurements and remaining acceptance work. The isolated diagnostic uses separate app identifiers and preserves the applications' saved data. Its callback histogram and memory queries exist only in temporary instrumented module copies; they are excluded from production packages. Reproduction tools are in `tools/device-validation/`."
|
|
192
|
-
},
|
|
193
|
-
{
|
|
194
|
-
"original_markdown": "[Frontier physical measurements](../docs/validation/frontier-physical-validation.json) cover Arcade and simulations starting with 20 or 80 large asteroids on both devices. The [iPad raw reports](../docs/validation/frontier-ipad-evidence.zip) retain actual Metal presentation timestamps; the [Android raw reports](../docs/validation/frontier-android-evidence.zip) retain SurfaceFlinger presentations aligned with native realtime/monotonic clocks. Arcade and simulation20 satisfy the predefined equivalent-load coverage and presentation/FPS limits. Strict simulation80 matching reaches 47.5% coverage on iPad and 45% on Android against the required 50%, so those comparisons remain inconclusive. Exploratory matching remains separate from the primary result; no causal audio-driven FPS improvement is claimed.",
|
|
195
|
-
"mirrored_markdown": "[Frontier physical measurements](frontier-physical-validation.json) cover Arcade and simulations starting with 20 or 80 large asteroids on both devices. The [iPad raw reports](frontier-ipad-evidence.zip) retain actual Metal presentation timestamps; the [Android raw reports](frontier-android-evidence.zip) retain SurfaceFlinger presentations aligned with native realtime/monotonic clocks. Arcade and simulation20 satisfy the predefined equivalent-load coverage and presentation/FPS limits. Strict simulation80 matching reaches 47.5% coverage on iPad and 45% on Android against the required 50%, so those comparisons remain inconclusive. Exploratory matching remains separate from the primary result; no causal audio-driven FPS improvement is claimed."
|
|
196
|
-
},
|
|
197
|
-
{
|
|
198
|
-
"original_markdown": "The [Android Sim80 correction](../docs/validation/android-sim80-correction.json) reuses FIR coefficients across eight consecutive samples of a voice while preserving partial-sum rounding, sequence boundaries, mix order, ramps and tails. Stereo output and other Android ABIs retain their previous render path. In the short headphone diagnostic at 48 kHz/256 frames, with the same 512-frame output buffer and volume120/160, the corrected candidate reached 32 voices/25 tails and reported zero output xruns. CPU p95 occupied [96.5%,97.0%) of the deadline; 80 CPU-timed and 104 wall-timed callbacks still exceeded one block deadline. Output buffering absorbed those overruns in this run. Cesar then accepted live manual Sim80 with headphones as clean, without perceptible distortion. This is acceptance of that short scene, not the ten-minute maximum-load render criterion. The [raw correction reports](../docs/validation/android-sim80-correction-evidence.zip) retain the original, intermediate and corrected captures separately. Private PCM/profiling interfaces remain excluded from production packages. Full multiplatform acceptance remains open.",
|
|
199
|
-
"mirrored_markdown": "The [Android Sim80 correction](android-sim80-correction.json) reuses FIR coefficients across eight consecutive samples of a voice while preserving partial-sum rounding, sequence boundaries, mix order, ramps and tails. Stereo output and other Android ABIs retain their previous render path. In the short headphone diagnostic at 48 kHz/256 frames, with the same 512-frame output buffer and volume120/160, the corrected candidate reached 32 voices/25 tails and reported zero output xruns. CPU p95 occupied [96.5%,97.0%) of the deadline; 80 CPU-timed and 104 wall-timed callbacks still exceeded one block deadline. Output buffering absorbed those overruns in this run. Cesar then accepted live manual Sim80 with headphones as clean, without perceptible distortion. This is acceptance of that short scene, not the ten-minute maximum-load render criterion. The [raw correction reports](android-sim80-correction-evidence.zip) retain the original, intermediate and corrected captures separately. Private PCM/profiling interfaces remain excluded from production packages. Full multiplatform acceptance remains open."
|
|
200
|
-
},
|
|
201
|
-
{
|
|
202
|
-
"original_markdown": "This is a historical statistics-only comparison, before sustained voices, native sequence transport, master effects and the two additional voice LFOs. It is not a performance measurement of those features. See [current technical validation](../docs/validation/studio-validation.json) for newer evidence and its device/deadline limits.",
|
|
203
|
-
"mirrored_markdown": "This is a historical statistics-only comparison, before sustained voices, native sequence transport, master effects and the two additional voice LFOs. It is not a performance measurement of those features. See [current technical validation](studio-validation.json) for newer evidence and its device/deadline limits."
|
|
204
|
-
},
|
|
205
|
-
{
|
|
206
|
-
"original_markdown": "[Raw trials and investigation](../docs/validation/stats-performance.json). Reproduce with `tests/stats_benchmark_host.cpp` and `tools/benchmark_stats.py`; see [engine test instructions](audio-engine.md#engine-statistics).\n",
|
|
207
|
-
"mirrored_markdown": "[Raw trials and investigation](stats-performance.json). Reproduce with `tests/stats_benchmark_host.cpp` and `tools/benchmark_stats.py`; see [engine test instructions](audio-engine.md#engine-statistics).\n"
|
|
208
|
-
}
|
|
209
|
-
]
|
|
210
|
-
},
|
|
211
|
-
{
|
|
212
|
-
"source": "docs/validation/stats-performance.json",
|
|
213
|
-
"destination": "references/stats-performance.json",
|
|
214
|
-
"source_sha256": "bd0cf07295d0d8f1120e66f527e9ca6d9a014efdc43dff5675716e8e26abe5b3",
|
|
215
|
-
"mirrored_sha256": "bd0cf07295d0d8f1120e66f527e9ca6d9a014efdc43dff5675716e8e26abe5b3",
|
|
216
|
-
"links": [],
|
|
217
|
-
"link_fixes": []
|
|
218
|
-
},
|
|
219
|
-
{
|
|
220
|
-
"source": "docs/validation/studio-validation.json",
|
|
221
|
-
"destination": "references/studio-validation.json",
|
|
222
|
-
"source_sha256": "b6abcf9229b8bb812cb4da467e3c495ab66c41041fb7562ca3c371d79671509b",
|
|
223
|
-
"mirrored_sha256": "b6abcf9229b8bb812cb4da467e3c495ab66c41041fb7562ca3c371d79671509b",
|
|
224
|
-
"links": [],
|
|
225
|
-
"link_fixes": []
|
|
226
|
-
},
|
|
227
|
-
{
|
|
228
|
-
"source": "docs/validation/unified-bypass-performance.json",
|
|
229
|
-
"destination": "references/unified-bypass-performance.json",
|
|
230
|
-
"source_sha256": "12622f00804bd866be90ac40579b868e8f6fcbd35635bf8000febb21adef2563",
|
|
231
|
-
"mirrored_sha256": "12622f00804bd866be90ac40579b868e8f6fcbd35635bf8000febb21adef2563",
|
|
232
|
-
"links": [],
|
|
233
|
-
"link_fixes": []
|
|
234
|
-
},
|
|
235
|
-
{
|
|
236
|
-
"source": "docs/validation/unified-validation.json",
|
|
237
|
-
"destination": "references/unified-validation.json",
|
|
238
|
-
"source_sha256": "4754da69159f4ab35544d0f0a8ef6e5568dda9e74162b1c2dad2bb807d905fd8",
|
|
239
|
-
"mirrored_sha256": "4754da69159f4ab35544d0f0a8ef6e5568dda9e74162b1c2dad2bb807d905fd8",
|
|
240
|
-
"links": [],
|
|
241
|
-
"link_fixes": []
|
|
242
|
-
},
|
|
243
|
-
{
|
|
244
|
-
"source": "docs/validation/physical-validation.json",
|
|
245
|
-
"destination": "references/physical-validation.json",
|
|
246
|
-
"links": [],
|
|
247
|
-
"link_fixes": [],
|
|
248
|
-
"source_sha256": "73233c11a1d2aa06654a06486ef52a08d961473d83b0c5b2a44e19a6eac28c0b",
|
|
249
|
-
"mirrored_sha256": "73233c11a1d2aa06654a06486ef52a08d961473d83b0c5b2a44e19a6eac28c0b"
|
|
250
|
-
},
|
|
251
|
-
{
|
|
252
|
-
"source": "docs/validation/frontier-physical-validation.json",
|
|
253
|
-
"destination": "references/frontier-physical-validation.json",
|
|
254
|
-
"links": [],
|
|
255
|
-
"link_fixes": [],
|
|
256
|
-
"source_sha256": "e64c6b853c6a648bb6ce74ca13f27db30c93f5e1a2b89a495d439dedf8bc1d9d",
|
|
257
|
-
"mirrored_sha256": "e64c6b853c6a648bb6ce74ca13f27db30c93f5e1a2b89a495d439dedf8bc1d9d"
|
|
258
|
-
},
|
|
259
|
-
{
|
|
260
|
-
"source": "example/README.md",
|
|
261
|
-
"destination": "assets/example/README.md",
|
|
262
|
-
"kind": "example-asset",
|
|
263
|
-
"links": [],
|
|
264
|
-
"link_fixes": [
|
|
265
|
-
{
|
|
266
|
-
"original_markdown": "The Classic Titanium app in [app.js](app.js) demonstrates the timed sounds, native sequences and statistics with the `sequenceend` event on Android and iOS. It requires module version 1.1.0 and public API 1.1.0 for native finite-tone repetition, attack variation and the recommended note/statistics methods. Held voices, master processing and voice LFOs have copyable examples in the [advanced documentation](../documentation/examples.md#sustained-game-motor); this reference app does not expose those newer controls. The default engine configuration is 16 voices, `conservative` mixing and the `playback` session; master volume starts at 100% and optional diagnostics start off.",
|
|
267
|
-
"mirrored_markdown": "The Classic Titanium app in [app.js](app.js) demonstrates the timed sounds, native sequences and statistics with the `sequenceend` event on Android and iOS. It requires module version 1.1.0 and public API 1.1.0 for native finite-tone repetition, attack variation and the recommended note/statistics methods. Held voices, master processing and voice LFOs have copyable examples in the [advanced documentation](../../references/advanced-examples.md#sustained-game-motor); this reference app does not expose those newer controls. The default engine configuration is 16 voices, `conservative` mixing and the `playback` session; master volume starts at 100% and optional diagnostics start off."
|
|
268
|
-
},
|
|
269
|
-
{
|
|
270
|
-
"original_markdown": "4. Copy the entire `example/` folder into the test app's `Resources/`, including [app.js](app.js), [sequenceScore.js](lib/sequenceScore.js) and [sequenceOwner.js](lib/sequenceOwner.js). It needs no images or audio files.\n5. Build and run the test app with the Titanium CLI or your existing Titanium launch configuration. Use Titanium SDK 13.2.0.GA or newer, Android compile API 35 or newer, and iOS 15 or newer. See the [module installation guide](../documentation/guide.md#install-the-module).",
|
|
271
|
-
"mirrored_markdown": "4. Copy the entire `example/` folder into the test app's `Resources/`, including [app.js](app.js), [sequenceScore.js](lib/sequenceScore.js) and [sequenceOwner.js](lib/sequenceOwner.js). It needs no images or audio files.\n5. Build and run the test app with the Titanium CLI or your existing Titanium launch configuration. Use Titanium SDK 13.2.0.GA or newer, Android compile API 35 or newer, and iOS 15 or newer. See the [module installation guide](../../references/guide.md#install-the-module)."
|
|
272
|
-
},
|
|
273
|
-
{
|
|
274
|
-
"original_markdown": "SPATIAL CHORD places the whole chord above/right. SPATIAL PATTERN places three broadband hits above/left, below/center and above/right using per-step coordinates. Neither sends stereo pan fields while binaural is active. The output remains two channels on a front plane, without rear positioning, distance attenuation or head tracking. See the [app integration guide](../documentation/guide.md#integrate-binaural-in-a-2d-app) for source mapping and amplitude sliders.",
|
|
275
|
-
"mirrored_markdown": "SPATIAL CHORD places the whole chord above/right. SPATIAL PATTERN places three broadband hits above/left, below/center and above/right using per-step coordinates. Neither sends stereo pan fields while binaural is active. The output remains two channels on a front plane, without rear positioning, distance attenuation or head tracking. See the [app integration guide](../../references/guide.md#integrate-binaural-in-a-2d-app) for source mapping and amplitude sliders."
|
|
276
|
-
},
|
|
277
|
-
{
|
|
278
|
-
"original_markdown": "Completion marks the final scheduled step; releases and shared effect tails can remain audible. See the [event contract](../documentation/api.md#sequenceend-event).",
|
|
279
|
-
"mirrored_markdown": "Completion marks the final scheduled step; releases and shared effect tails can remain audible. See the [event contract](../../references/api.md#sequenceend-event)."
|
|
280
|
-
},
|
|
281
|
-
{
|
|
282
|
-
"original_markdown": "The panel shows active/peak/spatial/tail voices, pending commands, replacements, request/publication rejections, priority drops, callback load, stereo output peak and backend underruns. It displays `n/a` for unmeasured or unavailable values, keeping them distinct from zero. Signal windows need about 200 ms of output after enabling. Native snapshots also include RMS, limiter reduction, sample rate, buffer and latency fields; consult the [complete field reference](../documentation/api.md#getstats) when integrating a full diagnostic view.",
|
|
283
|
-
"mirrored_markdown": "The panel shows active/peak/spatial/tail voices, pending commands, replacements, request/publication rejections, priority drops, callback load, stereo output peak and backend underruns. It displays `n/a` for unmeasured or unavailable values, keeping them distinct from zero. Signal windows need about 200 ms of output after enabling. Native snapshots also include RMS, limiter reduction, sample rate, buffer and latency fields; consult the [complete field reference](../../references/api.md#getstats) when integrating a full diagnostic view."
|
|
284
|
-
},
|
|
285
|
-
{
|
|
286
|
-
"original_markdown": "The ATTACK VARIATION button submits the same metal-strike recipe on each press. With `capabilities.variation === true` and `variationSchemaVersion === 1`, the renderer chooses pitch, FM depth and level once per admitted attack. Older packages receive the original recipe without the dictionary. This button uses independent timed events; the [variation guide](../documentation/native-variation.md) separately demonstrates sustained ownership and native sequence retriggers. Physical listening acceptance remains separate from host correctness checks.",
|
|
287
|
-
"mirrored_markdown": "The ATTACK VARIATION button submits the same metal-strike recipe on each press. With `capabilities.variation === true` and `variationSchemaVersion === 1`, the renderer chooses pitch, FM depth and level once per admitted attack. Older packages receive the original recipe without the dictionary. This button uses independent timed events; the [variation guide](../../references/native-variation.md) separately demonstrates sustained ownership and native sequence retriggers. Physical listening acceptance remains separate from host correctness checks."
|
|
288
|
-
},
|
|
289
|
-
{
|
|
290
|
-
"original_markdown": "`playTone` remains a standalone Boolean operation and rejects `intervalMs`; `repeatTone` always returns a numeric ID or 0 and requires the interval. Independent JavaScript calls remain supported, including finite bursts scheduled by an application's own event clock. See [the full contract and standalone burst example](../documentation/api.md#finite-tone-repetition).\n",
|
|
291
|
-
"mirrored_markdown": "`playTone` remains a standalone Boolean operation and rejects `intervalMs`; `repeatTone` always returns a numeric ID or 0 and requires the interval. Independent JavaScript calls remain supported, including finite bursts scheduled by an application's own event clock. See [the full contract and standalone burst example](../../references/api.md#finite-tone-repetition).\n"
|
|
292
|
-
}
|
|
293
|
-
],
|
|
294
|
-
"source_sha256": "e191a701a3a913c85b15503fd256e0aec085eb731a587b1bf4faa43865c81982",
|
|
295
|
-
"mirrored_sha256": "88d93d5ffbf8bb4c7bdb6d72f4ee5fe96332704987127ff66d99beeed9677d9a"
|
|
296
|
-
},
|
|
297
|
-
{
|
|
298
|
-
"source": "example/app.js",
|
|
299
|
-
"destination": "assets/example/app.js",
|
|
300
|
-
"kind": "example-asset",
|
|
301
|
-
"links": [],
|
|
302
|
-
"link_fixes": [],
|
|
303
|
-
"source_sha256": "f8e2ed90f072f516bb4ca796fb6dd8443600585526455e416fface49535ccb40",
|
|
304
|
-
"mirrored_sha256": "f8e2ed90f072f516bb4ca796fb6dd8443600585526455e416fface49535ccb40"
|
|
305
|
-
},
|
|
306
|
-
{
|
|
307
|
-
"source": "example/lib/sequenceScore.js",
|
|
308
|
-
"destination": "assets/example/lib/sequenceScore.js",
|
|
309
|
-
"kind": "example-asset",
|
|
310
|
-
"links": [],
|
|
311
|
-
"link_fixes": [],
|
|
312
|
-
"source_sha256": "636c20d4ba81affc087b96cc70443798e7a473a47d6dda6820c60362fe81d60f",
|
|
313
|
-
"mirrored_sha256": "636c20d4ba81affc087b96cc70443798e7a473a47d6dda6820c60362fe81d60f"
|
|
314
|
-
},
|
|
315
|
-
{
|
|
316
|
-
"source": "example/lib/sequenceOwner.js",
|
|
317
|
-
"destination": "assets/example/lib/sequenceOwner.js",
|
|
318
|
-
"kind": "example-asset",
|
|
319
|
-
"links": [],
|
|
320
|
-
"link_fixes": [],
|
|
321
|
-
"source_sha256": "2c7a639aa9e7347872240556734165a749e4abb44f19cb14546d9ae822e1c5b3",
|
|
322
|
-
"mirrored_sha256": "2c7a639aa9e7347872240556734165a749e4abb44f19cb14546d9ae822e1c5b3"
|
|
323
|
-
},
|
|
324
|
-
{
|
|
325
|
-
"source": "docs/validation/bypass-physical-recheck-evidence.zip",
|
|
326
|
-
"destination": "references/bypass-physical-recheck-evidence.zip",
|
|
327
|
-
"kind": "evidence-archive",
|
|
328
|
-
"links": [],
|
|
329
|
-
"link_fixes": [],
|
|
330
|
-
"source_sha256": "910eb9eafebd7d46797192053ec7f4f9f3fc88c6bfd1b83b07acefd1e51603a2",
|
|
331
|
-
"mirrored_sha256": "910eb9eafebd7d46797192053ec7f4f9f3fc88c6bfd1b83b07acefd1e51603a2"
|
|
332
|
-
},
|
|
333
|
-
{
|
|
334
|
-
"source": "docs/validation/frontier-android-evidence.zip",
|
|
335
|
-
"destination": "references/frontier-android-evidence.zip",
|
|
336
|
-
"kind": "evidence-archive",
|
|
337
|
-
"links": [],
|
|
338
|
-
"link_fixes": [],
|
|
339
|
-
"source_sha256": "217a06978982d601ad10796865b22dbac69f202e4bf91ae07ba268734d4fef08",
|
|
340
|
-
"mirrored_sha256": "217a06978982d601ad10796865b22dbac69f202e4bf91ae07ba268734d4fef08"
|
|
341
|
-
},
|
|
342
|
-
{
|
|
343
|
-
"source": "docs/validation/frontier-ipad-evidence.zip",
|
|
344
|
-
"destination": "references/frontier-ipad-evidence.zip",
|
|
345
|
-
"kind": "evidence-archive",
|
|
346
|
-
"links": [],
|
|
347
|
-
"link_fixes": [],
|
|
348
|
-
"source_sha256": "56369b202d279efbf4f9a720a0a99dba2f398410cb8e042ef1200a3a63be245b",
|
|
349
|
-
"mirrored_sha256": "56369b202d279efbf4f9a720a0a99dba2f398410cb8e042ef1200a3a63be245b"
|
|
350
|
-
},
|
|
351
|
-
{
|
|
352
|
-
"source": "docs/validation/android-sim80-correction.json",
|
|
353
|
-
"destination": "references/android-sim80-correction.json",
|
|
354
|
-
"links": [],
|
|
355
|
-
"link_fixes": [],
|
|
356
|
-
"source_sha256": "675c2201b9e0bfad7c8bf6255f8a9440eb45ef0a915c24eee9e47db12745a1c0",
|
|
357
|
-
"mirrored_sha256": "675c2201b9e0bfad7c8bf6255f8a9440eb45ef0a915c24eee9e47db12745a1c0"
|
|
358
|
-
},
|
|
359
|
-
{
|
|
360
|
-
"source": "docs/validation/android-sim80-correction-evidence.zip",
|
|
361
|
-
"destination": "references/android-sim80-correction-evidence.zip",
|
|
362
|
-
"links": [],
|
|
363
|
-
"link_fixes": [],
|
|
364
|
-
"source_sha256": "faff448de458ef0cb5299e234177f17a914f7801c27581ab969a9010a68c3c5f",
|
|
365
|
-
"mirrored_sha256": "faff448de458ef0cb5299e234177f17a914f7801c27581ab969a9010a68c3c5f",
|
|
366
|
-
"kind": "evidence-archive"
|
|
367
|
-
},
|
|
368
|
-
{
|
|
369
|
-
"source": "docs/validation/performance-review.json",
|
|
370
|
-
"destination": "references/performance-review.json",
|
|
371
|
-
"links": [],
|
|
372
|
-
"link_fixes": [],
|
|
373
|
-
"source_sha256": "e822b3361bb5cdb31e635863d84b179ef41edfe6a1214ae99ca3a9d327d21d3a",
|
|
374
|
-
"mirrored_sha256": "e822b3361bb5cdb31e635863d84b179ef41edfe6a1214ae99ca3a9d327d21d3a"
|
|
375
|
-
},
|
|
376
|
-
{
|
|
377
|
-
"source": "docs/validation/performance-review-evidence.zip",
|
|
378
|
-
"destination": "references/performance-review-evidence.zip",
|
|
379
|
-
"links": [],
|
|
380
|
-
"link_fixes": [],
|
|
381
|
-
"kind": "evidence-archive",
|
|
382
|
-
"source_sha256": "0539e799d66ed26ef5d64f727dd30bec55692bfd691584e25753999c545b8cf6",
|
|
383
|
-
"mirrored_sha256": "0539e799d66ed26ef5d64f727dd30bec55692bfd691584e25753999c545b8cf6"
|
|
384
|
-
},
|
|
385
|
-
{
|
|
386
|
-
"source": "documentation/audio-pipeline-validation.md",
|
|
387
|
-
"destination": "references/audio-pipeline-validation.md",
|
|
388
|
-
"source_sha256": "7359d85de63e9fe94f85477e03a22fc1531c8acaabe30333e7ff2515cc5ec3e9",
|
|
389
|
-
"mirrored_sha256": "71f668b1467fa8afc92cddd627f688247ef6f48f2bf8a0ebdc2a2b05427e3521",
|
|
390
|
-
"links": [],
|
|
391
|
-
"link_fixes": []
|
|
392
|
-
},
|
|
393
|
-
{
|
|
394
|
-
"source": "documentation/instruments-and-effects.md",
|
|
395
|
-
"destination": "references/instruments-and-effects.md",
|
|
396
|
-
"links": [],
|
|
397
|
-
"link_fixes": [],
|
|
398
|
-
"source_sha256": "6c9b96c406c54426a1d37a85b42909a50621cc647d08d37fa89c19283b3acfa0",
|
|
399
|
-
"mirrored_sha256": "ced9d66af8528bf8a88463f953ff3892ef4234be5551cade9a210a91fd53e746"
|
|
400
|
-
},
|
|
401
|
-
{
|
|
402
|
-
"source": "documentation/native-variation.md",
|
|
403
|
-
"destination": "references/native-variation.md",
|
|
404
|
-
"links": [],
|
|
405
|
-
"link_fixes": [
|
|
406
|
-
{
|
|
407
|
-
"original_markdown": "Both renderers use [`shared/synth_variation.h`](../shared/synth_variation.h): stable schema slots, integer-defined SplitMix64 finalization and exact uint32-to-uniform conversion. Parsing prepares a fixed 144-byte configuration outside the audio callback. The callback performs bounded arithmetic without allocation, locks, JavaScript calls or entropy services.",
|
|
408
|
-
"mirrored_markdown": "Both renderers use [`shared/synth_variation.h`](https://github.com/macCesar/TiSynthEngine/blob/7cd035409453b01df2736aef56f2316d94ca019c/shared/synth_variation.h): stable schema slots, integer-defined SplitMix64 finalization and exact uint32-to-uniform conversion. Parsing prepares a fixed 144-byte configuration outside the audio callback. The callback performs bounded arithmetic without allocation, locks, JavaScript calls or entropy services."
|
|
409
|
-
}
|
|
410
|
-
],
|
|
411
|
-
"source_sha256": "650d2c675dc4b4e09a85521812b7fedd3b02cb993a451378a8082e2b7782303a",
|
|
412
|
-
"mirrored_sha256": "a34c4100b5f28888252855ce0e68494097cbca4df76ee9298cfcd05efa14e839"
|
|
413
|
-
},
|
|
414
|
-
{
|
|
415
|
-
"source": "documentation/native-variation-proposal.md",
|
|
416
|
-
"destination": "references/native-variation-proposal.md",
|
|
417
|
-
"links": [],
|
|
418
|
-
"link_fixes": [],
|
|
419
|
-
"source_sha256": "17b74434b0e03e5353b71c693d4ec722dede92fee8aed142003e67f60e158e27",
|
|
420
|
-
"mirrored_sha256": "bcb2ab5cdc13d0c5c47a9b8d81a1c1eaae3af5a1c85a3f8cf85ca3ae2b300b1d"
|
|
421
|
-
},
|
|
422
|
-
{
|
|
423
|
-
"source": "documentation/native-variation-validation.md",
|
|
424
|
-
"destination": "references/native-variation-validation.md",
|
|
425
|
-
"links": [],
|
|
426
|
-
"link_fixes": [],
|
|
427
|
-
"source_sha256": "df18826824984cb440d7412b547663ba6b8a7152bc347508114d7af982c90e68",
|
|
428
|
-
"mirrored_sha256": "bab57291d98d537a42adf4992121dce1887bcb1b4affecf94c4174168a5629dc"
|
|
429
|
-
},
|
|
430
|
-
{
|
|
431
|
-
"source": "documentation/native-tone-repetition-validation.md",
|
|
432
|
-
"destination": "references/native-tone-repetition-validation.md",
|
|
433
|
-
"links": [],
|
|
434
|
-
"link_fixes": [],
|
|
435
|
-
"source_sha256": "b29758b5ec3b50650c4e30e8c408cb9bc680cad3fc158e543c3f6eec00c268a1",
|
|
436
|
-
"mirrored_sha256": "186b3baaff1c7bbbf8977f0ad5e00b632f63155ea29c2903554c8ac1738259dd"
|
|
437
|
-
},
|
|
438
|
-
{
|
|
439
|
-
"source": "index.d.ts",
|
|
440
|
-
"destination": "assets/index.d.ts",
|
|
441
|
-
"links": [],
|
|
442
|
-
"link_fixes": [],
|
|
443
|
-
"kind": "declaration-asset",
|
|
444
|
-
"source_sha256": "0b1dd381258bd4891090c2e2b56bbeb66f0be66daa1c9fbab6145a9dc09a0620",
|
|
445
|
-
"mirrored_sha256": "0b1dd381258bd4891090c2e2b56bbeb66f0be66daa1c9fbab6145a9dc09a0620"
|
|
446
|
-
}
|
|
447
|
-
],
|
|
448
|
-
"excluded_documents": [
|
|
449
|
-
{
|
|
450
|
-
"source": "documentation/index.md",
|
|
451
|
-
"source_sha256": "23b00db329fb53cd445e71a2e746ab8dbfdfe8d5c827c60929ff06af3b3757c3",
|
|
452
|
-
"reason": "Upstream documentation index; SKILL.md is the distributed navigation entry point."
|
|
453
|
-
},
|
|
454
|
-
{
|
|
455
|
-
"source": "documentation/third-party-notices.md",
|
|
456
|
-
"source_sha256": "ed444257505f503d0ba3076bb14e6af251305b84b8d2832f433fd6db06ccff37",
|
|
457
|
-
"reason": "Dependency and KEMAR notices remain with the official module and its binary packages; this skill redistributes documentation, not the native code or HRTF data. Re-review attribution when the source notice changes."
|
|
458
|
-
}
|
|
459
|
-
],
|
|
460
|
-
"source_state": "committed",
|
|
461
|
-
"api_version": "1.1.0",
|
|
462
|
-
"published_version": "1.1.0",
|
|
463
|
-
"historical_public_packages": [
|
|
464
|
-
{
|
|
465
|
-
"platform": "android",
|
|
466
|
-
"version": "1.0.2",
|
|
467
|
-
"release_url": "https://github.com/macCesar/TiSynthEngine/releases/tag/android-1.0.2",
|
|
468
|
-
"download_url": "https://github.com/macCesar/TiSynthEngine/releases/download/android-1.0.2/ti.synthengine-android-1.0.2.zip",
|
|
469
|
-
"asset_id": 690484566,
|
|
470
|
-
"filename": "ti.synthengine-android-1.0.2.zip",
|
|
471
|
-
"sha256": "8698104f188782a77699fbd6308a779ca0b190833ceebf398557b628af1b8bbe",
|
|
472
|
-
"downloaded_on_utc": "2026-10-30",
|
|
473
|
-
"crc_verified": true,
|
|
474
|
-
"native_unchanged_from_original_1_0_2": true,
|
|
475
|
-
"native_sha256": {
|
|
476
|
-
"modules/android/ti.synthengine/1.0.2/m2repository/ti/synthengine/1.0.2/synthengine-1.0.2.aar!jni/arm64-v8a/liboboe.so": "3f026ef84e9ca978723af18bd2b3bba2518579c1a8783358a0cb0c6d8373ad02",
|
|
477
|
-
"modules/android/ti.synthengine/1.0.2/m2repository/ti/synthengine/1.0.2/synthengine-1.0.2.aar!jni/arm64-v8a/libti.synthengine.so": "0c8f265ca8766df105105c709b45327214d2d71078bfad3410a753901dc63e1f",
|
|
478
|
-
"modules/android/ti.synthengine/1.0.2/m2repository/ti/synthengine/1.0.2/synthengine-1.0.2.aar!jni/armeabi-v7a/liboboe.so": "87f30f27fbe6a25fa58f33c0194b61a793922f2aaaa7dec654553b91cc1eedcd",
|
|
479
|
-
"modules/android/ti.synthengine/1.0.2/m2repository/ti/synthengine/1.0.2/synthengine-1.0.2.aar!jni/armeabi-v7a/libti.synthengine.so": "44290bab45d92c7fd04f660462c41c5ee4cb336380fc328f0d7fbb6bf3d5aa22",
|
|
480
|
-
"modules/android/ti.synthengine/1.0.2/m2repository/ti/synthengine/1.0.2/synthengine-1.0.2.aar!jni/x86/liboboe.so": "8c71a055a21e7a343e559d86ffed24132bd5b12a9fb2d2e510b884137980058b",
|
|
481
|
-
"modules/android/ti.synthengine/1.0.2/m2repository/ti/synthengine/1.0.2/synthengine-1.0.2.aar!jni/x86/libti.synthengine.so": "63b18692617296e2f39ce0c776a3c4e0599fee0329cf2793ea0c3f36de3056f3",
|
|
482
|
-
"modules/android/ti.synthengine/1.0.2/m2repository/ti/synthengine/1.0.2/synthengine-1.0.2.aar!jni/x86_64/liboboe.so": "590508f0697893c62def4e5223379e225dd8866c7569c56f51ecc949eab9dd06",
|
|
483
|
-
"modules/android/ti.synthengine/1.0.2/m2repository/ti/synthengine/1.0.2/synthengine-1.0.2.aar!jni/x86_64/libti.synthengine.so": "9f297fa73883bfdb69c0231cbc370053e1c6d9ea9daf86c4ef765da08d9e0151"
|
|
484
|
-
},
|
|
485
|
-
"corrected_html_sha256": {
|
|
486
|
-
"documentation/guide.html": "08a1e29461f802ff9104d7a1bd9120ce8302ce7d4ef47b5c0205a34d9e56fa7b",
|
|
487
|
-
"example/README.html": "32ab1906ea7de38bb3ad9eb756c75ea33c664963ac6fc5ec9fcbf22585a96ff5",
|
|
488
|
-
"android/README.html": "a67b18c9a2ee62ca771aae21e6f0650825ad1d0e724cf3f9a59cec09aa3d9ba6",
|
|
489
|
-
"ios/README.html": "b3ed190cbb3ca9022943f2f71d5e927fde7f8d8a75c2a23ab3aa51324a07a5dc"
|
|
490
|
-
}
|
|
491
|
-
},
|
|
492
|
-
{
|
|
493
|
-
"platform": "iphone",
|
|
494
|
-
"version": "1.0.2",
|
|
495
|
-
"release_url": "https://github.com/macCesar/TiSynthEngine/releases/tag/ios-1.0.2",
|
|
496
|
-
"download_url": "https://github.com/macCesar/TiSynthEngine/releases/download/ios-1.0.2/ti.synthengine-iphone-1.0.2.zip",
|
|
497
|
-
"asset_id": 690484747,
|
|
498
|
-
"filename": "ti.synthengine-iphone-1.0.2.zip",
|
|
499
|
-
"sha256": "779e77d018d5b3f686d69cb1b4b0162281803ea12691487df565c1fd15175c58",
|
|
500
|
-
"downloaded_on_utc": "2026-10-30",
|
|
501
|
-
"crc_verified": true,
|
|
502
|
-
"native_unchanged_from_original_1_0_2": true,
|
|
503
|
-
"native_sha256": {
|
|
504
|
-
"modules/iphone/ti.synthengine/1.0.2/ti.synthengine.xcframework/ios-arm64/libti.synthengine.a": "d1629580f952189e67976d57364370c712a63932ef04ddd0e7a8587d29e9fd15",
|
|
505
|
-
"modules/iphone/ti.synthengine/1.0.2/ti.synthengine.xcframework/ios-arm64_x86_64-maccatalyst/libti.synthengine.a": "1d1523a71159d85e5c1db95ced29f94c7d11b323cf0bf062a50d850954e77b56",
|
|
506
|
-
"modules/iphone/ti.synthengine/1.0.2/ti.synthengine.xcframework/ios-arm64_x86_64-simulator/libti.synthengine.a": "8ae3e920fd0be1e34fc444adc04e51537b225270df2cb4c48115695661ded4e1"
|
|
507
|
-
},
|
|
508
|
-
"corrected_html_sha256": {
|
|
509
|
-
"documentation/guide.html": "08a1e29461f802ff9104d7a1bd9120ce8302ce7d4ef47b5c0205a34d9e56fa7b",
|
|
510
|
-
"example/README.html": "32ab1906ea7de38bb3ad9eb756c75ea33c664963ac6fc5ec9fcbf22585a96ff5",
|
|
511
|
-
"android/README.html": "a67b18c9a2ee62ca771aae21e6f0650825ad1d0e724cf3f9a59cec09aa3d9ba6",
|
|
512
|
-
"ios/README.html": "b3ed190cbb3ca9022943f2f71d5e927fde7f8d8a75c2a23ab3aa51324a07a5dc"
|
|
513
|
-
}
|
|
514
|
-
}
|
|
515
|
-
],
|
|
516
|
-
"public_packages": [
|
|
517
|
-
{
|
|
518
|
-
"platform": "android",
|
|
519
|
-
"version": "1.1.0",
|
|
520
|
-
"release_url": "https://github.com/macCesar/TiSynthEngine/releases/tag/android-1.1.0",
|
|
521
|
-
"download_url": "https://github.com/macCesar/TiSynthEngine/releases/download/android-1.1.0/ti.synthengine-android-1.1.0.zip",
|
|
522
|
-
"filename": "ti.synthengine-android-1.1.0.zip",
|
|
523
|
-
"sha256": "69dea7daaa8b5dd77f7a3d4d6e6ad801e2a0bd48f9e2c79b9caf584dd56e36eb",
|
|
524
|
-
"downloaded_on_utc": "2026-11-02",
|
|
525
|
-
"crc_verified": true,
|
|
526
|
-
"release_target_commit": "7cd035409453b01df2736aef56f2316d94ca019c",
|
|
527
|
-
"types_match_source": true
|
|
528
|
-
},
|
|
529
|
-
{
|
|
530
|
-
"platform": "iphone",
|
|
531
|
-
"version": "1.1.0",
|
|
532
|
-
"release_url": "https://github.com/macCesar/TiSynthEngine/releases/tag/ios-1.1.0",
|
|
533
|
-
"download_url": "https://github.com/macCesar/TiSynthEngine/releases/download/ios-1.1.0/ti.synthengine-iphone-1.1.0.zip",
|
|
534
|
-
"filename": "ti.synthengine-iphone-1.1.0.zip",
|
|
535
|
-
"sha256": "c426fed49d78926f8dd4e176addaebf0cb0fe4592c5eb48c842aef833ad798b4",
|
|
536
|
-
"downloaded_on_utc": "2026-11-02",
|
|
537
|
-
"crc_verified": true,
|
|
538
|
-
"release_target_commit": "7cd035409453b01df2736aef56f2316d94ca019c",
|
|
539
|
-
"types_match_source": true
|
|
540
|
-
}
|
|
541
|
-
]
|
|
542
|
-
}
|