eml-stdlib 0.4.0__py3-none-any.whl

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 (185) hide show
  1. eml_stdlib/__init__.py +81 -0
  2. eml_stdlib/ballistics/air_density.eml +73 -0
  3. eml_stdlib/ballistics/ballistic_solver.eml +102 -0
  4. eml_stdlib/ballistics/coriolis.eml +60 -0
  5. eml_stdlib/ballistics/drag.eml +44 -0
  6. eml_stdlib/ballistics/gravity.eml +52 -0
  7. eml_stdlib/ballistics/muzzle_velocity.eml +42 -0
  8. eml_stdlib/ballistics/spin_drift.eml +60 -0
  9. eml_stdlib/ballistics/time_of_flight.eml +79 -0
  10. eml_stdlib/ballistics/wind.eml +58 -0
  11. eml_stdlib/biology/abilities/ballistic_armor.eml +61 -0
  12. eml_stdlib/biology/abilities/bite_force.eml +48 -0
  13. eml_stdlib/biology/abilities/chromatophore.eml +50 -0
  14. eml_stdlib/biology/abilities/discharge.eml +45 -0
  15. eml_stdlib/biology/abilities/elastic_energy.eml +42 -0
  16. eml_stdlib/biology/abilities/locomotion.eml +50 -0
  17. eml_stdlib/biology/abilities/muscle_power.eml +47 -0
  18. eml_stdlib/biology/abilities/sprint.eml +36 -0
  19. eml_stdlib/biology/abilities/texture_match.eml +49 -0
  20. eml_stdlib/biology/abilities/toxin.eml +44 -0
  21. eml_stdlib/biology/cone_l.eml +36 -0
  22. eml_stdlib/biology/cone_s.eml +32 -0
  23. eml_stdlib/biology/cryptochrome.eml +44 -0
  24. eml_stdlib/biology/geomagnetic_field.eml +32 -0
  25. eml_stdlib/biology/goldman_equation.eml +41 -0
  26. eml_stdlib/biology/hill_equation.eml +65 -0
  27. eml_stdlib/biology/hodgkin_huxley.eml +108 -0
  28. eml_stdlib/biology/michaelis_menten.eml +65 -0
  29. eml_stdlib/biology/plume_diffusion.eml +47 -0
  30. eml_stdlib/biology/receptor_binding.eml +35 -0
  31. eml_stdlib/biology/rod_sensitivity.eml +38 -0
  32. eml_stdlib/biology/tapetum.eml +70 -0
  33. eml_stdlib/carriers/acoustic_cloak.eml +56 -0
  34. eml_stdlib/carriers/ferron_emission.eml +55 -0
  35. eml_stdlib/carriers/ferron_logic.eml +45 -0
  36. eml_stdlib/carriers/ferron_propagation.eml +69 -0
  37. eml_stdlib/carriers/mach_zehnder.eml +52 -0
  38. eml_stdlib/carriers/magnon_dispersion.eml +57 -0
  39. eml_stdlib/carriers/magnon_logic.eml +45 -0
  40. eml_stdlib/carriers/optical_neuron.eml +55 -0
  41. eml_stdlib/carriers/phonon_bandgap.eml +54 -0
  42. eml_stdlib/carriers/ring_resonator.eml +48 -0
  43. eml_stdlib/carriers/spin_torque.eml +61 -0
  44. eml_stdlib/carriers/thermal_rectifier.eml +63 -0
  45. eml_stdlib/catalog.json +4209 -0
  46. eml_stdlib/circuits/buck_converter.eml +74 -0
  47. eml_stdlib/circuits/cmos_inverter.eml +75 -0
  48. eml_stdlib/circuits/h_bridge.eml +69 -0
  49. eml_stdlib/circuits/ldo.eml +66 -0
  50. eml_stdlib/circuits/mosfet_iv.eml +59 -0
  51. eml_stdlib/circuits/pll_loop.eml +63 -0
  52. eml_stdlib/circuits/rc_filter.eml +98 -0
  53. eml_stdlib/circuits/voltage_divider.eml +68 -0
  54. eml_stdlib/control/bangbang.eml +34 -0
  55. eml_stdlib/control/deadband.eml +28 -0
  56. eml_stdlib/control/hysteresis.eml +28 -0
  57. eml_stdlib/control/kalman_1d.eml +53 -0
  58. eml_stdlib/control/lqr_1d.eml +47 -0
  59. eml_stdlib/control/pid.eml +38 -0
  60. eml_stdlib/gaming/animation/bounce.eml +39 -0
  61. eml_stdlib/gaming/animation/ease_in.eml +27 -0
  62. eml_stdlib/gaming/animation/ease_in_out.eml +29 -0
  63. eml_stdlib/gaming/animation/ease_out.eml +27 -0
  64. eml_stdlib/gaming/animation/ik_2bone.eml +57 -0
  65. eml_stdlib/gaming/animation/spring.eml +39 -0
  66. eml_stdlib/gaming/audio/distance_attenuation.eml +50 -0
  67. eml_stdlib/gaming/audio/doppler.eml +39 -0
  68. eml_stdlib/gaming/audio/lowpass_audio.eml +32 -0
  69. eml_stdlib/gaming/audio/reverb_delay.eml +41 -0
  70. eml_stdlib/gaming/camera/dof_blur.eml +30 -0
  71. eml_stdlib/gaming/camera/fov_projection.eml +47 -0
  72. eml_stdlib/gaming/camera/orbit.eml +48 -0
  73. eml_stdlib/gaming/camera/shake.eml +20 -0
  74. eml_stdlib/gaming/lighting/ambient_occlusion.eml +40 -0
  75. eml_stdlib/gaming/lighting/area_light.eml +50 -0
  76. eml_stdlib/gaming/lighting/fog_exp.eml +28 -0
  77. eml_stdlib/gaming/lighting/fog_exp2.eml +30 -0
  78. eml_stdlib/gaming/lighting/point_light.eml +33 -0
  79. eml_stdlib/gaming/lighting/spot_light.eml +43 -0
  80. eml_stdlib/gaming/noise/fbm.eml +65 -0
  81. eml_stdlib/gaming/noise/perlin_2d.eml +65 -0
  82. eml_stdlib/gaming/noise/perlin_3d.eml +63 -0
  83. eml_stdlib/gaming/noise/simplex_2d.eml +67 -0
  84. eml_stdlib/gaming/noise/turbulence.eml +46 -0
  85. eml_stdlib/gaming/noise/value_noise.eml +45 -0
  86. eml_stdlib/gaming/noise/voronoi_2d.eml +83 -0
  87. eml_stdlib/gaming/noise/white_noise.eml +47 -0
  88. eml_stdlib/gaming/noise/worley.eml +79 -0
  89. eml_stdlib/gaming/particles/drag.eml +30 -0
  90. eml_stdlib/gaming/particles/emitter_radial.eml +35 -0
  91. eml_stdlib/gaming/particles/fade.eml +36 -0
  92. eml_stdlib/gaming/particles/gravity_particle.eml +32 -0
  93. eml_stdlib/gaming/particles/size_over_life.eml +28 -0
  94. eml_stdlib/gaming/physics/aabb_overlap.eml +38 -0
  95. eml_stdlib/gaming/physics/buoyancy.eml +43 -0
  96. eml_stdlib/gaming/physics/circle_collision.eml +46 -0
  97. eml_stdlib/gaming/physics/impulse_resolve.eml +39 -0
  98. eml_stdlib/gaming/physics/rigid_body_2d.eml +61 -0
  99. eml_stdlib/gaming/physics/spring_damper.eml +30 -0
  100. eml_stdlib/gaming/physics/verlet.eml +29 -0
  101. eml_stdlib/gaming/shading/fresnel.eml +57 -0
  102. eml_stdlib/gaming/shading/matcap.eml +34 -0
  103. eml_stdlib/gaming/shading/pbr_diffuse.eml +41 -0
  104. eml_stdlib/gaming/shading/pbr_specular.eml +75 -0
  105. eml_stdlib/gaming/shading/subsurface.eml +52 -0
  106. eml_stdlib/gaming/shading/toon.eml +30 -0
  107. eml_stdlib/gaming/terrain/biome_select.eml +41 -0
  108. eml_stdlib/gaming/terrain/cliff_detect.eml +35 -0
  109. eml_stdlib/gaming/terrain/erosion_hydraulic.eml +57 -0
  110. eml_stdlib/gaming/terrain/erosion_thermal.eml +44 -0
  111. eml_stdlib/gaming/terrain/heightmap.eml +33 -0
  112. eml_stdlib/gaming/textures/brick.eml +27 -0
  113. eml_stdlib/gaming/textures/caustics.eml +25 -0
  114. eml_stdlib/gaming/textures/checkerboard.eml +27 -0
  115. eml_stdlib/gaming/textures/fire.eml +26 -0
  116. eml_stdlib/gaming/textures/marble.eml +24 -0
  117. eml_stdlib/gaming/textures/rust.eml +23 -0
  118. eml_stdlib/gaming/textures/water_surface.eml +49 -0
  119. eml_stdlib/gaming/textures/wood.eml +41 -0
  120. eml_stdlib/math/abs.eml +45 -0
  121. eml_stdlib/math/atan.eml +32 -0
  122. eml_stdlib/math/atan2.eml +61 -0
  123. eml_stdlib/math/bessel_j0.eml +65 -0
  124. eml_stdlib/math/cos.eml +42 -0
  125. eml_stdlib/math/cosh.eml +24 -0
  126. eml_stdlib/math/erf.eml +66 -0
  127. eml_stdlib/math/exp.eml +49 -0
  128. eml_stdlib/math/gamma.eml +55 -0
  129. eml_stdlib/math/gaussian.eml +18 -0
  130. eml_stdlib/math/log.eml +59 -0
  131. eml_stdlib/math/pow.eml +51 -0
  132. eml_stdlib/math/relu.eml +63 -0
  133. eml_stdlib/math/sigmoid.eml +21 -0
  134. eml_stdlib/math/sin.eml +37 -0
  135. eml_stdlib/math/sinh.eml +24 -0
  136. eml_stdlib/math/softmax.eml +87 -0
  137. eml_stdlib/math/sqrt.eml +46 -0
  138. eml_stdlib/math/tan.eml +36 -0
  139. eml_stdlib/math/tanh.eml +54 -0
  140. eml_stdlib/ml/attention.eml +70 -0
  141. eml_stdlib/ml/cross_entropy.eml +85 -0
  142. eml_stdlib/ml/gelu.eml +51 -0
  143. eml_stdlib/ml/layernorm.eml +49 -0
  144. eml_stdlib/ml/leaky_relu.eml +51 -0
  145. eml_stdlib/ml/relu.eml +63 -0
  146. eml_stdlib/ml/rotary_embed.eml +64 -0
  147. eml_stdlib/ml/silu.eml +40 -0
  148. eml_stdlib/ml/softmax.eml +87 -0
  149. eml_stdlib/physics/coulomb.eml +48 -0
  150. eml_stdlib/physics/damped_oscillator.eml +20 -0
  151. eml_stdlib/physics/diffusion.eml +45 -0
  152. eml_stdlib/physics/gravity.eml +60 -0
  153. eml_stdlib/physics/hooke.eml +56 -0
  154. eml_stdlib/physics/navier_stokes_1d.eml +57 -0
  155. eml_stdlib/physics/planck_radiation.eml +77 -0
  156. eml_stdlib/physics/stefan_boltzmann.eml +75 -0
  157. eml_stdlib/physics/wave_propagation.eml +52 -0
  158. eml_stdlib/quantum/cnot.eml +72 -0
  159. eml_stdlib/quantum/grover_oracle.eml +69 -0
  160. eml_stdlib/quantum/hadamard.eml +73 -0
  161. eml_stdlib/quantum/pauli_x.eml +29 -0
  162. eml_stdlib/quantum/pauli_z.eml +29 -0
  163. eml_stdlib/quantum/phase_gate.eml +76 -0
  164. eml_stdlib/quantum/rotation_rz.eml +92 -0
  165. eml_stdlib/sensors/accelerometer.eml +59 -0
  166. eml_stdlib/sensors/hall_effect.eml +42 -0
  167. eml_stdlib/sensors/photodetector.eml +58 -0
  168. eml_stdlib/sensors/rtd.eml +57 -0
  169. eml_stdlib/sensors/strain_gauge.eml +63 -0
  170. eml_stdlib/sensors/thermistor.eml +71 -0
  171. eml_stdlib/signal/bandpass.eml +39 -0
  172. eml_stdlib/signal/chirp.eml +42 -0
  173. eml_stdlib/signal/dft_single.eml +30 -0
  174. eml_stdlib/signal/fft_butterfly.eml +36 -0
  175. eml_stdlib/signal/highpass.eml +45 -0
  176. eml_stdlib/signal/lowpass.eml +49 -0
  177. eml_stdlib/signal/matched_filter.eml +48 -0
  178. eml_stdlib/signal/notch_filter.eml +47 -0
  179. eml_stdlib/signal/window_hamming.eml +47 -0
  180. eml_stdlib/signal/window_hann.eml +50 -0
  181. eml_stdlib-0.4.0.dist-info/METADATA +453 -0
  182. eml_stdlib-0.4.0.dist-info/RECORD +185 -0
  183. eml_stdlib-0.4.0.dist-info/WHEEL +5 -0
  184. eml_stdlib-0.4.0.dist-info/licenses/LICENSE +21 -0
  185. eml_stdlib-0.4.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,4209 @@
