@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,1457 +0,0 @@
1
- {
2
- "schemaVersion": 1,
3
- "date": "2026-10-23",
4
- "moduleVersion": "1.0.0 beta",
5
- "status": "Android short Sim80 headphone delivery/listening corrected; full physical acceptance remains open",
6
- "acceptanceComplete": false,
7
- "criteria": {
8
- "controlledAudioSeconds": 600,
9
- "maximumVoices": 32,
10
- "nativeSequences": 4,
11
- "binaural": true,
12
- "lfosPerVoice": 2,
13
- "sharedEffects": [
14
- "chorus",
15
- "delay",
16
- "reverb",
17
- "saturation"
18
- ],
19
- "renderP95LoadUpperLimit": 0.5,
20
- "deadlineMissesAllowed": 0,
21
- "additionalMemoryLimitBytes192k": 33554432,
22
- "frameP95RegressionLimitPercent": 5,
23
- "meanFpsRegressionLimitPercent": 2
24
- },
25
- "methodology": {
26
- "audioLoad": "Elapsed callback render time divided by its frames/sample-rate deadline. Full native histograms are recorded only in instrumented temporary module copies; production module API remains unchanged.",
27
- "percentile": "Nearest-rank p95; histogram bucket width0.001 load with an exclusive upper bound. A maximum below0.5 is also a valid stronger bound. Last-callback polling is not a callback percentile.",
28
- "outputUnderruns": "Android backend counts when supported. iOS unavailable readings remain null. Zero measured callback deadline misses does not certify that the hardware output never glitched.",
29
- "statePreservation": "Isolated test app identifiers; no user library/preset or app-data reset. No preferred hardware sample-rate or buffer changes used to satisfy a test.",
30
- "iosMemoryReference": "https://developer.apple.com/videos/play/wwdc2022/10106/"
31
- },
32
- "devices": {
33
- "android": {
34
- "model": "CPH2639",
35
- "soc": "mt6835",
36
- "os": "Android16",
37
- "initialFeasibility": {
38
- "status": "failed",
39
- "rendererSampleRate": 48000,
40
- "callbackFrames": 256,
41
- "measuredSeconds": 30.014,
42
- "maximumRenderLoad": 4.065,
43
- "lastCallbackPollingMedian": 0.799,
44
- "renderP95Load": null,
45
- "outputUnderruns": 896,
46
- "rejectedPublications": 0,
47
- "priorityDrops": 0,
48
- "note": "Original final module artifact; stopped after feasibility. This is not a ten-minute pass."
49
- },
50
- "controlledRun": {
51
- "status": "failed-feasibility-not-started",
52
- "controlled600SecondsStarted": false,
53
- "reason": "Short controlled runs exceed callback CPU/wall deadlines and report output underruns. Ten-minute acceptance is not claimed."
54
- },
55
- "profiledFeasibility": {
56
- "name": "exact-neon-cpu",
57
- "elapsedMs": 30013,
58
- "complete": true,
59
- "interrupted": false,
60
- "callbacks": 4767,
61
- "p95Lower": 2.047,
62
- "p95Upper": null,
63
- "deadlineMisses": 2074,
64
- "sampleRate": 48000,
65
- "xruns": 857,
66
- "maxLoad": 3.8799808125,
67
- "status": "failed-before-next-optimization",
68
- "threadCpuDeadlineMisses": 1974,
69
- "threadCpuP95Lower": 2.047,
70
- "threadCpuP95Upper": null,
71
- "interpretation": "Paired thread-CPU and wall histograms both overflow the final bucket. CPU work contributes materially; this is not explained solely by callback preemption. Sampling identifies the FIR loop as a significant cost. No controlled ten-minute run has started."
72
- },
73
- "memoryBeforeProducerOptimization": {
74
- "status": "failed_full_process_32MiB_peak",
75
- "actualSampleRate": 48000,
76
- "allDensePublicationsAccepted": true,
77
- "fullScoreUpdates": 80,
78
- "fullScoreUpdatesAccepted": 80,
79
- "recoveryStarts": 5,
80
- "baselineRssKiB": [
81
- 246560,
82
- 254028
83
- ],
84
- "baselineStartupHwmKiB": 262740,
85
- "warmFxRssKiB": [
86
- 269348,
87
- 271616
88
- ],
89
- "callerInputsRssKiB": 277096,
90
- "pressurePeakSampledRssKiB": 293364,
91
- "wholeProcessHwmKiB": 300740,
92
- "hwmIncreaseKiB": 38000,
93
- "peakRssDeltaVersusHighestBaselineKiB": 39336,
94
- "measurement": "Read-only /proc/PID/status RSS/HWM, with stage meminfo. Whole process includes caller JS input, Titanium/Java/bridge, module and allocator recovery. No192k physical claim."
95
- },
96
- "exactOutputChecks": {
97
- "sampleCount": 150000,
98
- "stateDifferences": 0,
99
- "outputBitDifferences": 0,
100
- "rates": [
101
- 16000,
102
- 44100,
103
- 48000,
104
- 96000,
105
- 192000
106
- ],
107
- "fullEngineCases": 60,
108
- "fullEngineHashDifferences": 0
109
- },
110
- "memoryCorrection": {
111
- "implementedInProductionJava": true,
112
- "packetRetainedAfterAcceptance": false,
113
- "immutablePreviousStepsReused": true,
114
- "duplicateIncomingDeepCopyRemoved": true,
115
- "focusedTest": "python3 tests/run_studio_java.py --memory-only",
116
- "testStatus": "PASS",
117
- "ciWired": true,
118
- "updatesAccepted": 80,
119
- "recoveryStarts": 5,
120
- "sampledRssPeakKiB": 282488,
121
- "processHwmKiB": 291160,
122
- "stableBaselineRssKiB": 252352,
123
- "startupBaselineHwmKiB": 263044,
124
- "rssReductionVersusPreviousKiB": 10876,
125
- "hwmReductionVersusPreviousKiB": 9580,
126
- "strictProcessPeak32MiBAccepted": false,
127
- "native192kPhysicalAccepted": false,
128
- "attribution": {
129
- "baselineTotalPssKiB": 102479,
130
- "denseTotalPssKiB": 142554,
131
- "baselinePrivateDirtyKiB": 72472,
132
- "densePrivateDirtyKiB": 95748,
133
- "baselineNativeHeapAllocKiB": 22196,
134
- "denseNativeHeapAllocKiB": 37392,
135
- "baselineDalvikHeapAllocKiB": 4114,
136
- "denseDalvikHeapAllocKiB": 8106
137
- },
138
- "notes": [
139
- "Different RSS/PSS/HWM snapshots have different scope and timing; do not select a metric posthoc to claim acceptance.",
140
- "Process scope includes caller JS inputs, Titanium/Java/code, bridge and module. 192k native allocation accounting is separate."
141
- ]
142
- },
143
- "rejectedExperiments": {
144
- "tiledRenderer": {
145
- "productionPromoted": false,
146
- "hostAndArm64OutputAndClockStateExact": true,
147
- "cases": {
148
- "static": 9,
149
- "rates": 30,
150
- "heldRampsModulation": 60,
151
- "transportClockState": 20
152
- },
153
- "callbacks": 4766,
154
- "wallDeadlineMisses": 1180,
155
- "cpuDeadlineMisses": 1088,
156
- "p95Lower": 2.047,
157
- "p95Upper": null,
158
- "xruns": 875,
159
- "steadyCpuMedianLower": 0.903,
160
- "steadyCpuP95": [
161
- 1.605,
162
- 1.606
163
- ],
164
- "profileFirMainLoopVisiblePercent": 29.58,
165
- "baselineProfileFirMainLoopVisiblePercent": 33.9,
166
- "decision": "Rejected for production: no meaningful full-load median/p95 improvement; steady state still fails."
167
- },
168
- "offCallbackPerformanceHints": {
169
- "status": "rejected_no_substantial_improvement",
170
- "productionPromoted": false,
171
- "reportsWereUnscaledRealMonotonicDurations": true,
172
- "callbacksNeverCalledAdpfOrWaitedForWorker": true,
173
- "apiSessionReportWorkerOnly": true,
174
- "runs": [
175
- {
176
- "mode": "off",
177
- "elapsedMs": 30031,
178
- "callbacks": 4814,
179
- "wallP95Lower": 2.047,
180
- "wallP95Upper": null,
181
- "cpuP95Lower": 2.047,
182
- "cpuP95Upper": null,
183
- "wallDeadlineMisses": 2059,
184
- "cpuDeadlineMisses": 1943,
185
- "outputXruns": 809,
186
- "maxWallLoad": 4.254418125,
187
- "hint": {
188
- "workerStarted": 1,
189
- "lastActualNanos": 0,
190
- "targetNanos": 0,
191
- "reportErrors": 0,
192
- "createdSessions": 0,
193
- "epoch": 2,
194
- "tid": 0,
195
- "mode": 0,
196
- "lastReturnCode": 0,
197
- "successfulReports": 0,
198
- "preferredUpdateNanos": 1000000,
199
- "ringOverflow": 0,
200
- "staleRecords": 0,
201
- "apiAvailable": 1
202
- },
203
- "initialHint": {
204
- "workerStarted": 1,
205
- "lastActualNanos": 0,
206
- "targetNanos": 0,
207
- "reportErrors": 0,
208
- "createdSessions": 0,
209
- "epoch": 2,
210
- "tid": 0,
211
- "mode": 0,
212
- "lastReturnCode": 0,
213
- "successfulReports": 0,
214
- "preferredUpdateNanos": 1000000,
215
- "ringOverflow": 0,
216
- "staleRecords": 0,
217
- "apiAvailable": 1
218
- }
219
- },
220
- {
221
- "mode": "full",
222
- "elapsedMs": 30028,
223
- "callbacks": 4684,
224
- "wallP95Lower": 2.047,
225
- "wallP95Upper": null,
226
- "cpuP95Lower": 2.047,
227
- "cpuP95Upper": null,
228
- "wallDeadlineMisses": 2166,
229
- "cpuDeadlineMisses": 2037,
230
- "outputXruns": 940,
231
- "maxWallLoad": 4.0037885625000005,
232
- "hint": {
233
- "workerStarted": 1,
234
- "lastActualNanos": 1991769,
235
- "targetNanos": 5333333,
236
- "reportErrors": 0,
237
- "createdSessions": 1,
238
- "epoch": 2,
239
- "tid": 22411,
240
- "mode": 1,
241
- "lastReturnCode": 0,
242
- "successfulReports": 5597,
243
- "preferredUpdateNanos": 1000000,
244
- "ringOverflow": 0,
245
- "staleRecords": 0,
246
- "apiAvailable": 1
247
- },
248
- "initialHint": {
249
- "workerStarted": 1,
250
- "lastActualNanos": 5503692,
251
- "targetNanos": 5333333,
252
- "reportErrors": 0,
253
- "createdSessions": 1,
254
- "epoch": 2,
255
- "tid": 22411,
256
- "mode": 1,
257
- "lastReturnCode": 0,
258
- "successfulReports": 922,
259
- "preferredUpdateNanos": 1000000,
260
- "ringOverflow": 0,
261
- "staleRecords": 0,
262
- "apiAvailable": 1
263
- }
264
- },
265
- {
266
- "mode": "half",
267
- "elapsedMs": 30026,
268
- "callbacks": 4734,
269
- "wallP95Lower": 2.047,
270
- "wallP95Upper": null,
271
- "cpuP95Lower": 2.047,
272
- "cpuP95Upper": null,
273
- "wallDeadlineMisses": 2058,
274
- "cpuDeadlineMisses": 1946,
275
- "outputXruns": 884,
276
- "maxWallLoad": 3.9429230625000002,
277
- "hint": {
278
- "workerStarted": 1,
279
- "lastActualNanos": 1829308,
280
- "targetNanos": 2666666,
281
- "reportErrors": 0,
282
- "createdSessions": 1,
283
- "epoch": 2,
284
- "tid": 22927,
285
- "mode": 2,
286
- "lastReturnCode": 0,
287
- "successfulReports": 5655,
288
- "preferredUpdateNanos": 1000000,
289
- "ringOverflow": 0,
290
- "staleRecords": 0,
291
- "apiAvailable": 1
292
- },
293
- "initialHint": {
294
- "workerStarted": 1,
295
- "lastActualNanos": 3660000,
296
- "targetNanos": 2666666,
297
- "reportErrors": 0,
298
- "createdSessions": 1,
299
- "epoch": 2,
300
- "tid": 22927,
301
- "mode": 2,
302
- "lastReturnCode": 0,
303
- "successfulReports": 931,
304
- "preferredUpdateNanos": 1000000,
305
- "ringOverflow": 0,
306
- "staleRecords": 0,
307
- "apiAvailable": 1
308
- }
309
- }
310
- ],
311
- "reviewedUnpromotedLimitations": [
312
- "Per-epoch API failure/backoff cleanup needs tightening before any future promotion.",
313
- "Recovery must invalidate epoch and target/TID telemetry should clear on session close."
314
- ],
315
- "decision": "Reject worker entirely this cycle; no additional controller or DSP experiments."
316
- }
317
- },
318
- "productionContainsRejectedExperiments": false
319
- },
320
- "ipad": {
321
- "model": "iPad (9th generation)",
322
- "initialFeasibility": {
323
- "status": "incomplete-acceptance",
324
- "rendererSampleRate": 44100,
325
- "callbackFrames": 1024,
326
- "measuredSeconds": 60,
327
- "maximumRenderLoad": 0.56357,
328
- "measuredDeadlineMisses": 0,
329
- "renderP95Load": null,
330
- "outputUnderruns": null
331
- },
332
- "controlledRun": {
333
- "measurementStartedAt": "2026-10-23T14:47:21.878Z",
334
- "measurementFinishedAt": "2026-10-23T14:57:22.019Z",
335
- "wallDurationMs": 600124,
336
- "renderedAudioSeconds": 600.0268480725623,
337
- "callbacks": 25841,
338
- "renderedFrames": 26461184,
339
- "sourceRendererSampleRate": 44100,
340
- "audioSession": {
341
- "category": "AVAudioSessionCategoryPlayback",
342
- "systemOutputVolume": 0.550000011920929,
343
- "ports": [
344
- {
345
- "name": "Altavoz",
346
- "type": "Speaker"
347
- }
348
- ],
349
- "mode": "AVAudioSessionModeDefault",
350
- "outputLatency": 0.005056689493358135,
351
- "sessionSampleRate": 44100,
352
- "ioBufferDuration": 0.023219954648526078,
353
- "outputNodeSampleRate": 44100,
354
- "sourceNodeSampleRate": 44100
355
- },
356
- "renderLoadP95": {
357
- "lowerInclusive": 0.388,
358
- "upperExclusive": 0.389,
359
- "basis": "all measured callbacks; frozen native histogram; nearest rank"
360
- },
361
- "renderLoadMaximum": 0.5545140747070313,
362
- "measuredRenderDeadlineMisses": 0,
363
- "iOSOutputUnderruns": null,
364
- "minimumObservedVoices": 32,
365
- "minimumObservedSpatialVoices": 32,
366
- "fourSequencesContinuouslyObservedPlaying": true,
367
- "rejectedRequests": 0,
368
- "rejectedPublications": 0,
369
- "priorityDrops": 0,
370
- "backgroundedAt": null,
371
- "output": {
372
- "finalPeakDbFS": {
373
- "right": -52.89253074974185,
374
- "left": -55.82302619493744
375
- },
376
- "maximumLimiterReductionDb": 0
377
- },
378
- "status": "passed-render-timing",
379
- "histogram": {
380
- "bucketWidth": 0.001,
381
- "bucketCount": 2048,
382
- "lastBucketIncludesOverflow": true,
383
- "nonzeroBuckets": [
384
- [
385
- 189,
386
- 2
387
- ],
388
- [
389
- 190,
390
- 2
391
- ],
392
- [
393
- 194,
394
- 1
395
- ],
396
- [
397
- 214,
398
- 1
399
- ],
400
- [
401
- 220,
402
- 1
403
- ],
404
- [
405
- 233,
406
- 1
407
- ],
408
- [
409
- 239,
410
- 1
411
- ],
412
- [
413
- 240,
414
- 1
415
- ],
416
- [
417
- 241,
418
- 2
419
- ],
420
- [
421
- 243,
422
- 1
423
- ],
424
- [
425
- 252,
426
- 1
427
- ],
428
- [
429
- 259,
430
- 1
431
- ],
432
- [
433
- 260,
434
- 3
435
- ],
436
- [
437
- 261,
438
- 3
439
- ],
440
- [
441
- 262,
442
- 1
443
- ],
444
- [
445
- 263,
446
- 1
447
- ],
448
- [
449
- 264,
450
- 2
451
- ],
452
- [
453
- 265,
454
- 2
455
- ],
456
- [
457
- 267,
458
- 4
459
- ],
460
- [
461
- 268,
462
- 4
463
- ],
464
- [
465
- 269,
466
- 1
467
- ],
468
- [
469
- 270,
470
- 1
471
- ],
472
- [
473
- 271,
474
- 3
475
- ],
476
- [
477
- 272,
478
- 1
479
- ],
480
- [
481
- 274,
482
- 1
483
- ],
484
- [
485
- 275,
486
- 1
487
- ],
488
- [
489
- 276,
490
- 1
491
- ],
492
- [
493
- 277,
494
- 2
495
- ],
496
- [
497
- 278,
498
- 2
499
- ],
500
- [
501
- 279,
502
- 1
503
- ],
504
- [
505
- 280,
506
- 2
507
- ],
508
- [
509
- 281,
510
- 1
511
- ],
512
- [
513
- 283,
514
- 2
515
- ],
516
- [
517
- 285,
518
- 1
519
- ],
520
- [
521
- 286,
522
- 1
523
- ],
524
- [
525
- 287,
526
- 2
527
- ],
528
- [
529
- 288,
530
- 2
531
- ],
532
- [
533
- 289,
534
- 3
535
- ],
536
- [
537
- 290,
538
- 5
539
- ],
540
- [
541
- 291,
542
- 5
543
- ],
544
- [
545
- 292,
546
- 14
547
- ],
548
- [
549
- 293,
550
- 16
551
- ],
552
- [
553
- 294,
554
- 14
555
- ],
556
- [
557
- 295,
558
- 17
559
- ],
560
- [
561
- 296,
562
- 11
563
- ],
564
- [
565
- 297,
566
- 16
567
- ],
568
- [
569
- 298,
570
- 10
571
- ],
572
- [
573
- 299,
574
- 10
575
- ],
576
- [
577
- 300,
578
- 9
579
- ],
580
- [
581
- 301,
582
- 13
583
- ],
584
- [
585
- 302,
586
- 13
587
- ],
588
- [
589
- 303,
590
- 13
591
- ],
592
- [
593
- 304,
594
- 15
595
- ],
596
- [
597
- 305,
598
- 9
599
- ],
600
- [
601
- 306,
602
- 20
603
- ],
604
- [
605
- 307,
606
- 24
607
- ],
608
- [
609
- 308,
610
- 11
611
- ],
612
- [
613
- 309,
614
- 25
615
- ],
616
- [
617
- 310,
618
- 13
619
- ],
620
- [
621
- 311,
622
- 31
623
- ],
624
- [
625
- 312,
626
- 48
627
- ],
628
- [
629
- 313,
630
- 83
631
- ],
632
- [
633
- 314,
634
- 97
635
- ],
636
- [
637
- 315,
638
- 100
639
- ],
640
- [
641
- 316,
642
- 81
643
- ],
644
- [
645
- 317,
646
- 89
647
- ],
648
- [
649
- 318,
650
- 66
651
- ],
652
- [
653
- 319,
654
- 85
655
- ],
656
- [
657
- 320,
658
- 67
659
- ],
660
- [
661
- 321,
662
- 76
663
- ],
664
- [
665
- 322,
666
- 48
667
- ],
668
- [
669
- 323,
670
- 59
671
- ],
672
- [
673
- 324,
674
- 52
675
- ],
676
- [
677
- 325,
678
- 68
679
- ],
680
- [
681
- 326,
682
- 48
683
- ],
684
- [
685
- 327,
686
- 66
687
- ],
688
- [
689
- 328,
690
- 71
691
- ],
692
- [
693
- 329,
694
- 100
695
- ],
696
- [
697
- 330,
698
- 83
699
- ],
700
- [
701
- 331,
702
- 111
703
- ],
704
- [
705
- 332,
706
- 97
707
- ],
708
- [
709
- 333,
710
- 88
711
- ],
712
- [
713
- 334,
714
- 103
715
- ],
716
- [
717
- 335,
718
- 109
719
- ],
720
- [
721
- 336,
722
- 117
723
- ],
724
- [
725
- 337,
726
- 210
727
- ],
728
- [
729
- 338,
730
- 308
731
- ],
732
- [
733
- 339,
734
- 431
735
- ],
736
- [
737
- 340,
738
- 530
739
- ],
740
- [
741
- 341,
742
- 461
743
- ],
744
- [
745
- 342,
746
- 394
747
- ],
748
- [
749
- 343,
750
- 316
751
- ],
752
- [
753
- 344,
754
- 298
755
- ],
756
- [
757
- 345,
758
- 220
759
- ],
760
- [
761
- 346,
762
- 216
763
- ],
764
- [
765
- 347,
766
- 185
767
- ],
768
- [
769
- 348,
770
- 213
771
- ],
772
- [
773
- 349,
774
- 183
775
- ],
776
- [
777
- 350,
778
- 171
779
- ],
780
- [
781
- 351,
782
- 163
783
- ],
784
- [
785
- 352,
786
- 139
787
- ],
788
- [
789
- 353,
790
- 171
791
- ],
792
- [
793
- 354,
794
- 153
795
- ],
796
- [
797
- 355,
798
- 188
799
- ],
800
- [
801
- 356,
802
- 198
803
- ],
804
- [
805
- 357,
806
- 241
807
- ],
808
- [
809
- 358,
810
- 273
811
- ],
812
- [
813
- 359,
814
- 308
815
- ],
816
- [
817
- 360,
818
- 306
819
- ],
820
- [
821
- 361,
822
- 333
823
- ],
824
- [
825
- 362,
826
- 361
827
- ],
828
- [
829
- 363,
830
- 398
831
- ],
832
- [
833
- 364,
834
- 410
835
- ],
836
- [
837
- 365,
838
- 578
839
- ],
840
- [
841
- 366,
842
- 569
843
- ],
844
- [
845
- 367,
846
- 564
847
- ],
848
- [
849
- 368,
850
- 453
851
- ],
852
- [
853
- 369,
854
- 372
855
- ],
856
- [
857
- 370,
858
- 361
859
- ],
860
- [
861
- 371,
862
- 461
863
- ],
864
- [
865
- 372,
866
- 1038
867
- ],
868
- [
869
- 373,
870
- 1512
871
- ],
872
- [
873
- 374,
874
- 1824
875
- ],
876
- [
877
- 375,
878
- 1816
879
- ],
880
- [
881
- 376,
882
- 1679
883
- ],
884
- [
885
- 377,
886
- 1304
887
- ],
888
- [
889
- 378,
890
- 795
891
- ],
892
- [
893
- 379,
894
- 440
895
- ],
896
- [
897
- 380,
898
- 257
899
- ],
900
- [
901
- 381,
902
- 109
903
- ],
904
- [
905
- 382,
906
- 82
907
- ],
908
- [
909
- 383,
910
- 37
911
- ],
912
- [
913
- 384,
914
- 45
915
- ],
916
- [
917
- 385,
918
- 25
919
- ],
920
- [
921
- 386,
922
- 20
923
- ],
924
- [
925
- 387,
926
- 24
927
- ],
928
- [
929
- 388,
930
- 17
931
- ],
932
- [
933
- 389,
934
- 20
935
- ],
936
- [
937
- 390,
938
- 14
939
- ],
940
- [
941
- 391,
942
- 13
943
- ],
944
- [
945
- 392,
946
- 20
947
- ],
948
- [
949
- 393,
950
- 28
951
- ],
952
- [
953
- 394,
954
- 22
955
- ],
956
- [
957
- 395,
958
- 23
959
- ],
960
- [
961
- 396,
962
- 21
963
- ],
964
- [
965
- 397,
966
- 20
967
- ],
968
- [
969
- 398,
970
- 22
971
- ],
972
- [
973
- 399,
974
- 24
975
- ],
976
- [
977
- 400,
978
- 21
979
- ],
980
- [
981
- 401,
982
- 17
983
- ],
984
- [
985
- 402,
986
- 29
987
- ],
988
- [
989
- 403,
990
- 18
991
- ],
992
- [
993
- 404,
994
- 11
995
- ],
996
- [
997
- 405,
998
- 14
999
- ],
1000
- [
1001
- 406,
1002
- 16
1003
- ],
1004
- [
1005
- 407,
1006
- 11
1007
- ],
1008
- [
1009
- 408,
1010
- 20
1011
- ],
1012
- [
1013
- 409,
1014
- 7
1015
- ],
1016
- [
1017
- 410,
1018
- 11
1019
- ],
1020
- [
1021
- 411,
1022
- 13
1023
- ],
1024
- [
1025
- 412,
1026
- 10
1027
- ],
1028
- [
1029
- 413,
1030
- 12
1031
- ],
1032
- [
1033
- 414,
1034
- 9
1035
- ],
1036
- [
1037
- 415,
1038
- 13
1039
- ],
1040
- [
1041
- 416,
1042
- 15
1043
- ],
1044
- [
1045
- 417,
1046
- 13
1047
- ],
1048
- [
1049
- 418,
1050
- 20
1051
- ],
1052
- [
1053
- 419,
1054
- 14
1055
- ],
1056
- [
1057
- 420,
1058
- 24
1059
- ],
1060
- [
1061
- 421,
1062
- 16
1063
- ],
1064
- [
1065
- 422,
1066
- 13
1067
- ],
1068
- [
1069
- 423,
1070
- 10
1071
- ],
1072
- [
1073
- 424,
1074
- 14
1075
- ],
1076
- [
1077
- 425,
1078
- 24
1079
- ],
1080
- [
1081
- 426,
1082
- 13
1083
- ],
1084
- [
1085
- 427,
1086
- 17
1087
- ],
1088
- [
1089
- 428,
1090
- 14
1091
- ],
1092
- [
1093
- 429,
1094
- 14
1095
- ],
1096
- [
1097
- 430,
1098
- 9
1099
- ],
1100
- [
1101
- 431,
1102
- 8
1103
- ],
1104
- [
1105
- 432,
1106
- 16
1107
- ],
1108
- [
1109
- 433,
1110
- 11
1111
- ],
1112
- [
1113
- 434,
1114
- 8
1115
- ],
1116
- [
1117
- 435,
1118
- 6
1119
- ],
1120
- [
1121
- 436,
1122
- 6
1123
- ],
1124
- [
1125
- 437,
1126
- 8
1127
- ],
1128
- [
1129
- 438,
1130
- 8
1131
- ],
1132
- [
1133
- 439,
1134
- 8
1135
- ],
1136
- [
1137
- 440,
1138
- 8
1139
- ],
1140
- [
1141
- 441,
1142
- 15
1143
- ],
1144
- [
1145
- 442,
1146
- 11
1147
- ],
1148
- [
1149
- 443,
1150
- 10
1151
- ],
1152
- [
1153
- 444,
1154
- 18
1155
- ],
1156
- [
1157
- 445,
1158
- 16
1159
- ],
1160
- [
1161
- 446,
1162
- 28
1163
- ],
1164
- [
1165
- 447,
1166
- 13
1167
- ],
1168
- [
1169
- 448,
1170
- 24
1171
- ],
1172
- [
1173
- 449,
1174
- 21
1175
- ],
1176
- [
1177
- 450,
1178
- 30
1179
- ],
1180
- [
1181
- 451,
1182
- 20
1183
- ],
1184
- [
1185
- 452,
1186
- 30
1187
- ],
1188
- [
1189
- 453,
1190
- 28
1191
- ],
1192
- [
1193
- 454,
1194
- 26
1195
- ],
1196
- [
1197
- 455,
1198
- 22
1199
- ],
1200
- [
1201
- 456,
1202
- 28
1203
- ],
1204
- [
1205
- 457,
1206
- 27
1207
- ],
1208
- [
1209
- 458,
1210
- 18
1211
- ],
1212
- [
1213
- 459,
1214
- 24
1215
- ],
1216
- [
1217
- 460,
1218
- 13
1219
- ],
1220
- [
1221
- 461,
1222
- 23
1223
- ],
1224
- [
1225
- 462,
1226
- 16
1227
- ],
1228
- [
1229
- 463,
1230
- 20
1231
- ],
1232
- [
1233
- 464,
1234
- 10
1235
- ],
1236
- [
1237
- 465,
1238
- 2
1239
- ],
1240
- [
1241
- 466,
1242
- 3
1243
- ],
1244
- [
1245
- 467,
1246
- 2
1247
- ],
1248
- [
1249
- 468,
1250
- 2
1251
- ],
1252
- [
1253
- 473,
1254
- 1
1255
- ],
1256
- [
1257
- 475,
1258
- 1
1259
- ],
1260
- [
1261
- 477,
1262
- 1
1263
- ],
1264
- [
1265
- 478,
1266
- 1
1267
- ],
1268
- [
1269
- 486,
1270
- 1
1271
- ],
1272
- [
1273
- 502,
1274
- 1
1275
- ],
1276
- [
1277
- 503,
1278
- 1
1279
- ],
1280
- [
1281
- 508,
1282
- 1
1283
- ],
1284
- [
1285
- 517,
1286
- 1
1287
- ],
1288
- [
1289
- 521,
1290
- 2
1291
- ],
1292
- [
1293
- 524,
1294
- 1
1295
- ],
1296
- [
1297
- 529,
1298
- 1
1299
- ],
1300
- [
1301
- 531,
1302
- 1
1303
- ],
1304
- [
1305
- 547,
1306
- 1
1307
- ],
1308
- [
1309
- 554,
1310
- 1
1311
- ]
1312
- ],
1313
- "sourceReportSha256": "946ca2e4457eec76507de2e56913d3cc854a7eafd4106af26be8aafeb0d9f253"
1314
- }
1315
- },
1316
- "osVersion": "27.0.1",
1317
- "memory": {
1318
- "lifetimePhysicalFootprintPeak": 43894696,
1319
- "processPeakMinusBaselineCurrentUpper": 20250672,
1320
- "productionNativeIvarBytes": 2194936,
1321
- "countedNativeBytesAtActualRate": 13993408,
1322
- "countedNativeBytes192k": 24625952,
1323
- "bufferDeltaActualTo192k": 10632544,
1324
- "conservative192kProjectionBytes": 33405808,
1325
- "conservative192kProjectionWithin32MiB": true,
1326
- "projectionScope": "Process lifetime peak minus post-require baseline current footprint, plus production module ivars (potential double count of lazily resident pages) and known native buffer delta. Includes runtime/bridge/diagnostic effects. This is an estimate; 192 kHz hardware/driver behavior was not measured.",
1327
- "baselinePhysicalFootprintBytes": 23644024,
1328
- "pressure": {
1329
- "stepsPerSequence": 512,
1330
- "notesPerStep": 32,
1331
- "acceptedEdits": 120,
1332
- "rejectedEdits": 0
1333
- },
1334
- "recoveryStatus": "passed-controlled-production-recovery-path",
1335
- "baselineResidentBytes": 82001920,
1336
- "residentHighWaterBytes": 125403136,
1337
- "residentHighWaterIncreaseBytes": 43401216,
1338
- "residentIncreaseWithin32MiB": false,
1339
- "metricDistinction": "Native allocation accounting and charged physical footprint are reported separately from resident high-water, which also includes clean executable/shared mappings. No whole-process RSS <=32MiB or physical192kHz hardware measurement is claimed.",
1340
- "pressureOnly192kProjectionBytes": 33078152
1341
- },
1342
- "controlledStreamRecovery": {
1343
- "passed": true,
1344
- "cycles": 10,
1345
- "scope": "AVAudioEngine pause followed by unchanged production resumeAudioEngineAfterRouteChange helper; no hardware route change or OS setting change",
1346
- "transportIdentityPreserved": true,
1347
- "effectsAllocationSizePreserved": true,
1348
- "allFourSequencesPlayingAfterEveryResume": true,
1349
- "activeVoicesAfterEveryResume": [
1350
- 32,
1351
- 32,
1352
- 32,
1353
- 32,
1354
- 32,
1355
- 32,
1356
- 32,
1357
- 32,
1358
- 32,
1359
- 32
1360
- ],
1361
- "lifetimePhysicalFootprintPeak": 44222352,
1362
- "newLifetimePeakDuringRecovery": false,
1363
- "afterShutdown": {
1364
- "virtualSize": 475656011776,
1365
- "kernelResult": 0,
1366
- "physFootprint": 26167208,
1367
- "thermalState": 0,
1368
- "residentSize": 91783168,
1369
- "physFootprintPeak": 44222352,
1370
- "nativeModuleIvarBytes": 2211360,
1371
- "residentPeak": 100483072,
1372
- "telemetryStructBytes": 16816
1373
- }
1374
- }
1375
- }
1376
- },
1377
- "frontier": {
1378
- "status": "android-headphone-distortion-investigation",
1379
- "evidence": "frontier-physical-validation.json",
1380
- "devicesMeasured": [
1381
- "iPad (9th generation)",
1382
- "Android CPH2639"
1383
- ],
1384
- "scenariosWithinMatchedPresentationFrameCriteria": [
1385
- "Arcade",
1386
- "simulation20"
1387
- ],
1388
- "simulation80": "Strict equivalent-load coverage below50% on both devices; not accepted under predeclared matching rule.",
1389
- "androidAudio": "Backend xruns67/88 and callback peaks3.07/3.19 times deadline in the two simulation80 Audio-on phases.",
1390
- "androidRendererElapsedWork": "Matched simulation20 p95-of-window-p95 elapsed+6.91%; investigated but causal attribution unresolved. This is not global thread-CPU p95 or direct eglSwap timing.",
1391
- "limits": [
1392
- "Native renderer elapsed-work and actual presentation interval are distinct metrics.",
1393
- "Simulation population differences restrict causal interpretation; no claimed audio-driven FPS improvement.",
1394
- "Subjective clean listening does not override measured backend xruns."
1395
- ]
1396
- },
1397
- "nativeMemoryAccounting192k": {
1398
- "androidBytes": 24649840,
1399
- "iosBytes": 24625952,
1400
- "scope": "Android renderer host allocation accounting and iOS native allocation accounting for buffers/transport/voice/limiter state; ABI/allocator/runtime differences and complete physical process/recovery peaks are not bounded.",
1401
- "physicalPressureResult": "iPad process/bridge pressure measured at44100Hz; conservative charged-footprint/native-buffer projection33405808B at192k including controlled recovery peaks; pressure-only projection33078152B. Neither is a hardware192k measurement or whole-process RSS bound."
1402
- },
1403
- "listening": {
1404
- "completed": false,
1405
- "observations": [
1406
- "Cesar described the initial iPad simulation80 Audio on demonstration positively. This is not acceptance of every sound, category-isolation case or both platforms.",
1407
- "Cesar confirmed clean audio in the manual iPad Sim80 Audio-on diagnostic.",
1408
- "Cesar confirmed clean audio in the manual Android Sim80 Audio-on diagnostic; technical backend xruns remain a separate failed result.",
1409
- "Correction after headphone comparison: Cesar reports Android Sim80 saturation with many explosions; iPad remains clean. Android listening acceptance is withdrawn pending diagnosis.",
1410
- "After the eight-output Android FIR correction, Cesar accepted live Sim80 with headphones as clean, without perceptible distortion; the short diagnostic reported zero backend xruns."
1411
- ],
1412
- "ipadSimulation80": {
1413
- "status": "accepted-by-Cesar",
1414
- "date": "2026-10-23",
1415
- "app": "Isolated Frontier manual diagnostic",
1416
- "scenario": "Sim80, Audio on, approximately30seconds",
1417
- "reply": "Se escucha limpio",
1418
- "questionScope": [
1419
- "continuous motor",
1420
- "explosions",
1421
- "fanfares",
1422
- "dropouts",
1423
- "clicks",
1424
- "saturation"
1425
- ],
1426
- "scopeLimit": "Applies to this iPad scenario only; Android and other sound/spatial/category cases remain separate."
1427
- },
1428
- "androidSimulation80": {
1429
- "status": "accepted-by-Cesar-after-eight-output-FIR-correction",
1430
- "date": "2026-10-23",
1431
- "scenario": "Sim80 with many explosions, headphones",
1432
- "latestObservation": "Clean, no perceptible distortion in the eight-output manual headphone candidate.",
1433
- "supersedes": "Earlier Android saturation and the partially improved four-output candidate.",
1434
- "samePcmComparison": {
1435
- "liveXruns": 89,
1436
- "replayXruns": 0,
1437
- "humanObservation": "Live saturated; replay very little or none.",
1438
- "scope": "Combined live physics and DSP versus exact captured PCM on an empty engine; not DSP-only attribution."
1439
- },
1440
- "correctionReport": "android-sim80-correction.json"
1441
- }
1442
- },
1443
- "pending": [
1444
- "Android maximum-load render criterion failed on CPH2639; controlled600-second acceptance not started",
1445
- "Latest-source oneVoice host bypass total-time screen remains above2% after investigation",
1446
- "Whole-process192k memory bound remains unestablished; native accounting/rate projections have limited scopes",
1447
- "Android simulation20 renderer elapsed-work increase remains unresolved after investigation",
1448
- "Strict simulation80 equivalent-load coverage inconclusive on both devices",
1449
- "Remaining listening cases beyond the accepted manual Sim80 motor/explosion/fanfare case"
1450
- ],
1451
- "publication": {
1452
- "push": false,
1453
- "release": false
1454
- },
1455
- "nativeSourceCommit": "87b2c3354f182c5742cba84775b075552c80572c",
1456
- "androidSim80Correction": "android-sim80-correction.json"
1457
- }