1
+ [
2
+ {
3
+ "category": "ballistics",
4
+ "file": "ballistics/air_density.eml",
5
+ "module": "air_density",
6
+ "functions": [
7
+ {
8
+ "name": "density_isothermal",
9
+ "chain_order": 1,
10
+ "verified": true
11
+ },
12
+ {
13
+ "name": "density_with_temperature",
14
+ "chain_order": 1,
15
+ "verified": true
16
+ },
17
+ {
18
+ "name": "density_humid",
19
+ "chain_order": 1,
20
+ "verified": true
21
+ },
22
+ {
23
+ "name": "density_ratio",
24
+ "chain_order": 1,
25
+ "verified": true
26
+ }
27
+ ],
28
+ "description": "atmospheric density model.",
29
+ "source": "new"
30
+ },
31
+ {
32
+ "category": "ballistics",
33
+ "file": "ballistics/ballistic_solver.eml",
34
+ "module": "ballistic_solver",
35
+ "functions": [
36
+ {
37
+ "name": "solve_tof",
38
+ "chain_order": 1,
39
+ "verified": true
40
+ },
41
+ {
42
+ "name": "solve_drop",
43
+ "chain_order": 0,
44
+ "verified": true
45
+ },
46
+ {
47
+ "name": "solve_wind_drift",
48
+ "chain_order": 0,
49
+ "verified": true
50
+ },
51
+ {
52
+ "name": "solve_coriolis_horiz",
53
+ "chain_order": 1,
54
+ "verified": true
55
+ },
56
+ {
57
+ "name": "solve_spin_drift",
58
+ "chain_order": 1,
59
+ "verified": true
60
+ },
61
+ {
62
+ "name": "solve_impact_velocity",
63
+ "chain_order": 1,
64
+ "verified": true
65
+ },
66
+ {
67
+ "name": "solve_hold_up_mil",
68
+ "chain_order": 0,
69
+ "verified": true
70
+ },
71
+ {
72
+ "name": "solve_hold_off_mil",
73
+ "chain_order": 0,
74
+ "verified": true
75
+ }
76
+ ],
77
+ "description": "composes drag/gravity/wind/coriolis/spin",
78
+ "source": "new"
79
+ },
80
+ {
81
+ "category": "ballistics",
82
+ "file": "ballistics/coriolis.eml",
83
+ "module": "coriolis",
84
+ "functions": [
85
+ {
86
+ "name": "horizontal_accel",
87
+ "chain_order": 1,
88
+ "verified": true
89
+ },
90
+ {
91
+ "name": "vertical_accel",
92
+ "chain_order": 1,
93
+ "verified": true
94
+ },
95
+ {
96
+ "name": "horizontal_drift",
97
+ "chain_order": 1,
98
+ "verified": true
99
+ },
100
+ {
101
+ "name": "vertical_drift",
102
+ "chain_order": 1,
103
+ "verified": true
104
+ }
105
+ ],
106
+ "description": "Coriolis deflection from Earth's rotation.",
107
+ "source": "new"
108
+ },
109
+ {
110
+ "category": "ballistics",
111
+ "file": "ballistics/drag.eml",
112
+ "module": "drag",
113
+ "functions": [
114
+ {
115
+ "name": "drag_force",
116
+ "chain_order": 0,
117
+ "verified": true
118
+ },
119
+ {
120
+ "name": "drag_deceleration",
121
+ "chain_order": 0,
122
+ "verified": true
123
+ },
124
+ {
125
+ "name": "drag_decel_from_bc",
126
+ "chain_order": 0,
127
+ "verified": true
128
+ }
129
+ ],
130
+ "description": "quadratic aerodynamic drag.",
131
+ "source": "new"
132
+ },
133
+ {
134
+ "category": "ballistics",
135
+ "file": "ballistics/gravity.eml",
136
+ "module": "gravity",
137
+ "functions": [
138
+ {
139
+ "name": "drop",
140
+ "chain_order": 0,
141
+ "verified": true
142
+ },
143
+ {
144
+ "name": "drop_at_zero",
145
+ "chain_order": 0,
146
+ "verified": true
147
+ },
148
+ {
149
+ "name": "drop_earth",
150
+ "chain_order": 0,
151
+ "verified": true
152
+ },
153
+ {
154
+ "name": "hold_up_mil",
155
+ "chain_order": 0,
156
+ "verified": true
157
+ }
158
+ ],
159
+ "description": "ballistic drop from gravity, no drag coupling.",
160
+ "source": "new"
161
+ },
162
+ {
163
+ "category": "ballistics",
164
+ "file": "ballistics/muzzle_velocity.eml",
165
+ "module": "muzzle_velocity",
166
+ "functions": [
167
+ {
168
+ "name": "corrected_velocity",
169
+ "chain_order": 0,
170
+ "verified": true
171
+ },
172
+ {
173
+ "name": "corrected_default",
174
+ "chain_order": 0,
175
+ "verified": true
176
+ },
177
+ {
178
+ "name": "percent_change",
179
+ "chain_order": 0,
180
+ "verified": true
181
+ }
182
+ ],
183
+ "description": "temperature compensation for muzzle velocity.",
184
+ "source": "new"
185
+ },
186
+ {
187
+ "category": "ballistics",
188
+ "file": "ballistics/spin_drift.eml",
189
+ "module": "spin_drift",
190
+ "functions": [
191
+ {
192
+ "name": "drift_inches_litz",
193
+ "chain_order": 1,
194
+ "verified": true
195
+ },
196
+ {
197
+ "name": "drift_metres_litz",
198
+ "chain_order": 1,
199
+ "verified": true
200
+ },
201
+ {
202
+ "name": "drift_metres_surrogate",
203
+ "chain_order": 0,
204
+ "verified": true
205
+ },
206
+ {
207
+ "name": "hold_off_mil",
208
+ "chain_order": 0,
209
+ "verified": true
210
+ }
211
+ ],
212
+ "description": "horizontal drift from gyroscopic Magnus effect.",
213
+ "source": "new"
214
+ },
215
+ {
216
+ "category": "ballistics",
217
+ "file": "ballistics/time_of_flight.eml",
218
+ "module": "time_of_flight",
219
+ "functions": [
220
+ {
221
+ "name": "tof_vacuum",
222
+ "chain_order": 0,
223
+ "verified": true
224
+ },
225
+ {
226
+ "name": "tof_constant_decel",
227
+ "chain_order": 1,
228
+ "verified": true
229
+ },
230
+ {
231
+ "name": "tof_pejsa",
232
+ "chain_order": 1,
233
+ "verified": true
234
+ },
235
+ {
236
+ "name": "step_range",
237
+ "chain_order": 0,
238
+ "verified": true
239
+ },
240
+ {
241
+ "name": "step_velocity",
242
+ "chain_order": 0,
243
+ "verified": true
244
+ }
245
+ ],
246
+ "description": "iterative time-of-flight under quadratic drag.",
247
+ "source": "new"
248
+ },
249
+ {
250
+ "category": "ballistics",
251
+ "file": "ballistics/wind.eml",
252
+ "module": "wind",
253
+ "functions": [
254
+ {
255
+ "name": "drift",
256
+ "chain_order": 0,
257
+ "verified": true
258
+ },
259
+ {
260
+ "name": "relative_airspeed",
261
+ "chain_order": 0,
262
+ "verified": true
263
+ },
264
+ {
265
+ "name": "perp_component",
266
+ "chain_order": 1,
267
+ "verified": true
268
+ },
269
+ {
270
+ "name": "along_component",
271
+ "chain_order": 1,
272
+ "verified": true
273
+ },
274
+ {
275
+ "name": "hold_off_mil",
276
+ "chain_order": 0,
277
+ "verified": true
278
+ }
279
+ ],
280
+ "description": "crosswind deflection.",
281
+ "source": "new"
282
+ },
283
+ {
284
+ "category": "biology",
285
+ "file": "biology/cone_l.eml",
286
+ "module": "cone_l",
287
+ "functions": [
288
+ {
289
+ "name": "cone_l_sensitivity",
290
+ "chain_order": 1,
291
+ "verified": true
292
+ }
293
+ ],
294
+ "description": "",
295
+ "source": "monogate-research/exploration/cat_vision/eml/cone_l.eml"
296
+ },
297
+ {
298
+ "category": "biology",
299
+ "file": "biology/cone_s.eml",
300
+ "module": "cone_s",
301
+ "functions": [
302
+ {
303
+ "name": "cone_s_sensitivity",
304
+ "chain_order": 1,
305
+ "verified": true
306
+ }
307
+ ],
308
+ "description": "",
309
+ "source": "monogate-research/exploration/cat_vision/eml/cone_s.eml"
310
+ },
311
+ {
312
+ "category": "biology",
313
+ "file": "biology/cryptochrome.eml",
314
+ "module": "cryptochrome",
315
+ "functions": [
316
+ {
317
+ "name": "cryptochrome_yield",
318
+ "chain_order": 1,
319
+ "verified": true
320
+ }
321
+ ],
322
+ "description": "",
323
+ "source": "monogate-research/exploration/pigeon_magnetoreception/eml/cryptochrome.eml"
324
+ },
325
+ {
326
+ "category": "biology",
327
+ "file": "biology/geomagnetic_field.eml",
328
+ "module": "geomagnetic_field",
329
+ "functions": [
330
+ {
331
+ "name": "geomagnetic_field",
332
+ "chain_order": 1,
333
+ "verified": true
334
+ }
335
+ ],
336
+ "description": "",
337
+ "source": "monogate-research/exploration/pigeon_magnetoreception/eml/geomagnetic_field.eml"
338
+ },
339
+ {
340
+ "category": "biology",
341
+ "file": "biology/goldman_equation.eml",
342
+ "module": "goldman_equation",
343
+ "functions": [
344
+ {
345
+ "name": "membrane_potential",
346
+ "chain_order": 1,
347
+ "verified": true
348
+ },
349
+ {
350
+ "name": "nernst",
351
+ "chain_order": 1,
352
+ "verified": true
353
+ }
354
+ ],
355
+ "description": "Goldman-Hodgkin-Katz voltage equation.",
356
+ "source": "new"
357
+ },
358
+ {
359
+ "category": "biology",
360
+ "file": "biology/hill_equation.eml",
361
+ "module": "hill",
362
+ "functions": [
363
+ {
364
+ "name": "hill_velocity",
365
+ "chain_order": 2,
366
+ "verified": true
367
+ },
368
+ {
369
+ "name": "hill_logit",
370
+ "chain_order": 1,
371
+ "verified": false
372
+ }
373
+ ],
374
+ "description": "Hill equation for cooperative binding.",
375
+ "source": "forge/industries/chemistry/kinetics/hill.eml"
376
+ },
377
+ {
378
+ "category": "biology",
379
+ "file": "biology/hodgkin_huxley.eml",
380
+ "module": "hodgkin_huxley_step",
381
+ "functions": [
382
+ {
383
+ "name": "voltage_step",
384
+ "chain_order": 0,
385
+ "verified": true
386
+ },
387
+ {
388
+ "name": "gating_step",
389
+ "chain_order": 0,
390
+ "verified": true
391
+ }
392
+ ],
393
+ "description": "HH neuron membrane voltage update.",
394
+ "source": "forge/industries/scientific/biology/hodgkin_huxley_step.eml"
395
+ },
396
+ {
397
+ "category": "biology",
398
+ "file": "biology/michaelis_menten.eml",
399
+ "module": "michaelis_menten",
400
+ "functions": [
401
+ {
402
+ "name": "velocity",
403
+ "chain_order": 0,
404
+ "verified": true
405
+ },
406
+ {
407
+ "name": "lineweaver_burk",
408
+ "chain_order": 0,
409
+ "verified": false
410
+ },
411
+ {
412
+ "name": "eadie_hofstee",
413
+ "chain_order": 0,
414
+ "verified": false
415
+ }
416
+ ],
417
+ "description": "Michaelis-Menten enzyme kinetics.",
418
+ "source": "forge/industries/chemistry/kinetics/michaelis_menten.eml"
419
+ },
420
+ {
421
+ "category": "biology",
422
+ "file": "biology/plume_diffusion.eml",
423
+ "module": "plume_diffusion",
424
+ "functions": [
425
+ {
426
+ "name": "plume_concentration",
427
+ "chain_order": 1,
428
+ "verified": true
429
+ }
430
+ ],
431
+ "description": "",
432
+ "source": "monogate-research/exploration/dog_olfaction/eml/plume_diffusion.eml"
433
+ },
434
+ {
435
+ "category": "biology",
436
+ "file": "biology/receptor_binding.eml",
437
+ "module": "receptor_binding",
438
+ "functions": [
439
+ {
440
+ "name": "receptor_binding",
441
+ "chain_order": 0,
442
+ "verified": true
443
+ }
444
+ ],
445
+ "description": "",
446
+ "source": "monogate-research/exploration/dog_olfaction/eml/receptor_binding.eml"
447
+ },
448
+ {
449
+ "category": "biology",
450
+ "file": "biology/rod_sensitivity.eml",
451
+ "module": "rod_sensitivity",
452
+ "functions": [
453
+ {
454
+ "name": "rod_sensitivity",
455
+ "chain_order": 1,
456
+ "verified": true
457
+ }
458
+ ],
459
+ "description": "",
460
+ "source": "monogate-research/exploration/cat_vision/eml/rod_sensitivity.eml"
461
+ },
462
+ {
463
+ "category": "biology",
464
+ "file": "biology/tapetum.eml",
465
+ "module": "tapetum",
466
+ "functions": [
467
+ {
468
+ "name": "tapetum_gain",
469
+ "chain_order": 1,
470
+ "verified": true
471
+ },
472
+ {
473
+ "name": "tapetum_amplify",
474
+ "chain_order": 1,
475
+ "verified": true
476
+ }
477
+ ],
478
+ "description": "",
479
+ "source": "monogate-research/exploration/cat_vision/eml/tapetum.eml"
480
+ },
481
+ {
482
+ "category": "biology/abilities",
483
+ "file": "biology/abilities/ballistic_armor.eml",
484
+ "module": "ballistic_armor",
485
+ "functions": [
486
+ {
487
+ "name": "kinetic_energy",
488
+ "chain_order": 0,
489
+ "verified": true
490
+ },
491
+ {
492
+ "name": "energy_absorbed",
493
+ "chain_order": 0,
494
+ "verified": true
495
+ },
496
+ {
497
+ "name": "energy_penetrating",
498
+ "chain_order": 0,
499
+ "verified": true
500
+ },
501
+ {
502
+ "name": "ricochet_probability",
503
+ "chain_order": 1,
504
+ "verified": true
505
+ }
506
+ ],
507
+ "description": "armadillo plate / ballistic vest absorption.",
508
+ "source": "apex-predator/eml/abilities/ballistic_armor.eml"
509
+ },
510
+ {
511
+ "category": "biology/abilities",
512
+ "file": "biology/abilities/bite_force.eml",
513
+ "module": "bite_force",
514
+ "functions": [
515
+ {
516
+ "name": "bite_force_n",
517
+ "chain_order": 1,
518
+ "verified": true
519
+ },
520
+ {
521
+ "name": "damage_per_bite",
522
+ "chain_order": 0,
523
+ "verified": true
524
+ },
525
+ {
526
+ "name": "stage_multiplier",
527
+ "chain_order": 0,
528
+ "verified": true
529
+ }
530
+ ],
531
+ "description": "jaw-power scaling for the beast's stage attacks.",
532
+ "source": "apex-predator/eml/abilities/bite_force.eml"
533
+ },
534
+ {
535
+ "category": "biology/abilities",
536
+ "file": "biology/abilities/chromatophore.eml",
537
+ "module": "chromatophore",
538
+ "functions": [
539
+ {
540
+ "name": "bragg_wavelength",
541
+ "chain_order": 1,
542
+ "verified": true
543
+ },
544
+ {
545
+ "name": "transparency",
546
+ "chain_order": 1,
547
+ "verified": true
548
+ },
549
+ {
550
+ "name": "detection_contrast",
551
+ "chain_order": 0,
552
+ "verified": true
553
+ }
554
+ ],
555
+ "description": "gecko / cephalopod camouflage via Bragg reflection.",
556
+ "source": "apex-predator/eml/abilities/chromatophore.eml"
557
+ },
558
+ {
559
+ "category": "biology/abilities",
560
+ "file": "biology/abilities/discharge.eml",
561
+ "module": "discharge",
562
+ "functions": [
563
+ {
564
+ "name": "voltage",
565
+ "chain_order": 1,
566
+ "verified": true
567
+ },
568
+ {
569
+ "name": "voltage_default",
570
+ "chain_order": 1,
571
+ "verified": true
572
+ },
573
+ {
574
+ "name": "pulse_energy",
575
+ "chain_order": 0,
576
+ "verified": true
577
+ }
578
+ ],
579
+ "description": "electric eel discharge waveform.",
580
+ "source": "apex-predator/eml/abilities/discharge.eml"
581
+ },
582
+ {
583
+ "category": "biology/abilities",
584
+ "file": "biology/abilities/elastic_energy.eml",
585
+ "module": "elastic_energy",
586
+ "functions": [
587
+ {
588
+ "name": "takeoff_velocity",
589
+ "chain_order": 1,
590
+ "verified": true
591
+ },
592
+ {
593
+ "name": "jump_height",
594
+ "chain_order": 0,
595
+ "verified": true
596
+ },
597
+ {
598
+ "name": "jump_range",
599
+ "chain_order": 0,
600
+ "verified": true
601
+ }
602
+ ],
603
+ "description": "flea-style elastic-jump physics.",
604
+ "source": "apex-predator/eml/abilities/elastic_energy.eml"
605
+ },
606
+ {
607
+ "category": "biology/abilities",
608
+ "file": "biology/abilities/locomotion.eml",
609
+ "module": "locomotion",
610
+ "functions": [
611
+ {
612
+ "name": "ground_speed",
613
+ "chain_order": 0,
614
+ "verified": true
615
+ },
616
+ {
617
+ "name": "speed_multiplier",
618
+ "chain_order": 0,
619
+ "verified": true
620
+ },
621
+ {
622
+ "name": "wall_climb_capable",
623
+ "chain_order": 0,
624
+ "verified": true
625
+ }
626
+ ],
627
+ "description": "many-legged speed bonus model (centipede).",
628
+ "source": "apex-predator/eml/abilities/locomotion.eml"
629
+ },
630
+ {
631
+ "category": "biology/abilities",
632
+ "file": "biology/abilities/muscle_power.eml",
633
+ "module": "muscle_power",
634
+ "functions": [
635
+ {
636
+ "name": "total_power",
637
+ "chain_order": 0,
638
+ "verified": true
639
+ },
640
+ {
641
+ "name": "power_to_weight",
642
+ "chain_order": 0,
643
+ "verified": true
644
+ },
645
+ {
646
+ "name": "top_speed_proxy",
647
+ "chain_order": 1,
648
+ "verified": true
649
+ }
650
+ ],
651
+ "description": "striated-muscle power-to-mass scaling.",
652
+ "source": "apex-predator/eml/abilities/muscle_power.eml"
653
+ },
654
+ {
655
+ "category": "biology/abilities",
656
+ "file": "biology/abilities/sprint.eml",
657
+ "module": "sprint",
658
+ "functions": [
659
+ {
660
+ "name": "velocity",
661
+ "chain_order": 1,
662
+ "verified": true
663
+ },
664
+ {
665
+ "name": "distance_covered",
666
+ "chain_order": 1,
667
+ "verified": true
668
+ }
669
+ ],
670
+ "description": "cheetah-style burst-acceleration model.",
671
+ "source": "apex-predator/eml/abilities/sprint.eml"
672
+ },
673
+ {
674
+ "category": "biology/abilities",
675
+ "file": "biology/abilities/texture_match.eml",
676
+ "module": "texture_match",
677
+ "functions": [
678
+ {
679
+ "name": "match_score",
680
+ "chain_order": 1,
681
+ "verified": true
682
+ },
683
+ {
684
+ "name": "detection_probability",
685
+ "chain_order": 0,
686
+ "verified": true
687
+ },
688
+ {
689
+ "name": "ink_visibility",
690
+ "chain_order": 1,
691
+ "verified": true
692
+ }
693
+ ],
694
+ "description": "octopus chromatic + textural skin matching.",
695
+ "source": "apex-predator/eml/abilities/texture_match.eml"
696
+ },
697
+ {
698
+ "category": "biology/abilities",
699
+ "file": "biology/abilities/toxin.eml",
700
+ "module": "toxin",
701
+ "functions": [
702
+ {
703
+ "name": "concentration",
704
+ "chain_order": 1,
705
+ "verified": true
706
+ },
707
+ {
708
+ "name": "damage_rate",
709
+ "chain_order": 1,
710
+ "verified": true
711
+ },
712
+ {
713
+ "name": "total_damage",
714
+ "chain_order": 1,
715
+ "verified": true
716
+ }
717
+ ],
718
+ "description": "viper-bite damage-over-time model.",
719
+ "source": "apex-predator/eml/abilities/toxin.eml"
720
+ },
721
+ {
722
+ "category": "carriers",
723
+ "file": "carriers/acoustic_cloak.eml",
724
+ "module": "acoustic_cloak",
725
+ "functions": [
726
+ {
727
+ "name": "shell_index",
728
+ "chain_order": 0,
729
+ "verified": false
730
+ },
731
+ {
732
+ "name": "outer_boundary_index",
733
+ "chain_order": 0,
734
+ "verified": true
735
+ },
736
+ {
737
+ "name": "shell_thickness",
738
+ "chain_order": 0,
739
+ "verified": true
740
+ }
741
+ ],
742
+ "description": "TIER 5: PHONONICS, third demo.",
743
+ "source": "forge/examples/carriers/phononics/acoustic_cloak.eml"
744
+ },
745
+ {
746
+ "category": "carriers",
747
+ "file": "carriers/ferron_emission.eml",
748
+ "module": "ferron_emission",
749
+ "functions": [
750
+ {
751
+ "name": "thz_power",
752
+ "chain_order": 0,
753
+ "verified": false
754
+ },
755
+ {
756
+ "name": "power_at_zero_drive",
757
+ "chain_order": 0,
758
+ "verified": true
759
+ },
760
+ {
761
+ "name": "k_emit_certificate",
762
+ "chain_order": 0,
763
+ "verified": true
764
+ }
765
+ ],
766
+ "description": "TIER 6: FERRONICS, second demo.",
767
+ "source": "forge/examples/carriers/ferronics/ferron_emission.eml"
768
+ },
769
+ {
770
+ "category": "carriers",
771
+ "file": "carriers/ferron_logic.eml",
772
+ "module": "ferron_logic",
773
+ "functions": [
774
+ {
775
+ "name": "output_amplitude",
776
+ "chain_order": 1,
777
+ "verified": false
778
+ },
779
+ {
780
+ "name": "constructive_certificate",
781
+ "chain_order": 1,
782
+ "verified": true
783
+ },
784
+ {
785
+ "name": "p_squared_witness",
786
+ "chain_order": 1,
787
+ "verified": true
788
+ }
789
+ ],
790
+ "description": "TIER 6: FERRONICS, fourth demo.",
791
+ "source": "forge/examples/carriers/ferronics/ferron_logic.eml"
792
+ },
793
+ {
794
+ "category": "carriers",
795
+ "file": "carriers/ferron_propagation.eml",
796
+ "module": "ferron_propagation",
797
+ "functions": [
798
+ {
799
+ "name": "polarization",
800
+ "chain_order": 1,
801
+ "verified": false
802
+ },
803
+ {
804
+ "name": "envelope",
805
+ "chain_order": 1,
806
+ "verified": false
807
+ },
808
+ {
809
+ "name": "polarization_at_origin",
810
+ "chain_order": 1,
811
+ "verified": true
812
+ },
813
+ {
814
+ "name": "envelope_at_origin",
815
+ "chain_order": 1,
816
+ "verified": true
817
+ }
818
+ ],
819
+ "description": "TIER 6: FERRONICS (ferron carrier)",
820
+ "source": "forge/examples/carriers/ferronics/ferron_propagation.eml"
821
+ },
822
+ {
823
+ "category": "carriers",
824
+ "file": "carriers/mach_zehnder.eml",
825
+ "module": "mach_zehnder",
826
+ "functions": [
827
+ {
828
+ "name": "intensity_out",
829
+ "chain_order": 1,
830
+ "verified": false
831
+ },
832
+ {
833
+ "name": "intensity_at_zero",
834
+ "chain_order": 1,
835
+ "verified": true
836
+ },
837
+ {
838
+ "name": "cos_sq_at_zero",
839
+ "chain_order": 1,
840
+ "verified": true
841
+ }
842
+ ],
843
+ "description": "TIER 3: PHOTONICS (photon carrier)",
844
+ "source": "forge/examples/carriers/photonics/mach_zehnder.eml"
845
+ },
846
+ {
847
+ "category": "carriers",
848
+ "file": "carriers/magnon_dispersion.eml",
849
+ "module": "magnon_dispersion",
850
+ "functions": [
851
+ {
852
+ "name": "omega",
853
+ "chain_order": 0,
854
+ "verified": false
855
+ },
856
+ {
857
+ "name": "omega_at_zero_k",
858
+ "chain_order": 0,
859
+ "verified": true
860
+ },
861
+ {
862
+ "name": "fmr_freq",
863
+ "chain_order": 0,
864
+ "verified": true
865
+ }
866
+ ],
867
+ "description": "TIER 4: SPINTRONICS (magnon carrier)",
868
+ "source": "forge/examples/carriers/spintronics/magnon_dispersion.eml"
869
+ },
870
+ {
871
+ "category": "carriers",
872
+ "file": "carriers/magnon_logic.eml",
873
+ "module": "magnon_logic",
874
+ "functions": [
875
+ {
876
+ "name": "output_amplitude",
877
+ "chain_order": 1,
878
+ "verified": false
879
+ },
880
+ {
881
+ "name": "constructive_certificate",
882
+ "chain_order": 1,
883
+ "verified": true
884
+ },
885
+ {
886
+ "name": "intensity_witness",
887
+ "chain_order": 1,
888
+ "verified": true
889
+ }
890
+ ],
891
+ "description": "TIER 4: SPINTRONICS, third demo.",
892
+ "source": "forge/examples/carriers/spintronics/magnon_logic.eml"
893
+ },
894
+ {
895
+ "category": "carriers",
896
+ "file": "carriers/optical_neuron.eml",
897
+ "module": "optical_neuron",
898
+ "functions": [
899
+ {
900
+ "name": "activation",
901
+ "chain_order": 1,
902
+ "verified": false
903
+ },
904
+ {
905
+ "name": "dark_output",
906
+ "chain_order": 0,
907
+ "verified": true
908
+ },
909
+ {
910
+ "name": "isat_certificate",
911
+ "chain_order": 1,
912
+ "verified": true
913
+ }
914
+ ],
915
+ "description": "TIER 3: PHOTONICS, fourth demo.",
916
+ "source": "forge/examples/carriers/photonics/optical_neuron.eml"
917
+ },
918
+ {
919
+ "category": "carriers",
920
+ "file": "carriers/phonon_bandgap.eml",
921
+ "module": "phonon_bandgap",
922
+ "functions": [
923
+ {
924
+ "name": "transmission",
925
+ "chain_order": 1,
926
+ "verified": false
927
+ },
928
+ {
929
+ "name": "transmission_at_zero",
930
+ "chain_order": 1,
931
+ "verified": true
932
+ },
933
+ {
934
+ "name": "sin_sq_at_zero",
935
+ "chain_order": 1,
936
+ "verified": true
937
+ }
938
+ ],
939
+ "description": "TIER 5: PHONONICS (phonon carrier)",
940
+ "source": "forge/examples/carriers/phononics/phonon_bandgap.eml"
941
+ },
942
+ {
943
+ "category": "carriers",
944
+ "file": "carriers/ring_resonator.eml",
945
+ "module": "ring_resonator",
946
+ "functions": [
947
+ {
948
+ "name": "transmission",
949
+ "chain_order": 1,
950
+ "verified": false
951
+ },
952
+ {
953
+ "name": "peak_transmission",
954
+ "chain_order": 1,
955
+ "verified": true
956
+ },
957
+ {
958
+ "name": "fsr_separation",
959
+ "chain_order": 0,
960
+ "verified": true
961
+ }
962
+ ],
963
+ "description": "TIER 3: PHOTONICS, second demo.",
964
+ "source": "forge/examples/carriers/photonics/ring_resonator.eml"
965
+ },
966
+ {
967
+ "category": "carriers",
968
+ "file": "carriers/spin_torque.eml",
969
+ "module": "spin_torque",
970
+ "functions": [
971
+ {
972
+ "name": "larmor_frequency",
973
+ "chain_order": 0,
974
+ "verified": false
975
+ },
976
+ {
977
+ "name": "damping_prefactor",
978
+ "chain_order": 0,
979
+ "verified": false
980
+ },
981
+ {
982
+ "name": "larmor_certificate",
983
+ "chain_order": 0,
984
+ "verified": true
985
+ },
986
+ {
987
+ "name": "prefactor_at_zero_damping",
988
+ "chain_order": 0,
989
+ "verified": true
990
+ }
991
+ ],
992
+ "description": "TIER 4: SPINTRONICS, second demo.",
993
+ "source": "forge/examples/carriers/spintronics/spin_torque.eml"
994
+ },
995
+ {
996
+ "category": "carriers",
997
+ "file": "carriers/thermal_rectifier.eml",
998
+ "module": "thermal_rectifier",
999
+ "functions": [
1000
+ {
1001
+ "name": "forward_conductance",
1002
+ "chain_order": 0,
1003
+ "verified": false
1004
+ },
1005
+ {
1006
+ "name": "rectification_ratio",
1007
+ "chain_order": 0,
1008
+ "verified": false
1009
+ },
1010
+ {
1011
+ "name": "asymmetry",
1012
+ "chain_order": 0,
1013
+ "verified": false
1014
+ },
1015
+ {
1016
+ "name": "forward_positive",
1017
+ "chain_order": 0,
1018
+ "verified": true
1019
+ },
1020
+ {
1021
+ "name": "symmetric_certificate",
1022
+ "chain_order": 0,
1023
+ "verified": true
1024
+ }
1025
+ ],
1026
+ "description": "TIER 5: PHONONICS, second demo.",
1027
+ "source": "forge/examples/carriers/phononics/thermal_rectifier.eml"
1028
+ },
1029
+ {
1030
+ "category": "circuits",
1031
+ "file": "circuits/buck_converter.eml",
1032
+ "module": "buck_converter",
1033
+ "functions": [
1034
+ {
1035
+ "name": "circuit",
1036
+ "chain_order": 0,
1037
+ "verified": false
1038
+ },
1039
+ {
1040
+ "name": "output_voltage",
1041
+ "chain_order": 0,
1042
+ "verified": true
1043
+ },
1044
+ {
1045
+ "name": "inductor_ripple",
1046
+ "chain_order": 0,
1047
+ "verified": true
1048
+ },
1049
+ {
1050
+ "name": "output_ripple",
1051
+ "chain_order": 0,
1052
+ "verified": true
1053
+ },
1054
+ {
1055
+ "name": "critical_inductance",
1056
+ "chain_order": 0,
1057
+ "verified": true
1058
+ }
1059
+ ],
1060
+ "description": "step-down DC-DC buck converter (CCM).",
1061
+ "source": "new"
1062
+ },
1063
+ {
1064
+ "category": "circuits",
1065
+ "file": "circuits/cmos_inverter.eml",
1066
+ "module": "cmos_inverter",
1067
+ "functions": [
1068
+ {
1069
+ "name": "vout_at_low_input",
1070
+ "chain_order": 0,
1071
+ "verified": false
1072
+ },
1073
+ {
1074
+ "name": "vout_at_high_input",
1075
+ "chain_order": 0,
1076
+ "verified": false
1077
+ },
1078
+ {
1079
+ "name": "switching_threshold",
1080
+ "chain_order": 0,
1081
+ "verified": false
1082
+ },
1083
+ {
1084
+ "name": "low_input_certificate",
1085
+ "chain_order": 0,
1086
+ "verified": true
1087
+ },
1088
+ {
1089
+ "name": "high_input_certificate",
1090
+ "chain_order": 0,
1091
+ "verified": true
1092
+ },
1093
+ {
1094
+ "name": "vm_certificate",
1095
+ "chain_order": 0,
1096
+ "verified": true
1097
+ }
1098
+ ],
1099
+ "description": "TIER 2: ELECTRONICS, second demo.",
1100
+ "source": "forge/examples/carriers/electronics/cmos_inverter.eml"
1101
+ },
1102
+ {
1103
+ "category": "circuits",
1104
+ "file": "circuits/h_bridge.eml",
1105
+ "module": "h_bridge",
1106
+ "functions": [
1107
+ {
1108
+ "name": "circuit",
1109
+ "chain_order": 0,
1110
+ "verified": false
1111
+ },
1112
+ {
1113
+ "name": "forward_voltage",
1114
+ "chain_order": 0,
1115
+ "verified": true
1116
+ },
1117
+ {
1118
+ "name": "reverse_voltage",
1119
+ "chain_order": 0,
1120
+ "verified": true
1121
+ },
1122
+ {
1123
+ "name": "dead_time_loss",
1124
+ "chain_order": 0,
1125
+ "verified": true
1126
+ }
1127
+ ],
1128
+ "description": "DC-motor H-bridge driver.",
1129
+ "source": "new"
1130
+ },
1131
+ {
1132
+ "category": "circuits",
1133
+ "file": "circuits/ldo.eml",
1134
+ "module": "ldo",
1135
+ "functions": [
1136
+ {
1137
+ "name": "circuit",
1138
+ "chain_order": 0,
1139
+ "verified": false
1140
+ },
1141
+ {
1142
+ "name": "output_voltage",
1143
+ "chain_order": 0,
1144
+ "verified": true
1145
+ },
1146
+ {
1147
+ "name": "efficiency",
1148
+ "chain_order": 0,
1149
+ "verified": true
1150
+ },
1151
+ {
1152
+ "name": "dissipation",
1153
+ "chain_order": 0,
1154
+ "verified": true
1155
+ },
1156
+ {
1157
+ "name": "dropout_voltage",
1158
+ "chain_order": 0,
1159
+ "verified": true
1160
+ }
1161
+ ],
1162
+ "description": "low-dropout linear regulator.",
1163
+ "source": "new"
1164
+ },
1165
+ {
1166
+ "category": "circuits",
1167
+ "file": "circuits/mosfet_iv.eml",
1168
+ "module": "mosfet_iv",
1169
+ "functions": [
1170
+ {
1171
+ "name": "drain_current_sat",
1172
+ "chain_order": 0,
1173
+ "verified": false
1174
+ },
1175
+ {
1176
+ "name": "id_at_threshold",
1177
+ "chain_order": 0,
1178
+ "verified": true
1179
+ },
1180
+ {
1181
+ "name": "id_prefactor",
1182
+ "chain_order": 0,
1183
+ "verified": true
1184
+ }
1185
+ ],
1186
+ "description": "TIER 2: ELECTRONICS (electron carrier)",
1187
+ "source": "forge/examples/carriers/electronics/mosfet_iv.eml"
1188
+ },
1189
+ {
1190
+ "category": "circuits",
1191
+ "file": "circuits/pll_loop.eml",
1192
+ "module": "pll_loop",
1193
+ "functions": [
1194
+ {
1195
+ "name": "loop_gain",
1196
+ "chain_order": 0,
1197
+ "verified": false
1198
+ },
1199
+ {
1200
+ "name": "steady_state_error_at_zero_offset",
1201
+ "chain_order": 0,
1202
+ "verified": false
1203
+ },
1204
+ {
1205
+ "name": "loop_gain_certificate",
1206
+ "chain_order": 0,
1207
+ "verified": true
1208
+ },
1209
+ {
1210
+ "name": "ss_error_certificate",
1211
+ "chain_order": 0,
1212
+ "verified": true
1213
+ }
1214
+ ],
1215
+ "description": "TIER 2: ELECTRONICS, third demo.",
1216
+ "source": "forge/examples/carriers/electronics/pll_loop.eml"
1217
+ },
1218
+ {
1219
+ "category": "circuits",
1220
+ "file": "circuits/rc_filter.eml",
1221
+ "module": "rc_filter",
1222
+ "functions": [
1223
+ {
1224
+ "name": "circuit",
1225
+ "chain_order": 0,
1226
+ "verified": false
1227
+ },
1228
+ {
1229
+ "name": "tau",
1230
+ "chain_order": 0,
1231
+ "verified": true
1232
+ },
1233
+ {
1234
+ "name": "vout_steady",
1235
+ "chain_order": 0,
1236
+ "verified": true
1237
+ },
1238
+ {
1239
+ "name": "vout_initial",
1240
+ "chain_order": 0,
1241
+ "verified": true
1242
+ },
1243
+ {
1244
+ "name": "vout_charging",
1245
+ "chain_order": 1,
1246
+ "verified": true
1247
+ },
1248
+ {
1249
+ "name": "vout_charging_at_zero",
1250
+ "chain_order": 1,
1251
+ "verified": true
1252
+ }
1253
+ ],
1254
+ "description": "single-pole RC low-pass filter, the canonical",
1255
+ "source": "forge/examples/rc_filter.eml"
1256
+ },
1257
+ {
1258
+ "category": "circuits",
1259
+ "file": "circuits/voltage_divider.eml",
1260
+ "module": "voltage_divider",
1261
+ "functions": [
1262
+ {
1263
+ "name": "circuit",
1264
+ "chain_order": 0,
1265
+ "verified": false
1266
+ },
1267
+ {
1268
+ "name": "vout_divider",
1269
+ "chain_order": 0,
1270
+ "verified": true
1271
+ },
1272
+ {
1273
+ "name": "rsum",
1274
+ "chain_order": 0,
1275
+ "verified": true
1276
+ },
1277
+ {
1278
+ "name": "vout_symmetric",
1279
+ "chain_order": 0,
1280
+ "verified": true
1281
+ }
1282
+ ],
1283
+ "description": "the textbook resistive divider, the",
1284
+ "source": "forge/examples/voltage_divider.eml"
1285
+ },
1286
+ {
1287
+ "category": "control",
1288
+ "file": "control/bangbang.eml",
1289
+ "module": "bangbang",
1290
+ "functions": [
1291
+ {
1292
+ "name": "bangbang",
1293
+ "chain_order": 0,
1294
+ "verified": true
1295
+ },
1296
+ {
1297
+ "name": "bangbang_symmetric",
1298
+ "chain_order": 0,
1299
+ "verified": true
1300
+ }
1301
+ ],
1302
+ "description": "bang-bang (relay) controller.",
1303
+ "source": "new"
1304
+ },
1305
+ {
1306
+ "category": "control",
1307
+ "file": "control/deadband.eml",
1308
+ "module": "deadband",
1309
+ "functions": [
1310
+ {
1311
+ "name": "deadband",
1312
+ "chain_order": 0,
1313
+ "verified": true
1314
+ },
1315
+ {
1316
+ "name": "deadband_asymmetric",
1317
+ "chain_order": 0,
1318
+ "verified": true
1319
+ }
1320
+ ],
1321
+ "description": "two-sided dead-zone (deadband) saturation.",
1322
+ "source": "new"
1323
+ },
1324
+ {
1325
+ "category": "control",
1326
+ "file": "control/hysteresis.eml",
1327
+ "module": "hysteresis",
1328
+ "functions": [
1329
+ {
1330
+ "name": "hysteresis_step",
1331
+ "chain_order": 0,
1332
+ "verified": true
1333
+ }
1334
+ ],
1335
+ "description": "Schmitt-trigger / hysteresis switching.",
1336
+ "source": "new"
1337
+ },
1338
+ {
1339
+ "category": "control",
1340
+ "file": "control/kalman_1d.eml",
1341
+ "module": "kalman_1d",
1342
+ "functions": [
1343
+ {
1344
+ "name": "kalman1d_predict",
1345
+ "chain_order": 0,
1346
+ "verified": true
1347
+ },
1348
+ {
1349
+ "name": "kalman1d_update",
1350
+ "chain_order": 0,
1351
+ "verified": true
1352
+ },
1353
+ {
1354
+ "name": "kalman1d_step",
1355
+ "chain_order": 0,
1356
+ "verified": true
1357
+ }
1358
+ ],
1359
+ "description": "one-step 1-D Kalman filter.",
1360
+ "source": "new"
1361
+ },
1362
+ {
1363
+ "category": "control",
1364
+ "file": "control/lqr_1d.eml",
1365
+ "module": "lqr_1d",
1366
+ "functions": [
1367
+ {
1368
+ "name": "riccati",
1369
+ "chain_order": 1,
1370
+ "verified": true
1371
+ },
1372
+ {
1373
+ "name": "lqr_gain",
1374
+ "chain_order": 0,
1375
+ "verified": true
1376
+ },
1377
+ {
1378
+ "name": "lqr_control",
1379
+ "chain_order": 0,
1380
+ "verified": true
1381
+ }
1382
+ ],
1383
+ "description": "1-D infinite-horizon LQR.",
1384
+ "source": "new"
1385
+ },
1386
+ {
1387
+ "category": "control",
1388
+ "file": "control/pid.eml",
1389
+ "module": "pid_controller",
1390
+ "functions": [
1391
+ {
1392
+ "name": "pid",
1393
+ "chain_order": 0,
1394
+ "verified": true
1395
+ }
1396
+ ],
1397
+ "description": "the textbook PID controller.",
1398
+ "source": "forge/examples/pid_controller.eml"
1399
+ },
1400
+ {
1401
+ "category": "gaming/animation",
1402
+ "file": "gaming/animation/bounce.eml",
1403
+ "module": "bounce",
1404
+ "functions": [
1405
+ {
1406
+ "name": "bounce_out",
1407
+ "chain_order": 0,
1408
+ "verified": true
1409
+ },
1410
+ {
1411
+ "name": "bounce_in",
1412
+ "chain_order": 0,
1413
+ "verified": true
1414
+ }
1415
+ ],
1416
+ "description": "piecewise parabolic bounce-out curve.",
1417
+ "source": "new"
1418
+ },
1419
+ {
1420
+ "category": "gaming/animation",
1421
+ "file": "gaming/animation/ease_in.eml",
1422
+ "module": "ease_in",
1423
+ "functions": [
1424
+ {
1425
+ "name": "ease_in_quad",
1426
+ "chain_order": 0,
1427
+ "verified": true
1428
+ },
1429
+ {
1430
+ "name": "ease_in_cubic",
1431
+ "chain_order": 0,
1432
+ "verified": true
1433
+ }
1434
+ ],
1435
+ "description": "quadratic ease-in: t\u00b2.",
1436
+ "source": "new"
1437
+ },
1438
+ {
1439
+ "category": "gaming/animation",
1440
+ "file": "gaming/animation/ease_in_out.eml",
1441
+ "module": "ease_in_out",
1442
+ "functions": [
1443
+ {
1444
+ "name": "smoothstep",
1445
+ "chain_order": 0,
1446
+ "verified": true
1447
+ },
1448
+ {
1449
+ "name": "smootherstep",
1450
+ "chain_order": 0,
1451
+ "verified": true
1452
+ }
1453
+ ],
1454
+ "description": "smoothstep: 3t\u00b2 - 2t\u00b3.",
1455
+ "source": "new"
1456
+ },
1457
+ {
1458
+ "category": "gaming/animation",
1459
+ "file": "gaming/animation/ease_out.eml",
1460
+ "module": "ease_out",
1461
+ "functions": [
1462
+ {
1463
+ "name": "ease_out_quad",
1464
+ "chain_order": 0,
1465
+ "verified": true
1466
+ },
1467
+ {
1468
+ "name": "ease_out_cubic",
1469
+ "chain_order": 0,
1470
+ "verified": true
1471
+ }
1472
+ ],
1473
+ "description": "quadratic ease-out: 1 - (1 - t)\u00b2.",
1474
+ "source": "new"
1475
+ },
1476
+ {
1477
+ "category": "gaming/animation",
1478
+ "file": "gaming/animation/ik_2bone.eml",
1479
+ "module": "ik_2bone",
1480
+ "functions": [
1481
+ {
1482
+ "name": "elbow_angle",
1483
+ "chain_order": 1,
1484
+ "verified": true
1485
+ },
1486
+ {
1487
+ "name": "shoulder_offset",
1488
+ "chain_order": 1,
1489
+ "verified": true
1490
+ },
1491
+ {
1492
+ "name": "reachable",
1493
+ "chain_order": 0,
1494
+ "verified": true
1495
+ }
1496
+ ],
1497
+ "description": "two-bone inverse kinematics via law of cosines.",
1498
+ "source": "new"
1499
+ },
1500
+ {
1501
+ "category": "gaming/animation",
1502
+ "file": "gaming/animation/spring.eml",
1503
+ "module": "spring",
1504
+ "functions": [
1505
+ {
1506
+ "name": "underdamped",
1507
+ "chain_order": 1,
1508
+ "verified": true
1509
+ },
1510
+ {
1511
+ "name": "critically_damped",
1512
+ "chain_order": 1,
1513
+ "verified": true
1514
+ },
1515
+ {
1516
+ "name": "time_constant",
1517
+ "chain_order": 0,
1518
+ "verified": true
1519
+ }
1520
+ ],
1521
+ "description": "damped harmonic oscillator response.",
1522
+ "source": "new"
1523
+ },
1524
+ {
1525
+ "category": "gaming/audio",
1526
+ "file": "gaming/audio/distance_attenuation.eml",
1527
+ "module": "distance_attenuation",
1528
+ "functions": [
1529
+ {
1530
+ "name": "inverse",
1531
+ "chain_order": 0,
1532
+ "verified": true
1533
+ },
1534
+ {
1535
+ "name": "inverse_square",
1536
+ "chain_order": 0,
1537
+ "verified": true
1538
+ },
1539
+ {
1540
+ "name": "linear",
1541
+ "chain_order": 0,
1542
+ "verified": true
1543
+ }
1544
+ ],
1545
+ "description": "3D audio falloff models.",
1546
+ "source": "new"
1547
+ },
1548
+ {
1549
+ "category": "gaming/audio",
1550
+ "file": "gaming/audio/doppler.eml",
1551
+ "module": "doppler",
1552
+ "functions": [
1553
+ {
1554
+ "name": "observed_frequency",
1555
+ "chain_order": 0,
1556
+ "verified": true
1557
+ },
1558
+ {
1559
+ "name": "observed_frequency_air",
1560
+ "chain_order": 0,
1561
+ "verified": true
1562
+ }
1563
+ ],
1564
+ "description": "Doppler frequency shift.",
1565
+ "source": "new"
1566
+ },
1567
+ {
1568
+ "category": "gaming/audio",
1569
+ "file": "gaming/audio/lowpass_audio.eml",
1570
+ "module": "lowpass_audio",
1571
+ "functions": [
1572
+ {
1573
+ "name": "alpha_from_cutoff",
1574
+ "chain_order": 0,
1575
+ "verified": true
1576
+ },
1577
+ {
1578
+ "name": "step",
1579
+ "chain_order": 0,
1580
+ "verified": true
1581
+ }
1582
+ ],
1583
+ "description": "first-order IIR low-pass for audio.",
1584
+ "source": "new"
1585
+ },
1586
+ {
1587
+ "category": "gaming/audio",
1588
+ "file": "gaming/audio/reverb_delay.eml",
1589
+ "module": "reverb_delay",
1590
+ "functions": [
1591
+ {
1592
+ "name": "feedback_safe",
1593
+ "chain_order": 0,
1594
+ "verified": true
1595
+ },
1596
+ {
1597
+ "name": "delay_step",
1598
+ "chain_order": 0,
1599
+ "verified": true
1600
+ },
1601
+ {
1602
+ "name": "t60_seconds",
1603
+ "chain_order": 1,
1604
+ "verified": true
1605
+ }
1606
+ ],
1607
+ "description": "single-tap delay line with feedback.",
1608
+ "source": "new"
1609
+ },
1610
+ {
1611
+ "category": "gaming/camera",
1612
+ "file": "gaming/camera/dof_blur.eml",
1613
+ "module": "dof_blur",
1614
+ "functions": [
1615
+ {
1616
+ "name": "circle_of_confusion",
1617
+ "chain_order": 0,
1618
+ "verified": true
1619
+ },
1620
+ {
1621
+ "name": "circle_of_confusion_clamped",
1622
+ "chain_order": 0,
1623
+ "verified": true
1624
+ }
1625
+ ],
1626
+ "description": "depth-of-field circle of confusion.",
1627
+ "source": "new"
1628
+ },
1629
+ {
1630
+ "category": "gaming/camera",
1631
+ "file": "gaming/camera/fov_projection.eml",
1632
+ "module": "fov_projection",
1633
+ "functions": [
1634
+ {
1635
+ "name": "m00",
1636
+ "chain_order": 2,
1637
+ "verified": true
1638
+ },
1639
+ {
1640
+ "name": "m11",
1641
+ "chain_order": 2,
1642
+ "verified": true
1643
+ },
1644
+ {
1645
+ "name": "m22",
1646
+ "chain_order": 0,
1647
+ "verified": true
1648
+ },
1649
+ {
1650
+ "name": "m23",
1651
+ "chain_order": 0,
1652
+ "verified": true
1653
+ }
1654
+ ],
1655
+ "description": "perspective projection matrix coefficients.",
1656
+ "source": "new"
1657
+ },
1658
+ {
1659
+ "category": "gaming/camera",
1660
+ "file": "gaming/camera/orbit.eml",
1661
+ "module": "orbit",
1662
+ "functions": [
1663
+ {
1664
+ "name": "position_x",
1665
+ "chain_order": 1,
1666
+ "verified": true
1667
+ },
1668
+ {
1669
+ "name": "position_y",
1670
+ "chain_order": 1,
1671
+ "verified": true
1672
+ },
1673
+ {
1674
+ "name": "position_z",
1675
+ "chain_order": 1,
1676
+ "verified": true
1677
+ },
1678
+ {
1679
+ "name": "norm_witness",
1680
+ "chain_order": 1,
1681
+ "verified": true
1682
+ }
1683
+ ],
1684
+ "description": "spherical-coordinates orbit camera.",
1685
+ "source": "new"
1686
+ },
1687
+ {
1688
+ "category": "gaming/camera",
1689
+ "file": "gaming/camera/shake.eml",
1690
+ "module": "shake",
1691
+ "functions": [
1692
+ {
1693
+ "name": "shake1d",
1694
+ "chain_order": 1,
1695
+ "verified": true
1696
+ }
1697
+ ],
1698
+ "description": "damped-noise camera shake.",
1699
+ "source": "new"
1700
+ },
1701
+ {
1702
+ "category": "gaming/lighting",
1703
+ "file": "gaming/lighting/ambient_occlusion.eml",
1704
+ "module": "ambient_occlusion",
1705
+ "functions": [
1706
+ {
1707
+ "name": "sample_contribution",
1708
+ "chain_order": 0,
1709
+ "verified": true
1710
+ },
1711
+ {
1712
+ "name": "ao_factor",
1713
+ "chain_order": 0,
1714
+ "verified": true
1715
+ }
1716
+ ],
1717
+ "description": "hemisphere-sampling AO approximation.",
1718
+ "source": "new"
1719
+ },
1720
+ {
1721
+ "category": "gaming/lighting",
1722
+ "file": "gaming/lighting/area_light.eml",
1723
+ "module": "area_light",
1724
+ "functions": [
1725
+ {
1726
+ "name": "closest_on_sphere",
1727
+ "chain_order": 1,
1728
+ "verified": true
1729
+ },
1730
+ {
1731
+ "name": "solid_angle_fraction",
1732
+ "chain_order": 1,
1733
+ "verified": true
1734
+ }
1735
+ ],
1736
+ "description": "\"Most Representative Point\" approximation.",
1737
+ "source": "new"
1738
+ },
1739
+ {
1740
+ "category": "gaming/lighting",
1741
+ "file": "gaming/lighting/fog_exp.eml",
1742
+ "module": "fog_exp",
1743
+ "functions": [
1744
+ {
1745
+ "name": "fog_factor",
1746
+ "chain_order": 1,
1747
+ "verified": true
1748
+ },
1749
+ {
1750
+ "name": "transmittance",
1751
+ "chain_order": 1,
1752
+ "verified": true
1753
+ }
1754
+ ],
1755
+ "description": "exponential fog (Beer's law).",
1756
+ "source": "new"
1757
+ },
1758
+ {
1759
+ "category": "gaming/lighting",
1760
+ "file": "gaming/lighting/fog_exp2.eml",
1761
+ "module": "fog_exp2",
1762
+ "functions": [
1763
+ {
1764
+ "name": "fog_factor",
1765
+ "chain_order": 1,
1766
+ "verified": true
1767
+ },
1768
+ {
1769
+ "name": "transmittance",
1770
+ "chain_order": 1,
1771
+ "verified": true
1772
+ }
1773
+ ],
1774
+ "description": "squared-exponential fog.",
1775
+ "source": "new"
1776
+ },
1777
+ {
1778
+ "category": "gaming/lighting",
1779
+ "file": "gaming/lighting/point_light.eml",
1780
+ "module": "point_light",
1781
+ "functions": [
1782
+ {
1783
+ "name": "attenuation",
1784
+ "chain_order": 0,
1785
+ "verified": true
1786
+ },
1787
+ {
1788
+ "name": "inverse_square",
1789
+ "chain_order": 0,
1790
+ "verified": true
1791
+ }
1792
+ ],
1793
+ "description": "inverse-square falloff with radius clamp.",
1794
+ "source": "new"
1795
+ },
1796
+ {
1797
+ "category": "gaming/lighting",
1798
+ "file": "gaming/lighting/spot_light.eml",
1799
+ "module": "spot_light",
1800
+ "functions": [
1801
+ {
1802
+ "name": "cone_attenuation",
1803
+ "chain_order": 0,
1804
+ "verified": true
1805
+ },
1806
+ {
1807
+ "name": "attenuation",
1808
+ "chain_order": 0,
1809
+ "verified": true
1810
+ }
1811
+ ],
1812
+ "description": "point light \u00d7 cone attenuation.",
1813
+ "source": "new"
1814
+ },
1815
+ {
1816
+ "category": "gaming/noise",
1817
+ "file": "gaming/noise/fbm.eml",
1818
+ "module": "fbm",
1819
+ "functions": [
1820
+ {
1821
+ "name": "fbm2",
1822
+ "chain_order": 1,
1823
+ "verified": true
1824
+ },
1825
+ {
1826
+ "name": "fbm2_default",
1827
+ "chain_order": 1,
1828
+ "verified": true
1829
+ },
1830
+ {
1831
+ "name": "fbm2_unit",
1832
+ "chain_order": 1,
1833
+ "verified": true
1834
+ }
1835
+ ],
1836
+ "description": "fractal Brownian motion (octave stacker).",
1837
+ "source": "new"
1838
+ },
1839
+ {
1840
+ "category": "gaming/noise",
1841
+ "file": "gaming/noise/perlin_2d.eml",
1842
+ "module": "perlin_2d",
1843
+ "functions": [
1844
+ {
1845
+ "name": "_grad_dot",
1846
+ "chain_order": 1,
1847
+ "verified": false
1848
+ },
1849
+ {
1850
+ "name": "perlin2",
1851
+ "chain_order": 1,
1852
+ "verified": true
1853
+ },
1854
+ {
1855
+ "name": "perlin2_unit",
1856
+ "chain_order": 1,
1857
+ "verified": true
1858
+ }
1859
+ ],
1860
+ "description": "classic 2D Perlin noise.",
1861
+ "source": "new"
1862
+ },
1863
+ {
1864
+ "category": "gaming/noise",
1865
+ "file": "gaming/noise/perlin_3d.eml",
1866
+ "module": "perlin_3d",
1867
+ "functions": [
1868
+ {
1869
+ "name": "_grad_dot3",
1870
+ "chain_order": 1,
1871
+ "verified": false
1872
+ },
1873
+ {
1874
+ "name": "perlin3",
1875
+ "chain_order": 1,
1876
+ "verified": true
1877
+ }
1878
+ ],
1879
+ "description": "3D Perlin noise for volumetric effects.",
1880
+ "source": "new"
1881
+ },
1882
+ {
1883
+ "category": "gaming/noise",
1884
+ "file": "gaming/noise/simplex_2d.eml",
1885
+ "module": "simplex_2d",
1886
+ "functions": [
1887
+ {
1888
+ "name": "_grad_dot",
1889
+ "chain_order": 1,
1890
+ "verified": false
1891
+ },
1892
+ {
1893
+ "name": "simplex2",
1894
+ "chain_order": 1,
1895
+ "verified": true
1896
+ },
1897
+ {
1898
+ "name": "_contribution",
1899
+ "chain_order": 1,
1900
+ "verified": false
1901
+ }
1902
+ ],
1903
+ "description": "2D simplex noise.",
1904
+ "source": "new"
1905
+ },
1906
+ {
1907
+ "category": "gaming/noise",
1908
+ "file": "gaming/noise/turbulence.eml",
1909
+ "module": "turbulence",
1910
+ "functions": [
1911
+ {
1912
+ "name": "turbulence2",
1913
+ "chain_order": 1,
1914
+ "verified": true
1915
+ },
1916
+ {
1917
+ "name": "turbulence2_default",
1918
+ "chain_order": 1,
1919
+ "verified": true
1920
+ }
1921
+ ],
1922
+ "description": "absolute-value FBM for cloud / marble veining.",
1923
+ "source": "new"
1924
+ },
1925
+ {
1926
+ "category": "gaming/noise",
1927
+ "file": "gaming/noise/value_noise.eml",
1928
+ "module": "value_noise",
1929
+ "functions": [
1930
+ {
1931
+ "name": "value2",
1932
+ "chain_order": 1,
1933
+ "verified": true
1934
+ },
1935
+ {
1936
+ "name": "value2_signed",
1937
+ "chain_order": 1,
1938
+ "verified": true
1939
+ }
1940
+ ],
1941
+ "description": "interpolated lattice noise.",
1942
+ "source": "new"
1943
+ },
1944
+ {
1945
+ "category": "gaming/noise",
1946
+ "file": "gaming/noise/voronoi_2d.eml",
1947
+ "module": "voronoi_2d",
1948
+ "functions": [
1949
+ {
1950
+ "name": "distance_to_nearest",
1951
+ "chain_order": 1,
1952
+ "verified": true
1953
+ },
1954
+ {
1955
+ "name": "_cell_distance",
1956
+ "chain_order": 1,
1957
+ "verified": false
1958
+ },
1959
+ {
1960
+ "name": "f2_minus_f1",
1961
+ "chain_order": 1,
1962
+ "verified": true
1963
+ }
1964
+ ],
1965
+ "description": "2D Voronoi cell distance field.",
1966
+ "source": "new"
1967
+ },
1968
+ {
1969
+ "category": "gaming/noise",
1970
+ "file": "gaming/noise/white_noise.eml",
1971
+ "module": "white_noise",
1972
+ "functions": [
1973
+ {
1974
+ "name": "hash2",
1975
+ "chain_order": 1,
1976
+ "verified": true
1977
+ },
1978
+ {
1979
+ "name": "hash3",
1980
+ "chain_order": 1,
1981
+ "verified": true
1982
+ },
1983
+ {
1984
+ "name": "hash2_at_origin",
1985
+ "chain_order": 0,
1986
+ "verified": true
1987
+ }
1988
+ ],
1989
+ "description": "hash-based pseudo-random scalar in [0, 1).",
1990
+ "source": "new"
1991
+ },
1992
+ {
1993
+ "category": "gaming/noise",
1994
+ "file": "gaming/noise/worley.eml",
1995
+ "module": "worley",
1996
+ "functions": [
1997
+ {
1998
+ "name": "squared_distance",
1999
+ "chain_order": 0,
2000
+ "verified": true
2001
+ },
2002
+ {
2003
+ "name": "_cell_sq_dist",
2004
+ "chain_order": 0,
2005
+ "verified": false
2006
+ },
2007
+ {
2008
+ "name": "manhattan_distance",
2009
+ "chain_order": 0,
2010
+ "verified": true
2011
+ },
2012
+ {
2013
+ "name": "_cell_man_dist",
2014
+ "chain_order": 0,
2015
+ "verified": false
2016
+ }
2017
+ ],
2018
+ "description": "cellular / Worley noise for organic patterns.",
2019
+ "source": "new"
2020
+ },
2021
+ {
2022
+ "category": "gaming/particles",
2023
+ "file": "gaming/particles/drag.eml",
2024
+ "module": "particle_drag",
2025
+ "functions": [
2026
+ {
2027
+ "name": "velocity",
2028
+ "chain_order": 1,
2029
+ "verified": true
2030
+ },
2031
+ {
2032
+ "name": "distance_covered",
2033
+ "chain_order": 1,
2034
+ "verified": true
2035
+ }
2036
+ ],
2037
+ "description": "exponential velocity decay (linear drag model).",
2038
+ "source": "new"
2039
+ },
2040
+ {
2041
+ "category": "gaming/particles",
2042
+ "file": "gaming/particles/emitter_radial.eml",
2043
+ "module": "emitter_radial",
2044
+ "functions": [
2045
+ {
2046
+ "name": "velocity_magnitude",
2047
+ "chain_order": 0,
2048
+ "verified": true
2049
+ },
2050
+ {
2051
+ "name": "disc_offset",
2052
+ "chain_order": 0,
2053
+ "verified": true
2054
+ }
2055
+ ],
2056
+ "description": "radial particle emitter velocity.",
2057
+ "source": "new"
2058
+ },
2059
+ {
2060
+ "category": "gaming/particles",
2061
+ "file": "gaming/particles/fade.eml",
2062
+ "module": "fade",
2063
+ "functions": [
2064
+ {
2065
+ "name": "alpha",
2066
+ "chain_order": 0,
2067
+ "verified": true
2068
+ },
2069
+ {
2070
+ "name": "alpha_in_out",
2071
+ "chain_order": 0,
2072
+ "verified": true
2073
+ }
2074
+ ],
2075
+ "description": "linear alpha fade over a particle's lifetime.",
2076
+ "source": "new"
2077
+ },
2078
+ {
2079
+ "category": "gaming/particles",
2080
+ "file": "gaming/particles/gravity_particle.eml",
2081
+ "module": "gravity_particle",
2082
+ "functions": [
2083
+ {
2084
+ "name": "position",
2085
+ "chain_order": 0,
2086
+ "verified": true
2087
+ },
2088
+ {
2089
+ "name": "velocity",
2090
+ "chain_order": 0,
2091
+ "verified": true
2092
+ },
2093
+ {
2094
+ "name": "position_earth",
2095
+ "chain_order": 0,
2096
+ "verified": true
2097
+ }
2098
+ ],
2099
+ "description": "ballistic motion under gravity.",
2100
+ "source": "new"
2101
+ },
2102
+ {
2103
+ "category": "gaming/particles",
2104
+ "file": "gaming/particles/size_over_life.eml",
2105
+ "module": "size_over_life",
2106
+ "functions": [
2107
+ {
2108
+ "name": "radius_linear",
2109
+ "chain_order": 0,
2110
+ "verified": true
2111
+ },
2112
+ {
2113
+ "name": "radius_power",
2114
+ "chain_order": 1,
2115
+ "verified": true
2116
+ }
2117
+ ],
2118
+ "description": "particle radius as a function of age.",
2119
+ "source": "new"
2120
+ },
2121
+ {
2122
+ "category": "gaming/physics",
2123
+ "file": "gaming/physics/aabb_overlap.eml",
2124
+ "module": "aabb_overlap",
2125
+ "functions": [
2126
+ {
2127
+ "name": "overlap_2d",
2128
+ "chain_order": 0,
2129
+ "verified": true
2130
+ },
2131
+ {
2132
+ "name": "penetration_depth_x",
2133
+ "chain_order": 0,
2134
+ "verified": true
2135
+ }
2136
+ ],
2137
+ "description": "axis-aligned bounding box intersection test.",
2138
+ "source": "new"
2139
+ },
2140
+ {
2141
+ "category": "gaming/physics",
2142
+ "file": "gaming/physics/buoyancy.eml",
2143
+ "module": "buoyancy",
2144
+ "functions": [
2145
+ {
2146
+ "name": "force",
2147
+ "chain_order": 0,
2148
+ "verified": true
2149
+ },
2150
+ {
2151
+ "name": "force_in_water",
2152
+ "chain_order": 0,
2153
+ "verified": true
2154
+ },
2155
+ {
2156
+ "name": "sphere_submerged_volume",
2157
+ "chain_order": 0,
2158
+ "verified": true
2159
+ }
2160
+ ],
2161
+ "description": "Archimedes' principle for water / fluid bodies.",
2162
+ "source": "new"
2163
+ },
2164
+ {
2165
+ "category": "gaming/physics",
2166
+ "file": "gaming/physics/circle_collision.eml",
2167
+ "module": "circle_collision",
2168
+ "functions": [
2169
+ {
2170
+ "name": "collides",
2171
+ "chain_order": 1,
2172
+ "verified": true
2173
+ },
2174
+ {
2175
+ "name": "penetration_depth",
2176
+ "chain_order": 1,
2177
+ "verified": true
2178
+ },
2179
+ {
2180
+ "name": "inv_distance",
2181
+ "chain_order": 1,
2182
+ "verified": true
2183
+ }
2184
+ ],
2185
+ "description": "circle-vs-circle intersection test.",
2186
+ "source": "new"
2187
+ },
2188
+ {
2189
+ "category": "gaming/physics",
2190
+ "file": "gaming/physics/impulse_resolve.eml",
2191
+ "module": "impulse_resolve",
2192
+ "functions": [
2193
+ {
2194
+ "name": "impulse_magnitude",
2195
+ "chain_order": 0,
2196
+ "verified": true
2197
+ },
2198
+ {
2199
+ "name": "velocity_a_after",
2200
+ "chain_order": 0,
2201
+ "verified": true
2202
+ },
2203
+ {
2204
+ "name": "velocity_b_after",
2205
+ "chain_order": 0,
2206
+ "verified": true
2207
+ }
2208
+ ],
2209
+ "description": "collision response with restitution.",
2210
+ "source": "new"
2211
+ },
2212
+ {
2213
+ "category": "gaming/physics",
2214
+ "file": "gaming/physics/rigid_body_2d.eml",
2215
+ "module": "rigid_body_2d",
2216
+ "functions": [
2217
+ {
2218
+ "name": "integrate_vx",
2219
+ "chain_order": 0,
2220
+ "verified": true
2221
+ },
2222
+ {
2223
+ "name": "integrate_vy",
2224
+ "chain_order": 0,
2225
+ "verified": true
2226
+ },
2227
+ {
2228
+ "name": "integrate_omega",
2229
+ "chain_order": 0,
2230
+ "verified": true
2231
+ },
2232
+ {
2233
+ "name": "integrate_x",
2234
+ "chain_order": 0,
2235
+ "verified": true
2236
+ },
2237
+ {
2238
+ "name": "integrate_y",
2239
+ "chain_order": 0,
2240
+ "verified": true
2241
+ },
2242
+ {
2243
+ "name": "integrate_theta",
2244
+ "chain_order": 0,
2245
+ "verified": true
2246
+ }
2247
+ ],
2248
+ "description": "semi-implicit Euler step for a 2D rigid body.",
2249
+ "source": "new"
2250
+ },
2251
+ {
2252
+ "category": "gaming/physics",
2253
+ "file": "gaming/physics/spring_damper.eml",
2254
+ "module": "spring_damper",
2255
+ "functions": [
2256
+ {
2257
+ "name": "force",
2258
+ "chain_order": 0,
2259
+ "verified": true
2260
+ },
2261
+ {
2262
+ "name": "critical_damping",
2263
+ "chain_order": 1,
2264
+ "verified": true
2265
+ }
2266
+ ],
2267
+ "description": "mass-on-spring force model.",
2268
+ "source": "new"
2269
+ },
2270
+ {
2271
+ "category": "gaming/physics",
2272
+ "file": "gaming/physics/verlet.eml",
2273
+ "module": "verlet",
2274
+ "functions": [
2275
+ {
2276
+ "name": "step",
2277
+ "chain_order": 0,
2278
+ "verified": true
2279
+ },
2280
+ {
2281
+ "name": "distance_constraint_correction",
2282
+ "chain_order": 0,
2283
+ "verified": true
2284
+ }
2285
+ ],
2286
+ "description": "Verlet position-only integration step (cloth/rope).",
2287
+ "source": "new"
2288
+ },
2289
+ {
2290
+ "category": "gaming/shading",
2291
+ "file": "gaming/shading/fresnel.eml",
2292
+ "module": "fresnel",
2293
+ "functions": [
2294
+ {
2295
+ "name": "schlick",
2296
+ "chain_order": 0,
2297
+ "verified": true
2298
+ },
2299
+ {
2300
+ "name": "schlick_at_grazing",
2301
+ "chain_order": 0,
2302
+ "verified": true
2303
+ },
2304
+ {
2305
+ "name": "schlick_at_normal",
2306
+ "chain_order": 0,
2307
+ "verified": true
2308
+ },
2309
+ {
2310
+ "name": "f0_from_ior",
2311
+ "chain_order": 0,
2312
+ "verified": true
2313
+ }
2314
+ ],
2315
+ "description": "Schlick's approximation to the Fresnel term.",
2316
+ "source": "new"
2317
+ },
2318
+ {
2319
+ "category": "gaming/shading",
2320
+ "file": "gaming/shading/matcap.eml",
2321
+ "module": "matcap",
2322
+ "functions": [
2323
+ {
2324
+ "name": "uv_u",
2325
+ "chain_order": 0,
2326
+ "verified": true
2327
+ },
2328
+ {
2329
+ "name": "uv_v",
2330
+ "chain_order": 0,
2331
+ "verified": true
2332
+ }
2333
+ ],
2334
+ "description": "normal-based environment look-up (matcap shading).",
2335
+ "source": "new"
2336
+ },
2337
+ {
2338
+ "category": "gaming/shading",
2339
+ "file": "gaming/shading/pbr_diffuse.eml",
2340
+ "module": "pbr_diffuse",
2341
+ "functions": [
2342
+ {
2343
+ "name": "lambert",
2344
+ "chain_order": 0,
2345
+ "verified": true
2346
+ },
2347
+ {
2348
+ "name": "lambert_normalised",
2349
+ "chain_order": 0,
2350
+ "verified": true
2351
+ },
2352
+ {
2353
+ "name": "half_lambert",
2354
+ "chain_order": 0,
2355
+ "verified": true
2356
+ }
2357
+ ],
2358
+ "description": "Lambertian diffuse shading.",
2359
+ "source": "new"
2360
+ },
2361
+ {
2362
+ "category": "gaming/shading",
2363
+ "file": "gaming/shading/pbr_specular.eml",
2364
+ "module": "pbr_specular",
2365
+ "functions": [
2366
+ {
2367
+ "name": "d_ggx",
2368
+ "chain_order": 0,
2369
+ "verified": true
2370
+ },
2371
+ {
2372
+ "name": "v_smith",
2373
+ "chain_order": 1,
2374
+ "verified": true
2375
+ },
2376
+ {
2377
+ "name": "specular",
2378
+ "chain_order": 1,
2379
+ "verified": true
2380
+ },
2381
+ {
2382
+ "name": "roughness_to_alpha",
2383
+ "chain_order": 0,
2384
+ "verified": true
2385
+ }
2386
+ ],
2387
+ "description": "Cook-Torrance microfacet specular BRDF.",
2388
+ "source": "new"
2389
+ },
2390
+ {
2391
+ "category": "gaming/shading",
2392
+ "file": "gaming/shading/subsurface.eml",
2393
+ "module": "subsurface",
2394
+ "functions": [
2395
+ {
2396
+ "name": "wrap",
2397
+ "chain_order": 0,
2398
+ "verified": true
2399
+ },
2400
+ {
2401
+ "name": "back_scatter",
2402
+ "chain_order": 1,
2403
+ "verified": true
2404
+ },
2405
+ {
2406
+ "name": "sss_total",
2407
+ "chain_order": 1,
2408
+ "verified": true
2409
+ }
2410
+ ],
2411
+ "description": "Christensen-Burley subsurface scattering approx.",
2412
+ "source": "new"
2413
+ },
2414
+ {
2415
+ "category": "gaming/shading",
2416
+ "file": "gaming/shading/toon.eml",
2417
+ "module": "toon",
2418
+ "functions": [
2419
+ {
2420
+ "name": "cel_diffuse",
2421
+ "chain_order": 0,
2422
+ "verified": true
2423
+ },
2424
+ {
2425
+ "name": "rim_light",
2426
+ "chain_order": 1,
2427
+ "verified": true
2428
+ }
2429
+ ],
2430
+ "description": "step-based cel shading.",
2431
+ "source": "new"
2432
+ },
2433
+ {
2434
+ "category": "gaming/terrain",
2435
+ "file": "gaming/terrain/biome_select.eml",
2436
+ "module": "biome_select",
2437
+ "functions": [
2438
+ {
2439
+ "name": "biome_id",
2440
+ "chain_order": 0,
2441
+ "verified": true
2442
+ }
2443
+ ],
2444
+ "description": "temperature \u00d7 moisture biome classification.",
2445
+ "source": "new"
2446
+ },
2447
+ {
2448
+ "category": "gaming/terrain",
2449
+ "file": "gaming/terrain/cliff_detect.eml",
2450
+ "module": "cliff_detect",
2451
+ "functions": [
2452
+ {
2453
+ "name": "gradient_magnitude",
2454
+ "chain_order": 1,
2455
+ "verified": true
2456
+ },
2457
+ {
2458
+ "name": "is_cliff",
2459
+ "chain_order": 1,
2460
+ "verified": true
2461
+ }
2462
+ ],
2463
+ "description": "gradient-magnitude cliff detection.",
2464
+ "source": "new"
2465
+ },
2466
+ {
2467
+ "category": "gaming/terrain",
2468
+ "file": "gaming/terrain/erosion_hydraulic.eml",
2469
+ "module": "erosion_hydraulic",
2470
+ "functions": [
2471
+ {
2472
+ "name": "capacity",
2473
+ "chain_order": 0,
2474
+ "verified": true
2475
+ },
2476
+ {
2477
+ "name": "eroded_amount",
2478
+ "chain_order": 0,
2479
+ "verified": true
2480
+ },
2481
+ {
2482
+ "name": "deposited_amount",
2483
+ "chain_order": 0,
2484
+ "verified": true
2485
+ },
2486
+ {
2487
+ "name": "updated_water",
2488
+ "chain_order": 0,
2489
+ "verified": true
2490
+ }
2491
+ ],
2492
+ "description": "water flow + sediment transport step.",
2493
+ "source": "new"
2494
+ },
2495
+ {
2496
+ "category": "gaming/terrain",
2497
+ "file": "gaming/terrain/erosion_thermal.eml",
2498
+ "module": "erosion_thermal",
2499
+ "functions": [
2500
+ {
2501
+ "name": "material_transfer",
2502
+ "chain_order": 0,
2503
+ "verified": true
2504
+ },
2505
+ {
2506
+ "name": "apply_self",
2507
+ "chain_order": 0,
2508
+ "verified": true
2509
+ },
2510
+ {
2511
+ "name": "apply_neighbour",
2512
+ "chain_order": 0,
2513
+ "verified": true
2514
+ }
2515
+ ],
2516
+ "description": "talus-angle thermal erosion step.",
2517
+ "source": "new"
2518
+ },
2519
+ {
2520
+ "category": "gaming/terrain",
2521
+ "file": "gaming/terrain/heightmap.eml",
2522
+ "module": "heightmap",
2523
+ "functions": [
2524
+ {
2525
+ "name": "height",
2526
+ "chain_order": 1,
2527
+ "verified": true
2528
+ },
2529
+ {
2530
+ "name": "ridged_height",
2531
+ "chain_order": 1,
2532
+ "verified": true
2533
+ }
2534
+ ],
2535
+ "description": "FBM-driven heightmap generation.",
2536
+ "source": "new"
2537
+ },
2538
+ {
2539
+ "category": "gaming/textures",
2540
+ "file": "gaming/textures/brick.eml",
2541
+ "module": "brick",
2542
+ "functions": [
2543
+ {
2544
+ "name": "pattern",
2545
+ "chain_order": 0,
2546
+ "verified": true
2547
+ }
2548
+ ],
2549
+ "description": "modular brick grid with mortar gap + per-row offset.",
2550
+ "source": "new"
2551
+ },
2552
+ {
2553
+ "category": "gaming/textures",
2554
+ "file": "gaming/textures/caustics.eml",
2555
+ "module": "caustics",
2556
+ "functions": [
2557
+ {
2558
+ "name": "intensity",
2559
+ "chain_order": 1,
2560
+ "verified": true
2561
+ }
2562
+ ],
2563
+ "description": "refracted-light interference pattern.",
2564
+ "source": "new"
2565
+ },
2566
+ {
2567
+ "category": "gaming/textures",
2568
+ "file": "gaming/textures/checkerboard.eml",
2569
+ "module": "checkerboard",
2570
+ "functions": [
2571
+ {
2572
+ "name": "checker",
2573
+ "chain_order": 0,
2574
+ "verified": true
2575
+ },
2576
+ {
2577
+ "name": "checker_tiled",
2578
+ "chain_order": 0,
2579
+ "verified": true
2580
+ }
2581
+ ],
2582
+ "description": "canonical checkerboard pattern.",
2583
+ "source": "new"
2584
+ },
2585
+ {
2586
+ "category": "gaming/textures",
2587
+ "file": "gaming/textures/fire.eml",
2588
+ "module": "fire",
2589
+ "functions": [
2590
+ {
2591
+ "name": "intensity",
2592
+ "chain_order": 1,
2593
+ "verified": true
2594
+ }
2595
+ ],
2596
+ "description": "noise-advection fire texture.",
2597
+ "source": "new"
2598
+ },
2599
+ {
2600
+ "category": "gaming/textures",
2601
+ "file": "gaming/textures/marble.eml",
2602
+ "module": "marble",
2603
+ "functions": [
2604
+ {
2605
+ "name": "marble",
2606
+ "chain_order": 1,
2607
+ "verified": true
2608
+ }
2609
+ ],
2610
+ "description": "turbulence-perturbed sine ramp.",
2611
+ "source": "new"
2612
+ },
2613
+ {
2614
+ "category": "gaming/textures",
2615
+ "file": "gaming/textures/rust.eml",
2616
+ "module": "rust",
2617
+ "functions": [
2618
+ {
2619
+ "name": "mask",
2620
+ "chain_order": 1,
2621
+ "verified": true
2622
+ }
2623
+ ],
2624
+ "description": "Voronoi-driven rust / oxidation mask.",
2625
+ "source": "new"
2626
+ },
2627
+ {
2628
+ "category": "gaming/textures",
2629
+ "file": "gaming/textures/water_surface.eml",
2630
+ "module": "water_surface",
2631
+ "functions": [
2632
+ {
2633
+ "name": "height",
2634
+ "chain_order": 1,
2635
+ "verified": true
2636
+ },
2637
+ {
2638
+ "name": "height_default",
2639
+ "chain_order": 1,
2640
+ "verified": true
2641
+ },
2642
+ {
2643
+ "name": "normal_y",
2644
+ "chain_order": 1,
2645
+ "verified": true
2646
+ }
2647
+ ],
2648
+ "description": "sum-of-sines water height field.",
2649
+ "source": "new"
2650
+ },
2651
+ {
2652
+ "category": "gaming/textures",
2653
+ "file": "gaming/textures/wood.eml",
2654
+ "module": "wood",
2655
+ "functions": [
2656
+ {
2657
+ "name": "grain",
2658
+ "chain_order": 1,
2659
+ "verified": true
2660
+ },
2661
+ {
2662
+ "name": "knot_mask",
2663
+ "chain_order": 1,
2664
+ "verified": true
2665
+ }
2666
+ ],
2667
+ "description": "procedural wood-grain texture.",
2668
+ "source": "new"
2669
+ },
2670
+ {
2671
+ "category": "math",
2672
+ "file": "math/abs.eml",
2673
+ "module": "abs_module",
2674
+ "functions": [
2675
+ {
2676
+ "name": "abs_kernel",
2677
+ "chain_order": 0,
2678
+ "verified": true
2679
+ },
2680
+ {
2681
+ "name": "sign",
2682
+ "chain_order": 0,
2683
+ "verified": true
2684
+ },
2685
+ {
2686
+ "name": "saturate",
2687
+ "chain_order": 0,
2688
+ "verified": true
2689
+ },
2690
+ {
2691
+ "name": "softsign",
2692
+ "chain_order": 0,
2693
+ "verified": true
2694
+ }
2695
+ ],
2696
+ "description": "|x|, sign, and clamp.",
2697
+ "source": "new"
2698
+ },
2699
+ {
2700
+ "category": "math",
2701
+ "file": "math/atan.eml",
2702
+ "module": "atan_module",
2703
+ "functions": [
2704
+ {
2705
+ "name": "atan_kernel",
2706
+ "chain_order": 1,
2707
+ "verified": true
2708
+ },
2709
+ {
2710
+ "name": "atan_at_zero",
2711
+ "chain_order": 0,
2712
+ "verified": true
2713
+ },
2714
+ {
2715
+ "name": "atan_at_one",
2716
+ "chain_order": 0,
2717
+ "verified": true
2718
+ }
2719
+ ],
2720
+ "description": "arctangent.",
2721
+ "source": "new"
2722
+ },
2723
+ {
2724
+ "category": "math",
2725
+ "file": "math/atan2.eml",
2726
+ "module": "atan2_module",
2727
+ "functions": [
2728
+ {
2729
+ "name": "atan2_pos_x",
2730
+ "chain_order": 2,
2731
+ "verified": true
2732
+ },
2733
+ {
2734
+ "name": "atan2_neg_x_upper",
2735
+ "chain_order": 2,
2736
+ "verified": true
2737
+ },
2738
+ {
2739
+ "name": "atan2_neg_x_lower",
2740
+ "chain_order": 2,
2741
+ "verified": true
2742
+ },
2743
+ {
2744
+ "name": "atan2_zero_x_pos_y",
2745
+ "chain_order": 0,
2746
+ "verified": true
2747
+ },
2748
+ {
2749
+ "name": "atan2_zero_x_neg_y",
2750
+ "chain_order": 0,
2751
+ "verified": true
2752
+ }
2753
+ ],
2754
+ "description": "four-quadrant arctan.",
2755
+ "source": "new"
2756
+ },
2757
+ {
2758
+ "category": "math",
2759
+ "file": "math/bessel_j0.eml",
2760
+ "module": "bessel_j0_module",
2761
+ "functions": [
2762
+ {
2763
+ "name": "bessel_j0_small",
2764
+ "chain_order": 0,
2765
+ "verified": true
2766
+ },
2767
+ {
2768
+ "name": "bessel_j0_large",
2769
+ "chain_order": 1,
2770
+ "verified": true
2771
+ },
2772
+ {
2773
+ "name": "bessel_j0_at_zero",
2774
+ "chain_order": 0,
2775
+ "verified": true
2776
+ }
2777
+ ],
2778
+ "description": "Bessel function of the first kind, order 0.",
2779
+ "source": "new"
2780
+ },
2781
+ {
2782
+ "category": "math",
2783
+ "file": "math/cos.eml",
2784
+ "module": "cos_module",
2785
+ "functions": [
2786
+ {
2787
+ "name": "cos_kernel",
2788
+ "chain_order": 1,
2789
+ "verified": true
2790
+ },
2791
+ {
2792
+ "name": "cos_at_zero",
2793
+ "chain_order": 0,
2794
+ "verified": true
2795
+ },
2796
+ {
2797
+ "name": "cos_sq",
2798
+ "chain_order": 1,
2799
+ "verified": true
2800
+ },
2801
+ {
2802
+ "name": "pythagorean",
2803
+ "chain_order": 1,
2804
+ "verified": true
2805
+ }
2806
+ ],
2807
+ "description": "cosine, mirror of sin.eml.",
2808
+ "source": "new"
2809
+ },
2810
+ {
2811
+ "category": "math",
2812
+ "file": "math/cosh.eml",
2813
+ "module": "cosh_module",
2814
+ "functions": [
2815
+ {
2816
+ "name": "cosh_kernel",
2817
+ "chain_order": 1,
2818
+ "verified": true
2819
+ },
2820
+ {
2821
+ "name": "cosh_at_zero",
2822
+ "chain_order": 0,
2823
+ "verified": true
2824
+ }
2825
+ ],
2826
+ "description": "hyperbolic cosine.",
2827
+ "source": "new"
2828
+ },
2829
+ {
2830
+ "category": "math",
2831
+ "file": "math/erf.eml",
2832
+ "module": "erf_module",
2833
+ "functions": [
2834
+ {
2835
+ "name": "erf_kernel",
2836
+ "chain_order": 1,
2837
+ "verified": true
2838
+ },
2839
+ {
2840
+ "name": "erf_at_zero",
2841
+ "chain_order": 0,
2842
+ "verified": true
2843
+ },
2844
+ {
2845
+ "name": "erfc",
2846
+ "chain_order": 1,
2847
+ "verified": true
2848
+ },
2849
+ {
2850
+ "name": "erf_as",
2851
+ "chain_order": 1,
2852
+ "verified": true
2853
+ }
2854
+ ],
2855
+ "description": "the error function.",
2856
+ "source": "new"
2857
+ },
2858
+ {
2859
+ "category": "math",
2860
+ "file": "math/exp.eml",
2861
+ "module": "exp_module",
2862
+ "functions": [
2863
+ {
2864
+ "name": "exp_kernel",
2865
+ "chain_order": 1,
2866
+ "verified": true
2867
+ },
2868
+ {
2869
+ "name": "exp_neg",
2870
+ "chain_order": 1,
2871
+ "verified": true
2872
+ },
2873
+ {
2874
+ "name": "expm1",
2875
+ "chain_order": 1,
2876
+ "verified": true
2877
+ }
2878
+ ],
2879
+ "description": "the natural exponential, wrapped as a thin EML",
2880
+ "source": "new"
2881
+ },
2882
+ {
2883
+ "category": "math",
2884
+ "file": "math/gamma.eml",
2885
+ "module": "gamma_module",
2886
+ "functions": [
2887
+ {
2888
+ "name": "ln_gamma_stirling",
2889
+ "chain_order": 1,
2890
+ "verified": true
2891
+ },
2892
+ {
2893
+ "name": "gamma_stirling",
2894
+ "chain_order": 2,
2895
+ "verified": true
2896
+ },
2897
+ {
2898
+ "name": "gamma_at_one",
2899
+ "chain_order": 0,
2900
+ "verified": true
2901
+ }
2902
+ ],
2903
+ "description": "the gamma function via Stirling's approximation.",
2904
+ "source": "new"
2905
+ },
2906
+ {
2907
+ "category": "math",
2908
+ "file": "math/gaussian.eml",
2909
+ "module": "gaussian",
2910
+ "functions": [
2911
+ {
2912
+ "name": "gaussian",
2913
+ "chain_order": 1,
2914
+ "verified": false
2915
+ }
2916
+ ],
2917
+ "description": "the bell curve.",
2918
+ "source": "forge/examples/gaussian.eml"
2919
+ },
2920
+ {
2921
+ "category": "math",
2922
+ "file": "math/log.eml",
2923
+ "module": "log_module",
2924
+ "functions": [
2925
+ {
2926
+ "name": "ln_kernel",
2927
+ "chain_order": 1,
2928
+ "verified": true
2929
+ },
2930
+ {
2931
+ "name": "log2",
2932
+ "chain_order": 1,
2933
+ "verified": true
2934
+ },
2935
+ {
2936
+ "name": "log10",
2937
+ "chain_order": 1,
2938
+ "verified": true
2939
+ },
2940
+ {
2941
+ "name": "log_b",
2942
+ "chain_order": 2,
2943
+ "verified": true
2944
+ },
2945
+ {
2946
+ "name": "log1p",
2947
+ "chain_order": 1,
2948
+ "verified": true
2949
+ }
2950
+ ],
2951
+ "description": "natural log + base conversion helpers.",
2952
+ "source": "new"
2953
+ },
2954
+ {
2955
+ "category": "math",
2956
+ "file": "math/pow.eml",
2957
+ "module": "pow_module",
2958
+ "functions": [
2959
+ {
2960
+ "name": "pow_kernel",
2961
+ "chain_order": 2,
2962
+ "verified": true
2963
+ },
2964
+ {
2965
+ "name": "sq",
2966
+ "chain_order": 0,
2967
+ "verified": true
2968
+ },
2969
+ {
2970
+ "name": "cube",
2971
+ "chain_order": 0,
2972
+ "verified": true
2973
+ },
2974
+ {
2975
+ "name": "pow4",
2976
+ "chain_order": 0,
2977
+ "verified": true
2978
+ },
2979
+ {
2980
+ "name": "pow8",
2981
+ "chain_order": 0,
2982
+ "verified": true
2983
+ }
2984
+ ],
2985
+ "description": "power via exp(b * ln(x)) plus a few hot specialisations.",
2986
+ "source": "new"
2987
+ },
2988
+ {
2989
+ "category": "math",
2990
+ "file": "math/relu.eml",
2991
+ "module": "relu",
2992
+ "functions": [
2993
+ {
2994
+ "name": "relu",
2995
+ "chain_order": 0,
2996
+ "verified": true
2997
+ },
2998
+ {
2999
+ "name": "leaky_relu",
3000
+ "chain_order": 0,
3001
+ "verified": true
3002
+ },
3003
+ {
3004
+ "name": "relu6",
3005
+ "chain_order": 0,
3006
+ "verified": true
3007
+ },
3008
+ {
3009
+ "name": "prelu",
3010
+ "chain_order": 0,
3011
+ "verified": false
3012
+ }
3013
+ ],
3014
+ "description": "rectified linear unit family.",
3015
+ "source": "forge/industries/ml/activations/relu.eml"
3016
+ },
3017
+ {
3018
+ "category": "math",
3019
+ "file": "math/sigmoid.eml",
3020
+ "module": "sigmoid",
3021
+ "functions": [
3022
+ {
3023
+ "name": "sigmoid",
3024
+ "chain_order": 2,
3025
+ "verified": false
3026
+ },
3027
+ {
3028
+ "name": "silu",
3029
+ "chain_order": 2,
3030
+ "verified": false
3031
+ }
3032
+ ],
3033
+ "description": "the neural-network activation classic.",
3034
+ "source": "forge/examples/sigmoid.eml"
3035
+ },
3036
+ {
3037
+ "category": "math",
3038
+ "file": "math/sin.eml",
3039
+ "module": "sin_module",
3040
+ "functions": [
3041
+ {
3042
+ "name": "sin_kernel",
3043
+ "chain_order": 1,
3044
+ "verified": true
3045
+ },
3046
+ {
3047
+ "name": "sin_at_zero",
3048
+ "chain_order": 0,
3049
+ "verified": true
3050
+ },
3051
+ {
3052
+ "name": "sin_sq",
3053
+ "chain_order": 1,
3054
+ "verified": true
3055
+ }
3056
+ ],
3057
+ "description": "sine, with an explicit chain-order-1 contract.",
3058
+ "source": "new"
3059
+ },
3060
+ {
3061
+ "category": "math",
3062
+ "file": "math/sinh.eml",
3063
+ "module": "sinh_module",
3064
+ "functions": [
3065
+ {
3066
+ "name": "sinh_kernel",
3067
+ "chain_order": 1,
3068
+ "verified": true
3069
+ },
3070
+ {
3071
+ "name": "sinh_at_zero",
3072
+ "chain_order": 0,
3073
+ "verified": true
3074
+ }
3075
+ ],
3076
+ "description": "hyperbolic sine.",
3077
+ "source": "new"
3078
+ },
3079
+ {
3080
+ "category": "math",
3081
+ "file": "math/softmax.eml",
3082
+ "module": "softmax",
3083
+ "functions": [
3084
+ {
3085
+ "name": "softmax_shift_exp",
3086
+ "chain_order": 1,
3087
+ "verified": true
3088
+ },
3089
+ {
3090
+ "name": "softmax_normalize",
3091
+ "chain_order": 0,
3092
+ "verified": true
3093
+ },
3094
+ {
3095
+ "name": "softmax_two_logit",
3096
+ "chain_order": 1,
3097
+ "verified": true
3098
+ },
3099
+ {
3100
+ "name": "log_sum_exp_pair",
3101
+ "chain_order": 2,
3102
+ "verified": true
3103
+ }
3104
+ ],
3105
+ "description": "numerically-stable softmax kernels.",
3106
+ "source": "forge/industries/ml/activations/softmax.eml"
3107
+ },
3108
+ {
3109
+ "category": "math",
3110
+ "file": "math/sqrt.eml",
3111
+ "module": "sqrt_module",
3112
+ "functions": [
3113
+ {
3114
+ "name": "sqrt_kernel",
3115
+ "chain_order": 1,
3116
+ "verified": true
3117
+ },
3118
+ {
3119
+ "name": "hypot2",
3120
+ "chain_order": 1,
3121
+ "verified": true
3122
+ },
3123
+ {
3124
+ "name": "hypot3",
3125
+ "chain_order": 1,
3126
+ "verified": true
3127
+ },
3128
+ {
3129
+ "name": "rsqrt",
3130
+ "chain_order": 1,
3131
+ "verified": true
3132
+ }
3133
+ ],
3134
+ "description": "square root + 2D/3D Euclidean distance.",
3135
+ "source": "new"
3136
+ },
3137
+ {
3138
+ "category": "math",
3139
+ "file": "math/tan.eml",
3140
+ "module": "tan_module",
3141
+ "functions": [
3142
+ {
3143
+ "name": "tan_kernel",
3144
+ "chain_order": 2,
3145
+ "verified": true
3146
+ },
3147
+ {
3148
+ "name": "tan_at_zero",
3149
+ "chain_order": 0,
3150
+ "verified": true
3151
+ },
3152
+ {
3153
+ "name": "two_tan",
3154
+ "chain_order": 2,
3155
+ "verified": true
3156
+ }
3157
+ ],
3158
+ "description": "tangent.",
3159
+ "source": "new"
3160
+ },
3161
+ {
3162
+ "category": "math",
3163
+ "file": "math/tanh.eml",
3164
+ "module": "tanh_activation",
3165
+ "functions": [
3166
+ {
3167
+ "name": "tanh_activation",
3168
+ "chain_order": 1,
3169
+ "verified": true
3170
+ },
3171
+ {
3172
+ "name": "tanh_from_sigmoid",
3173
+ "chain_order": 2,
3174
+ "verified": true
3175
+ },
3176
+ {
3177
+ "name": "hard_tanh",
3178
+ "chain_order": 0,
3179
+ "verified": true
3180
+ }
3181
+ ],
3182
+ "description": "hyperbolic-tangent activation.",
3183
+ "source": "forge/industries/ml/activations/tanh.eml"
3184
+ },
3185
+ {
3186
+ "category": "ml",
3187
+ "file": "ml/attention.eml",
3188
+ "module": "attention",
3189
+ "functions": [
3190
+ {
3191
+ "name": "scale_factor",
3192
+ "chain_order": 1,
3193
+ "verified": true
3194
+ },
3195
+ {
3196
+ "name": "score_qk",
3197
+ "chain_order": 0,
3198
+ "verified": true
3199
+ },
3200
+ {
3201
+ "name": "attention_step",
3202
+ "chain_order": 0,
3203
+ "verified": true
3204
+ },
3205
+ {
3206
+ "name": "causal_mask",
3207
+ "chain_order": 0,
3208
+ "verified": true
3209
+ },
3210
+ {
3211
+ "name": "padding_mask",
3212
+ "chain_order": 0,
3213
+ "verified": true
3214
+ }
3215
+ ],
3216
+ "description": "scaled dot-product attention kernel.",
3217
+ "source": "new"
3218
+ },
3219
+ {
3220
+ "category": "ml",
3221
+ "file": "ml/cross_entropy.eml",
3222
+ "module": "cross_entropy",
3223
+ "functions": [
3224
+ {
3225
+ "name": "bce_loss",
3226
+ "chain_order": 2,
3227
+ "verified": true
3228
+ },
3229
+ {
3230
+ "name": "bce_with_logits",
3231
+ "chain_order": 2,
3232
+ "verified": true
3233
+ },
3234
+ {
3235
+ "name": "categorical_ce_pair",
3236
+ "chain_order": 0,
3237
+ "verified": true
3238
+ },
3239
+ {
3240
+ "name": "bce_with_logits_grad",
3241
+ "chain_order": 1,
3242
+ "verified": false
3243
+ }
3244
+ ],
3245
+ "description": "cross-entropy loss kernels.",
3246
+ "source": "forge/industries/ml/loss/cross_entropy.eml"
3247
+ },
3248
+ {
3249
+ "category": "ml",
3250
+ "file": "ml/gelu.eml",
3251
+ "module": "gelu",
3252
+ "functions": [
3253
+ {
3254
+ "name": "gelu_tanh",
3255
+ "chain_order": 1,
3256
+ "verified": true
3257
+ },
3258
+ {
3259
+ "name": "quick_gelu",
3260
+ "chain_order": 1,
3261
+ "verified": true
3262
+ }
3263
+ ],
3264
+ "description": "Gaussian Error Linear Unit, the activation BERT",
3265
+ "source": "forge/industries/ml/activations/gelu.eml"
3266
+ },
3267
+ {
3268
+ "category": "ml",
3269
+ "file": "ml/layernorm.eml",
3270
+ "module": "layernorm",
3271
+ "functions": [
3272
+ {
3273
+ "name": "layernorm_step",
3274
+ "chain_order": 1,
3275
+ "verified": true
3276
+ },
3277
+ {
3278
+ "name": "layernorm_default",
3279
+ "chain_order": 1,
3280
+ "verified": true
3281
+ },
3282
+ {
3283
+ "name": "rmsnorm_step",
3284
+ "chain_order": 1,
3285
+ "verified": true
3286
+ }
3287
+ ],
3288
+ "description": "per-feature layer normalization kernel.",
3289
+ "source": "new"
3290
+ },
3291
+ {
3292
+ "category": "ml",
3293
+ "file": "ml/leaky_relu.eml",
3294
+ "module": "leaky_relu",
3295
+ "functions": [
3296
+ {
3297
+ "name": "leaky_relu",
3298
+ "chain_order": 0,
3299
+ "verified": true
3300
+ },
3301
+ {
3302
+ "name": "leaky_relu_default",
3303
+ "chain_order": 0,
3304
+ "verified": true
3305
+ },
3306
+ {
3307
+ "name": "prelu",
3308
+ "chain_order": 0,
3309
+ "verified": true
3310
+ },
3311
+ {
3312
+ "name": "leaky_relu_grad",
3313
+ "chain_order": 0,
3314
+ "verified": true
3315
+ }
3316
+ ],
3317
+ "description": "Leaky ReLU activation.",
3318
+ "source": "new"
3319
+ },
3320
+ {
3321
+ "category": "ml",
3322
+ "file": "ml/relu.eml",
3323
+ "module": "relu",
3324
+ "functions": [
3325
+ {
3326
+ "name": "relu",
3327
+ "chain_order": 0,
3328
+ "verified": true
3329
+ },
3330
+ {
3331
+ "name": "leaky_relu",
3332
+ "chain_order": 0,
3333
+ "verified": true
3334
+ },
3335
+ {
3336
+ "name": "relu6",
3337
+ "chain_order": 0,
3338
+ "verified": true
3339
+ },
3340
+ {
3341
+ "name": "prelu",
3342
+ "chain_order": 0,
3343
+ "verified": false
3344
+ }
3345
+ ],
3346
+ "description": "rectified linear unit family.",
3347
+ "source": "forge/industries/ml/activations/relu.eml"
3348
+ },
3349
+ {
3350
+ "category": "ml",
3351
+ "file": "ml/rotary_embed.eml",
3352
+ "module": "rotary_embed",
3353
+ "functions": [
3354
+ {
3355
+ "name": "theta",
3356
+ "chain_order": 1,
3357
+ "verified": true
3358
+ },
3359
+ {
3360
+ "name": "theta_default",
3361
+ "chain_order": 1,
3362
+ "verified": true
3363
+ },
3364
+ {
3365
+ "name": "rotate_pair_even",
3366
+ "chain_order": 1,
3367
+ "verified": true
3368
+ },
3369
+ {
3370
+ "name": "rotate_pair_odd",
3371
+ "chain_order": 1,
3372
+ "verified": true
3373
+ },
3374
+ {
3375
+ "name": "norm_witness",
3376
+ "chain_order": 1,
3377
+ "verified": true
3378
+ }
3379
+ ],
3380
+ "description": "Rotary Position Embedding (RoPE) kernel.",
3381
+ "source": "new"
3382
+ },
3383
+ {
3384
+ "category": "ml",
3385
+ "file": "ml/silu.eml",
3386
+ "module": "silu",
3387
+ "functions": [
3388
+ {
3389
+ "name": "silu",
3390
+ "chain_order": 1,
3391
+ "verified": true
3392
+ },
3393
+ {
3394
+ "name": "swish",
3395
+ "chain_order": 1,
3396
+ "verified": true
3397
+ },
3398
+ {
3399
+ "name": "silu_grad",
3400
+ "chain_order": 1,
3401
+ "verified": true
3402
+ }
3403
+ ],
3404
+ "description": "SiLU / Swish activation.",
3405
+ "source": "new"
3406
+ },
3407
+ {
3408
+ "category": "ml",
3409
+ "file": "ml/softmax.eml",
3410
+ "module": "softmax",
3411
+ "functions": [
3412
+ {
3413
+ "name": "softmax_shift_exp",
3414
+ "chain_order": 1,
3415
+ "verified": true
3416
+ },
3417
+ {
3418
+ "name": "softmax_normalize",
3419
+ "chain_order": 0,
3420
+ "verified": true
3421
+ },
3422
+ {
3423
+ "name": "softmax_two_logit",
3424
+ "chain_order": 1,
3425
+ "verified": true
3426
+ },
3427
+ {
3428
+ "name": "log_sum_exp_pair",
3429
+ "chain_order": 2,
3430
+ "verified": true
3431
+ }
3432
+ ],
3433
+ "description": "numerically-stable softmax kernels.",
3434
+ "source": "forge/industries/ml/activations/softmax.eml"
3435
+ },
3436
+ {
3437
+ "category": "physics",
3438
+ "file": "physics/coulomb.eml",
3439
+ "module": "coulomb",
3440
+ "functions": [
3441
+ {
3442
+ "name": "force",
3443
+ "chain_order": 0,
3444
+ "verified": true
3445
+ },
3446
+ {
3447
+ "name": "field",
3448
+ "chain_order": 0,
3449
+ "verified": true
3450
+ },
3451
+ {
3452
+ "name": "potential_energy",
3453
+ "chain_order": 0,
3454
+ "verified": true
3455
+ },
3456
+ {
3457
+ "name": "potential",
3458
+ "chain_order": 0,
3459
+ "verified": true
3460
+ }
3461
+ ],
3462
+ "description": "Coulomb's law for electrostatic force / field.",
3463
+ "source": "new"
3464
+ },
3465
+ {
3466
+ "category": "physics",
3467
+ "file": "physics/damped_oscillator.eml",
3468
+ "module": "damped_wave",
3469
+ "functions": [
3470
+ {
3471
+ "name": "damped_wave",
3472
+ "chain_order": 2,
3473
+ "verified": false
3474
+ }
3475
+ ],
3476
+ "description": "exp * sin, the chain-2 archetype.",
3477
+ "source": "forge/examples/damped_wave.eml"
3478
+ },
3479
+ {
3480
+ "category": "physics",
3481
+ "file": "physics/diffusion.eml",
3482
+ "module": "diffusion",
3483
+ "functions": [
3484
+ {
3485
+ "name": "concentration",
3486
+ "chain_order": 1,
3487
+ "verified": true
3488
+ },
3489
+ {
3490
+ "name": "sigma",
3491
+ "chain_order": 1,
3492
+ "verified": true
3493
+ },
3494
+ {
3495
+ "name": "fick_first_law",
3496
+ "chain_order": 0,
3497
+ "verified": true
3498
+ }
3499
+ ],
3500
+ "description": "1-D diffusion (heat / mass) equation snapshot.",
3501
+ "source": "new"
3502
+ },
3503
+ {
3504
+ "category": "physics",
3505
+ "file": "physics/gravity.eml",
3506
+ "module": "gravity",
3507
+ "functions": [
3508
+ {
3509
+ "name": "newtonian_acceleration",
3510
+ "chain_order": 0,
3511
+ "verified": true
3512
+ },
3513
+ {
3514
+ "name": "surface_gravity_step",
3515
+ "chain_order": 0,
3516
+ "verified": false
3517
+ }
3518
+ ],
3519
+ "description": "two gravity models for game physics.",
3520
+ "source": "forge/industries/gaming/physics/gravity.eml"
3521
+ },
3522
+ {
3523
+ "category": "physics",
3524
+ "file": "physics/hooke.eml",
3525
+ "module": "hooke",
3526
+ "functions": [
3527
+ {
3528
+ "name": "force",
3529
+ "chain_order": 0,
3530
+ "verified": true
3531
+ },
3532
+ {
3533
+ "name": "potential_energy",
3534
+ "chain_order": 0,
3535
+ "verified": true
3536
+ },
3537
+ {
3538
+ "name": "series_stiffness",
3539
+ "chain_order": 0,
3540
+ "verified": true
3541
+ },
3542
+ {
3543
+ "name": "parallel_stiffness",
3544
+ "chain_order": 0,
3545
+ "verified": true
3546
+ },
3547
+ {
3548
+ "name": "natural_frequency",
3549
+ "chain_order": 1,
3550
+ "verified": true
3551
+ }
3552
+ ],
3553
+ "description": "Hooke's law for springs and elastic media.",
3554
+ "source": "new"
3555
+ },
3556
+ {
3557
+ "category": "physics",
3558
+ "file": "physics/navier_stokes_1d.eml",
3559
+ "module": "navier_stokes_1d",
3560
+ "functions": [
3561
+ {
3562
+ "name": "pressure_term",
3563
+ "chain_order": 0,
3564
+ "verified": true
3565
+ },
3566
+ {
3567
+ "name": "viscous_term",
3568
+ "chain_order": 0,
3569
+ "verified": true
3570
+ },
3571
+ {
3572
+ "name": "convective_term",
3573
+ "chain_order": 0,
3574
+ "verified": true
3575
+ },
3576
+ {
3577
+ "name": "rhs",
3578
+ "chain_order": 0,
3579
+ "verified": true
3580
+ },
3581
+ {
3582
+ "name": "reynolds",
3583
+ "chain_order": 0,
3584
+ "verified": true
3585
+ }
3586
+ ],
3587
+ "description": "1-D incompressible Navier-Stokes step.",
3588
+ "source": "new"
3589
+ },
3590
+ {
3591
+ "category": "physics",
3592
+ "file": "physics/planck_radiation.eml",
3593
+ "module": "planck_radiation",
3594
+ "functions": [
3595
+ {
3596
+ "name": "spectral_radiance",
3597
+ "chain_order": 1,
3598
+ "verified": true
3599
+ },
3600
+ {
3601
+ "name": "wien_lambda_max",
3602
+ "chain_order": 0,
3603
+ "verified": true
3604
+ },
3605
+ {
3606
+ "name": "rayleigh_jeans_radiance",
3607
+ "chain_order": 0,
3608
+ "verified": true
3609
+ }
3610
+ ],
3611
+ "description": "Planck blackbody spectral radiance.",
3612
+ "source": "forge/industries/scientific/physics/planck_radiation.eml"
3613
+ },
3614
+ {
3615
+ "category": "physics",
3616
+ "file": "physics/stefan_boltzmann.eml",
3617
+ "module": "stefan_boltzmann",
3618
+ "functions": [
3619
+ {
3620
+ "name": "radiative_flux",
3621
+ "chain_order": 1,
3622
+ "verified": true
3623
+ },
3624
+ {
3625
+ "name": "net_exchange",
3626
+ "chain_order": 1,
3627
+ "verified": true
3628
+ },
3629
+ {
3630
+ "name": "wien_peak_wavelength",
3631
+ "chain_order": 0,
3632
+ "verified": true
3633
+ }
3634
+ ],
3635
+ "description": "blackbody radiative flux.",
3636
+ "source": "forge/industries/scientific/climate/stefan_boltzmann.eml"
3637
+ },
3638
+ {
3639
+ "category": "physics",
3640
+ "file": "physics/wave_propagation.eml",
3641
+ "module": "wave_propagation",
3642
+ "functions": [
3643
+ {
3644
+ "name": "wave",
3645
+ "chain_order": 1,
3646
+ "verified": true
3647
+ },
3648
+ {
3649
+ "name": "wavelength",
3650
+ "chain_order": 0,
3651
+ "verified": true
3652
+ },
3653
+ {
3654
+ "name": "frequency",
3655
+ "chain_order": 0,
3656
+ "verified": true
3657
+ },
3658
+ {
3659
+ "name": "phase_velocity",
3660
+ "chain_order": 0,
3661
+ "verified": true
3662
+ }
3663
+ ],
3664
+ "description": "1-D linear wave equation snapshot.",
3665
+ "source": "new"
3666
+ },
3667
+ {
3668
+ "category": "quantum",
3669
+ "file": "quantum/cnot.eml",
3670
+ "module": "cnot",
3671
+ "functions": [
3672
+ {
3673
+ "name": "cnot_control_zero_passes",
3674
+ "chain_order": 0,
3675
+ "verified": false
3676
+ },
3677
+ {
3678
+ "name": "cnot_self_inverse_amp",
3679
+ "chain_order": 0,
3680
+ "verified": false
3681
+ },
3682
+ {
3683
+ "name": "cnot_zero_certificate",
3684
+ "chain_order": 0,
3685
+ "verified": true
3686
+ },
3687
+ {
3688
+ "name": "cnot_involution_certificate",
3689
+ "chain_order": 0,
3690
+ "verified": true
3691
+ },
3692
+ {
3693
+ "name": "prob_witness",
3694
+ "chain_order": 0,
3695
+ "verified": true
3696
+ }
3697
+ ],
3698
+ "description": "TIER 7: QUANTUM, third demo.",
3699
+ "source": "forge/examples/carriers/quantum/cnot.eml"
3700
+ },
3701
+ {
3702
+ "category": "quantum",
3703
+ "file": "quantum/grover_oracle.eml",
3704
+ "module": "grover_oracle",
3705
+ "functions": [
3706
+ {
3707
+ "name": "reflect",
3708
+ "chain_order": 0,
3709
+ "verified": false
3710
+ },
3711
+ {
3712
+ "name": "reflect_at_mean",
3713
+ "chain_order": 0,
3714
+ "verified": false
3715
+ },
3716
+ {
3717
+ "name": "squared_witness",
3718
+ "chain_order": 0,
3719
+ "verified": true
3720
+ },
3721
+ {
3722
+ "name": "fixed_point_value",
3723
+ "chain_order": 0,
3724
+ "verified": true
3725
+ }
3726
+ ],
3727
+ "description": "TIER 7: QUANTUM, fourth demo.",
3728
+ "source": "forge/examples/carriers/quantum/grover_oracle.eml"
3729
+ },
3730
+ {
3731
+ "category": "quantum",
3732
+ "file": "quantum/hadamard.eml",
3733
+ "module": "hadamard",
3734
+ "functions": [
3735
+ {
3736
+ "name": "h_norm_2x_squared_unnormalised",
3737
+ "chain_order": 0,
3738
+ "verified": false
3739
+ },
3740
+ {
3741
+ "name": "twice_input_norm",
3742
+ "chain_order": 0,
3743
+ "verified": false
3744
+ },
3745
+ {
3746
+ "name": "h0_norm_unnormalised",
3747
+ "chain_order": 0,
3748
+ "verified": true
3749
+ },
3750
+ {
3751
+ "name": "h1_norm_unnormalised",
3752
+ "chain_order": 0,
3753
+ "verified": true
3754
+ },
3755
+ {
3756
+ "name": "squared_norm_witness",
3757
+ "chain_order": 0,
3758
+ "verified": true
3759
+ }
3760
+ ],
3761
+ "description": "TIER 7: QUANTUM, second demo.",
3762
+ "source": "forge/examples/carriers/quantum/hadamard.eml"
3763
+ },
3764
+ {
3765
+ "category": "quantum",
3766
+ "file": "quantum/pauli_x.eml",
3767
+ "module": "pauli_x",
3768
+ "functions": [
3769
+ {
3770
+ "name": "pauli_x",
3771
+ "chain_order": 0,
3772
+ "verified": true
3773
+ }
3774
+ ],
3775
+ "description": "Pauli X (NOT) gate",
3776
+ "source": "monogate-research/industries/quantum/kernels/pauli_x.eml"
3777
+ },
3778
+ {
3779
+ "category": "quantum",
3780
+ "file": "quantum/pauli_z.eml",
3781
+ "module": "pauli_z",
3782
+ "functions": [
3783
+ {
3784
+ "name": "pauli_z",
3785
+ "chain_order": 0,
3786
+ "verified": true
3787
+ }
3788
+ ],
3789
+ "description": "Pauli Z (phase flip) gate",
3790
+ "source": "monogate-research/industries/quantum/kernels/pauli_z.eml"
3791
+ },
3792
+ {
3793
+ "category": "quantum",
3794
+ "file": "quantum/phase_gate.eml",
3795
+ "module": "phase_gate",
3796
+ "functions": [
3797
+ {
3798
+ "name": "r_real",
3799
+ "chain_order": 1,
3800
+ "verified": false
3801
+ },
3802
+ {
3803
+ "name": "r_imag",
3804
+ "chain_order": 1,
3805
+ "verified": false
3806
+ },
3807
+ {
3808
+ "name": "r_modulus_sq",
3809
+ "chain_order": 1,
3810
+ "verified": false
3811
+ },
3812
+ {
3813
+ "name": "r_real_at_zero",
3814
+ "chain_order": 1,
3815
+ "verified": true
3816
+ },
3817
+ {
3818
+ "name": "r_imag_at_zero",
3819
+ "chain_order": 1,
3820
+ "verified": true
3821
+ },
3822
+ {
3823
+ "name": "unitarity_witness",
3824
+ "chain_order": 1,
3825
+ "verified": true
3826
+ }
3827
+ ],
3828
+ "description": "TIER 7: QUANTUM (probability-amplitude carrier)",
3829
+ "source": "forge/examples/carriers/quantum/phase_gate.eml"
3830
+ },
3831
+ {
3832
+ "category": "quantum",
3833
+ "file": "quantum/rotation_rz.eml",
3834
+ "module": "rx",
3835
+ "functions": [
3836
+ {
3837
+ "name": "rx",
3838
+ "chain_order": 1,
3839
+ "verified": true
3840
+ }
3841
+ ],
3842
+ "description": "qubit rotations Rx(\u03b8), Ry(\u03b8), Rz(\u03b8)",
3843
+ "source": "monogate-research/industries/quantum/kernels/rotation.eml"
3844
+ },
3845
+ {
3846
+ "category": "sensors",
3847
+ "file": "sensors/accelerometer.eml",
3848
+ "module": "accelerometer",
3849
+ "functions": [
3850
+ {
3851
+ "name": "lsb_to_si",
3852
+ "chain_order": 0,
3853
+ "verified": true
3854
+ },
3855
+ {
3856
+ "name": "tilt_angle",
3857
+ "chain_order": 1,
3858
+ "verified": true
3859
+ },
3860
+ {
3861
+ "name": "tilt_two_axis",
3862
+ "chain_order": 2,
3863
+ "verified": true
3864
+ },
3865
+ {
3866
+ "name": "magnitude",
3867
+ "chain_order": 1,
3868
+ "verified": true
3869
+ }
3870
+ ],
3871
+ "description": "IMU accelerometer model.",
3872
+ "source": "new"
3873
+ },
3874
+ {
3875
+ "category": "sensors",
3876
+ "file": "sensors/hall_effect.eml",
3877
+ "module": "hall_effect",
3878
+ "functions": [
3879
+ {
3880
+ "name": "hall_voltage",
3881
+ "chain_order": 0,
3882
+ "verified": true
3883
+ },
3884
+ {
3885
+ "name": "hall_coefficient",
3886
+ "chain_order": 0,
3887
+ "verified": true
3888
+ },
3889
+ {
3890
+ "name": "b_from_voltage",
3891
+ "chain_order": 0,
3892
+ "verified": true
3893
+ }
3894
+ ],
3895
+ "description": "Hall sensor model.",
3896
+ "source": "new"
3897
+ },
3898
+ {
3899
+ "category": "sensors",
3900
+ "file": "sensors/photodetector.eml",
3901
+ "module": "photodetector",
3902
+ "functions": [
3903
+ {
3904
+ "name": "photocurrent",
3905
+ "chain_order": 0,
3906
+ "verified": false
3907
+ },
3908
+ {
3909
+ "name": "current_at_zero_power",
3910
+ "chain_order": 0,
3911
+ "verified": true
3912
+ },
3913
+ {
3914
+ "name": "nonneg_current",
3915
+ "chain_order": 0,
3916
+ "verified": true
3917
+ }
3918
+ ],
3919
+ "description": "P1 PHOTONIC COMPONENT LIBRARY (3/8)",
3920
+ "source": "forge/examples/photonics/components/photodetector.eml"
3921
+ },
3922
+ {
3923
+ "category": "sensors",
3924
+ "file": "sensors/rtd.eml",
3925
+ "module": "rtd",
3926
+ "functions": [
3927
+ {
3928
+ "name": "resistance_pos",
3929
+ "chain_order": 0,
3930
+ "verified": true
3931
+ },
3932
+ {
3933
+ "name": "resistance_neg",
3934
+ "chain_order": 0,
3935
+ "verified": true
3936
+ },
3937
+ {
3938
+ "name": "temperature_pos",
3939
+ "chain_order": 1,
3940
+ "verified": true
3941
+ }
3942
+ ],
3943
+ "description": "Pt100 / Pt1000 RTD models (Callendar-Van Dusen).",
3944
+ "source": "new"
3945
+ },
3946
+ {
3947
+ "category": "sensors",
3948
+ "file": "sensors/strain_gauge.eml",
3949
+ "module": "strain_gauge",
3950
+ "functions": [
3951
+ {
3952
+ "name": "resistance_change",
3953
+ "chain_order": 0,
3954
+ "verified": true
3955
+ },
3956
+ {
3957
+ "name": "strain_from_dr",
3958
+ "chain_order": 0,
3959
+ "verified": true
3960
+ },
3961
+ {
3962
+ "name": "quarter_bridge_voltage",
3963
+ "chain_order": 0,
3964
+ "verified": true
3965
+ },
3966
+ {
3967
+ "name": "half_bridge_voltage",
3968
+ "chain_order": 0,
3969
+ "verified": true
3970
+ },
3971
+ {
3972
+ "name": "full_bridge_voltage",
3973
+ "chain_order": 0,
3974
+ "verified": true
3975
+ },
3976
+ {
3977
+ "name": "stress",
3978
+ "chain_order": 0,
3979
+ "verified": true
3980
+ }
3981
+ ],
3982
+ "description": "foil-resistance strain gauge model.",
3983
+ "source": "new"
3984
+ },
3985
+ {
3986
+ "category": "sensors",
3987
+ "file": "sensors/thermistor.eml",
3988
+ "module": "thermistor",
3989
+ "functions": [
3990
+ {
3991
+ "name": "resistance_beta",
3992
+ "chain_order": 1,
3993
+ "verified": true
3994
+ },
3995
+ {
3996
+ "name": "temperature_beta",
3997
+ "chain_order": 1,
3998
+ "verified": true
3999
+ },
4000
+ {
4001
+ "name": "inv_temperature_steinhart",
4002
+ "chain_order": 1,
4003
+ "verified": true
4004
+ },
4005
+ {
4006
+ "name": "temperature_steinhart",
4007
+ "chain_order": 1,
4008
+ "verified": true
4009
+ },
4010
+ {
4011
+ "name": "kelvin_from_celsius",
4012
+ "chain_order": 0,
4013
+ "verified": true
4014
+ }
4015
+ ],
4016
+ "description": "NTC thermistor models.",
4017
+ "source": "new"
4018
+ },
4019
+ {
4020
+ "category": "signal",
4021
+ "file": "signal/bandpass.eml",
4022
+ "module": "bandpass",
4023
+ "functions": [
4024
+ {
4025
+ "name": "bandpass_step",
4026
+ "chain_order": 0,
4027
+ "verified": true
4028
+ },
4029
+ {
4030
+ "name": "alphas_from_cutoffs",
4031
+ "chain_order": 0,
4032
+ "verified": true
4033
+ }
4034
+ ],
4035
+ "description": "band-pass filter as a cascade of low-pass and",
4036
+ "source": "new"
4037
+ },
4038
+ {
4039
+ "category": "signal",
4040
+ "file": "signal/chirp.eml",
4041
+ "module": "chirp",
4042
+ "functions": [
4043
+ {
4044
+ "name": "chirp_frequency",
4045
+ "chain_order": 0,
4046
+ "verified": true
4047
+ }
4048
+ ],
4049
+ "description": "",
4050
+ "source": "monogate-research/exploration/bat_sonar/eml/chirp.eml"
4051
+ },
4052
+ {
4053
+ "category": "signal",
4054
+ "file": "signal/dft_single.eml",
4055
+ "module": "dft_single",
4056
+ "functions": [
4057
+ {
4058
+ "name": "dft_single",
4059
+ "chain_order": 1,
4060
+ "verified": true
4061
+ }
4062
+ ],
4063
+ "description": "bin DFT (reference, used to validate FFT)",
4064
+ "source": "monogate-research/industries/signal_processing/kernels/dft_single.eml"
4065
+ },
4066
+ {
4067
+ "category": "signal",
4068
+ "file": "signal/fft_butterfly.eml",
4069
+ "module": "fft_butterfly",
4070
+ "functions": [
4071
+ {
4072
+ "name": "fft_butterfly",
4073
+ "chain_order": 1,
4074
+ "verified": true
4075
+ }
4076
+ ],
4077
+ "description": "Tukey FFT butterfly",
4078
+ "source": "monogate-research/industries/signal_processing/kernels/fft_butterfly.eml"
4079
+ },
4080
+ {
4081
+ "category": "signal",
4082
+ "file": "signal/highpass.eml",
4083
+ "module": "highpass",
4084
+ "functions": [
4085
+ {
4086
+ "name": "hpf1_step",
4087
+ "chain_order": 0,
4088
+ "verified": true
4089
+ },
4090
+ {
4091
+ "name": "alpha_from_rc_dt",
4092
+ "chain_order": 0,
4093
+ "verified": true
4094
+ },
4095
+ {
4096
+ "name": "alpha_from_cutoff",
4097
+ "chain_order": 0,
4098
+ "verified": true
4099
+ }
4100
+ ],
4101
+ "description": "1st-order RC high-pass filter step.",
4102
+ "source": "new"
4103
+ },
4104
+ {
4105
+ "category": "signal",
4106
+ "file": "signal/lowpass.eml",
4107
+ "module": "lowpass",
4108
+ "functions": [
4109
+ {
4110
+ "name": "lpf1_step",
4111
+ "chain_order": 0,
4112
+ "verified": true
4113
+ },
4114
+ {
4115
+ "name": "alpha_from_rc_dt",
4116
+ "chain_order": 0,
4117
+ "verified": true
4118
+ },
4119
+ {
4120
+ "name": "alpha_from_cutoff",
4121
+ "chain_order": 0,
4122
+ "verified": true
4123
+ }
4124
+ ],
4125
+ "description": "1st-order RC low-pass filter step.",
4126
+ "source": "new"
4127
+ },
4128
+ {
4129
+ "category": "signal",
4130
+ "file": "signal/matched_filter.eml",
4131
+ "module": "matched_filter",
4132
+ "functions": [
4133
+ {
4134
+ "name": "matched_filter_score",
4135
+ "chain_order": 0,
4136
+ "verified": true
4137
+ }
4138
+ ],
4139
+ "description": "",
4140
+ "source": "monogate-research/exploration/bat_sonar/eml/matched_filter.eml"
4141
+ },
4142
+ {
4143
+ "category": "signal",
4144
+ "file": "signal/notch_filter.eml",
4145
+ "module": "notch_filter",
4146
+ "functions": [
4147
+ {
4148
+ "name": "notch_coeffs",
4149
+ "chain_order": 1,
4150
+ "verified": true
4151
+ },
4152
+ {
4153
+ "name": "notch_step",
4154
+ "chain_order": 0,
4155
+ "verified": true
4156
+ }
4157
+ ],
4158
+ "description": "2nd-order biquad notch (band-reject) filter.",
4159
+ "source": "new"
4160
+ },
4161
+ {
4162
+ "category": "signal",
4163
+ "file": "signal/window_hamming.eml",
4164
+ "module": "window_hamming",
4165
+ "functions": [
4166
+ {
4167
+ "name": "hamming",
4168
+ "chain_order": 1,
4169
+ "verified": true
4170
+ },
4171
+ {
4172
+ "name": "hamming_at_start",
4173
+ "chain_order": 0,
4174
+ "verified": true
4175
+ },
4176
+ {
4177
+ "name": "hamming_apply",
4178
+ "chain_order": 1,
4179
+ "verified": true
4180
+ }
4181
+ ],
4182
+ "description": "Hamming window function.",
4183
+ "source": "new"
4184
+ },
4185
+ {
4186
+ "category": "signal",
4187
+ "file": "signal/window_hann.eml",
4188
+ "module": "window_hann",
4189
+ "functions": [
4190
+ {
4191
+ "name": "hann",
4192
+ "chain_order": 1,
4193
+ "verified": true
4194
+ },
4195
+ {
4196
+ "name": "hann_at_start",
4197
+ "chain_order": 0,
4198
+ "verified": true
4199
+ },
4200
+ {
4201
+ "name": "hann_apply",
4202
+ "chain_order": 1,
4203
+ "verified": true
4204
+ }
4205
+ ],
4206
+ "description": "Hann window function for FFT framing.",
4207
+ "source": "new"
4208
+ }
4209
+ ]