eml-stdlib 0.4.0__tar.gz

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 (191) hide show
  1. eml_stdlib-0.4.0/LICENSE +21 -0
  2. eml_stdlib-0.4.0/PKG-INFO +453 -0
  3. eml_stdlib-0.4.0/README.md +417 -0
  4. eml_stdlib-0.4.0/eml_stdlib/__init__.py +81 -0
  5. eml_stdlib-0.4.0/eml_stdlib/ballistics/air_density.eml +73 -0
  6. eml_stdlib-0.4.0/eml_stdlib/ballistics/ballistic_solver.eml +102 -0
  7. eml_stdlib-0.4.0/eml_stdlib/ballistics/coriolis.eml +60 -0
  8. eml_stdlib-0.4.0/eml_stdlib/ballistics/drag.eml +44 -0
  9. eml_stdlib-0.4.0/eml_stdlib/ballistics/gravity.eml +52 -0
  10. eml_stdlib-0.4.0/eml_stdlib/ballistics/muzzle_velocity.eml +42 -0
  11. eml_stdlib-0.4.0/eml_stdlib/ballistics/spin_drift.eml +60 -0
  12. eml_stdlib-0.4.0/eml_stdlib/ballistics/time_of_flight.eml +79 -0
  13. eml_stdlib-0.4.0/eml_stdlib/ballistics/wind.eml +58 -0
  14. eml_stdlib-0.4.0/eml_stdlib/biology/abilities/ballistic_armor.eml +61 -0
  15. eml_stdlib-0.4.0/eml_stdlib/biology/abilities/bite_force.eml +48 -0
  16. eml_stdlib-0.4.0/eml_stdlib/biology/abilities/chromatophore.eml +50 -0
  17. eml_stdlib-0.4.0/eml_stdlib/biology/abilities/discharge.eml +45 -0
  18. eml_stdlib-0.4.0/eml_stdlib/biology/abilities/elastic_energy.eml +42 -0
  19. eml_stdlib-0.4.0/eml_stdlib/biology/abilities/locomotion.eml +50 -0
  20. eml_stdlib-0.4.0/eml_stdlib/biology/abilities/muscle_power.eml +47 -0
  21. eml_stdlib-0.4.0/eml_stdlib/biology/abilities/sprint.eml +36 -0
  22. eml_stdlib-0.4.0/eml_stdlib/biology/abilities/texture_match.eml +49 -0
  23. eml_stdlib-0.4.0/eml_stdlib/biology/abilities/toxin.eml +44 -0
  24. eml_stdlib-0.4.0/eml_stdlib/biology/cone_l.eml +36 -0
  25. eml_stdlib-0.4.0/eml_stdlib/biology/cone_s.eml +32 -0
  26. eml_stdlib-0.4.0/eml_stdlib/biology/cryptochrome.eml +44 -0
  27. eml_stdlib-0.4.0/eml_stdlib/biology/geomagnetic_field.eml +32 -0
  28. eml_stdlib-0.4.0/eml_stdlib/biology/goldman_equation.eml +41 -0
  29. eml_stdlib-0.4.0/eml_stdlib/biology/hill_equation.eml +65 -0
  30. eml_stdlib-0.4.0/eml_stdlib/biology/hodgkin_huxley.eml +108 -0
  31. eml_stdlib-0.4.0/eml_stdlib/biology/michaelis_menten.eml +65 -0
  32. eml_stdlib-0.4.0/eml_stdlib/biology/plume_diffusion.eml +47 -0
  33. eml_stdlib-0.4.0/eml_stdlib/biology/receptor_binding.eml +35 -0
  34. eml_stdlib-0.4.0/eml_stdlib/biology/rod_sensitivity.eml +38 -0
  35. eml_stdlib-0.4.0/eml_stdlib/biology/tapetum.eml +70 -0
  36. eml_stdlib-0.4.0/eml_stdlib/carriers/acoustic_cloak.eml +56 -0
  37. eml_stdlib-0.4.0/eml_stdlib/carriers/ferron_emission.eml +55 -0
  38. eml_stdlib-0.4.0/eml_stdlib/carriers/ferron_logic.eml +45 -0
  39. eml_stdlib-0.4.0/eml_stdlib/carriers/ferron_propagation.eml +69 -0
  40. eml_stdlib-0.4.0/eml_stdlib/carriers/mach_zehnder.eml +52 -0
  41. eml_stdlib-0.4.0/eml_stdlib/carriers/magnon_dispersion.eml +57 -0
  42. eml_stdlib-0.4.0/eml_stdlib/carriers/magnon_logic.eml +45 -0
  43. eml_stdlib-0.4.0/eml_stdlib/carriers/optical_neuron.eml +55 -0
  44. eml_stdlib-0.4.0/eml_stdlib/carriers/phonon_bandgap.eml +54 -0
  45. eml_stdlib-0.4.0/eml_stdlib/carriers/ring_resonator.eml +48 -0
  46. eml_stdlib-0.4.0/eml_stdlib/carriers/spin_torque.eml +61 -0
  47. eml_stdlib-0.4.0/eml_stdlib/carriers/thermal_rectifier.eml +63 -0
  48. eml_stdlib-0.4.0/eml_stdlib/catalog.json +4209 -0
  49. eml_stdlib-0.4.0/eml_stdlib/circuits/buck_converter.eml +74 -0
  50. eml_stdlib-0.4.0/eml_stdlib/circuits/cmos_inverter.eml +75 -0
  51. eml_stdlib-0.4.0/eml_stdlib/circuits/h_bridge.eml +69 -0
  52. eml_stdlib-0.4.0/eml_stdlib/circuits/ldo.eml +66 -0
  53. eml_stdlib-0.4.0/eml_stdlib/circuits/mosfet_iv.eml +59 -0
  54. eml_stdlib-0.4.0/eml_stdlib/circuits/pll_loop.eml +63 -0
  55. eml_stdlib-0.4.0/eml_stdlib/circuits/rc_filter.eml +98 -0
  56. eml_stdlib-0.4.0/eml_stdlib/circuits/voltage_divider.eml +68 -0
  57. eml_stdlib-0.4.0/eml_stdlib/control/bangbang.eml +34 -0
  58. eml_stdlib-0.4.0/eml_stdlib/control/deadband.eml +28 -0
  59. eml_stdlib-0.4.0/eml_stdlib/control/hysteresis.eml +28 -0
  60. eml_stdlib-0.4.0/eml_stdlib/control/kalman_1d.eml +53 -0
  61. eml_stdlib-0.4.0/eml_stdlib/control/lqr_1d.eml +47 -0
  62. eml_stdlib-0.4.0/eml_stdlib/control/pid.eml +38 -0
  63. eml_stdlib-0.4.0/eml_stdlib/gaming/animation/bounce.eml +39 -0
  64. eml_stdlib-0.4.0/eml_stdlib/gaming/animation/ease_in.eml +27 -0
  65. eml_stdlib-0.4.0/eml_stdlib/gaming/animation/ease_in_out.eml +29 -0
  66. eml_stdlib-0.4.0/eml_stdlib/gaming/animation/ease_out.eml +27 -0
  67. eml_stdlib-0.4.0/eml_stdlib/gaming/animation/ik_2bone.eml +57 -0
  68. eml_stdlib-0.4.0/eml_stdlib/gaming/animation/spring.eml +39 -0
  69. eml_stdlib-0.4.0/eml_stdlib/gaming/audio/distance_attenuation.eml +50 -0
  70. eml_stdlib-0.4.0/eml_stdlib/gaming/audio/doppler.eml +39 -0
  71. eml_stdlib-0.4.0/eml_stdlib/gaming/audio/lowpass_audio.eml +32 -0
  72. eml_stdlib-0.4.0/eml_stdlib/gaming/audio/reverb_delay.eml +41 -0
  73. eml_stdlib-0.4.0/eml_stdlib/gaming/camera/dof_blur.eml +30 -0
  74. eml_stdlib-0.4.0/eml_stdlib/gaming/camera/fov_projection.eml +47 -0
  75. eml_stdlib-0.4.0/eml_stdlib/gaming/camera/orbit.eml +48 -0
  76. eml_stdlib-0.4.0/eml_stdlib/gaming/camera/shake.eml +20 -0
  77. eml_stdlib-0.4.0/eml_stdlib/gaming/lighting/ambient_occlusion.eml +40 -0
  78. eml_stdlib-0.4.0/eml_stdlib/gaming/lighting/area_light.eml +50 -0
  79. eml_stdlib-0.4.0/eml_stdlib/gaming/lighting/fog_exp.eml +28 -0
  80. eml_stdlib-0.4.0/eml_stdlib/gaming/lighting/fog_exp2.eml +30 -0
  81. eml_stdlib-0.4.0/eml_stdlib/gaming/lighting/point_light.eml +33 -0
  82. eml_stdlib-0.4.0/eml_stdlib/gaming/lighting/spot_light.eml +43 -0
  83. eml_stdlib-0.4.0/eml_stdlib/gaming/noise/fbm.eml +65 -0
  84. eml_stdlib-0.4.0/eml_stdlib/gaming/noise/perlin_2d.eml +65 -0
  85. eml_stdlib-0.4.0/eml_stdlib/gaming/noise/perlin_3d.eml +63 -0
  86. eml_stdlib-0.4.0/eml_stdlib/gaming/noise/simplex_2d.eml +67 -0
  87. eml_stdlib-0.4.0/eml_stdlib/gaming/noise/turbulence.eml +46 -0
  88. eml_stdlib-0.4.0/eml_stdlib/gaming/noise/value_noise.eml +45 -0
  89. eml_stdlib-0.4.0/eml_stdlib/gaming/noise/voronoi_2d.eml +83 -0
  90. eml_stdlib-0.4.0/eml_stdlib/gaming/noise/white_noise.eml +47 -0
  91. eml_stdlib-0.4.0/eml_stdlib/gaming/noise/worley.eml +79 -0
  92. eml_stdlib-0.4.0/eml_stdlib/gaming/particles/drag.eml +30 -0
  93. eml_stdlib-0.4.0/eml_stdlib/gaming/particles/emitter_radial.eml +35 -0
  94. eml_stdlib-0.4.0/eml_stdlib/gaming/particles/fade.eml +36 -0
  95. eml_stdlib-0.4.0/eml_stdlib/gaming/particles/gravity_particle.eml +32 -0
  96. eml_stdlib-0.4.0/eml_stdlib/gaming/particles/size_over_life.eml +28 -0
  97. eml_stdlib-0.4.0/eml_stdlib/gaming/physics/aabb_overlap.eml +38 -0
  98. eml_stdlib-0.4.0/eml_stdlib/gaming/physics/buoyancy.eml +43 -0
  99. eml_stdlib-0.4.0/eml_stdlib/gaming/physics/circle_collision.eml +46 -0
  100. eml_stdlib-0.4.0/eml_stdlib/gaming/physics/impulse_resolve.eml +39 -0
  101. eml_stdlib-0.4.0/eml_stdlib/gaming/physics/rigid_body_2d.eml +61 -0
  102. eml_stdlib-0.4.0/eml_stdlib/gaming/physics/spring_damper.eml +30 -0
  103. eml_stdlib-0.4.0/eml_stdlib/gaming/physics/verlet.eml +29 -0
  104. eml_stdlib-0.4.0/eml_stdlib/gaming/shading/fresnel.eml +57 -0
  105. eml_stdlib-0.4.0/eml_stdlib/gaming/shading/matcap.eml +34 -0
  106. eml_stdlib-0.4.0/eml_stdlib/gaming/shading/pbr_diffuse.eml +41 -0
  107. eml_stdlib-0.4.0/eml_stdlib/gaming/shading/pbr_specular.eml +75 -0
  108. eml_stdlib-0.4.0/eml_stdlib/gaming/shading/subsurface.eml +52 -0
  109. eml_stdlib-0.4.0/eml_stdlib/gaming/shading/toon.eml +30 -0
  110. eml_stdlib-0.4.0/eml_stdlib/gaming/terrain/biome_select.eml +41 -0
  111. eml_stdlib-0.4.0/eml_stdlib/gaming/terrain/cliff_detect.eml +35 -0
  112. eml_stdlib-0.4.0/eml_stdlib/gaming/terrain/erosion_hydraulic.eml +57 -0
  113. eml_stdlib-0.4.0/eml_stdlib/gaming/terrain/erosion_thermal.eml +44 -0
  114. eml_stdlib-0.4.0/eml_stdlib/gaming/terrain/heightmap.eml +33 -0
  115. eml_stdlib-0.4.0/eml_stdlib/gaming/textures/brick.eml +27 -0
  116. eml_stdlib-0.4.0/eml_stdlib/gaming/textures/caustics.eml +25 -0
  117. eml_stdlib-0.4.0/eml_stdlib/gaming/textures/checkerboard.eml +27 -0
  118. eml_stdlib-0.4.0/eml_stdlib/gaming/textures/fire.eml +26 -0
  119. eml_stdlib-0.4.0/eml_stdlib/gaming/textures/marble.eml +24 -0
  120. eml_stdlib-0.4.0/eml_stdlib/gaming/textures/rust.eml +23 -0
  121. eml_stdlib-0.4.0/eml_stdlib/gaming/textures/water_surface.eml +49 -0
  122. eml_stdlib-0.4.0/eml_stdlib/gaming/textures/wood.eml +41 -0
  123. eml_stdlib-0.4.0/eml_stdlib/math/abs.eml +45 -0
  124. eml_stdlib-0.4.0/eml_stdlib/math/atan.eml +32 -0
  125. eml_stdlib-0.4.0/eml_stdlib/math/atan2.eml +61 -0
  126. eml_stdlib-0.4.0/eml_stdlib/math/bessel_j0.eml +65 -0
  127. eml_stdlib-0.4.0/eml_stdlib/math/cos.eml +42 -0
  128. eml_stdlib-0.4.0/eml_stdlib/math/cosh.eml +24 -0
  129. eml_stdlib-0.4.0/eml_stdlib/math/erf.eml +66 -0
  130. eml_stdlib-0.4.0/eml_stdlib/math/exp.eml +49 -0
  131. eml_stdlib-0.4.0/eml_stdlib/math/gamma.eml +55 -0
  132. eml_stdlib-0.4.0/eml_stdlib/math/gaussian.eml +18 -0
  133. eml_stdlib-0.4.0/eml_stdlib/math/log.eml +59 -0
  134. eml_stdlib-0.4.0/eml_stdlib/math/pow.eml +51 -0
  135. eml_stdlib-0.4.0/eml_stdlib/math/relu.eml +63 -0
  136. eml_stdlib-0.4.0/eml_stdlib/math/sigmoid.eml +21 -0
  137. eml_stdlib-0.4.0/eml_stdlib/math/sin.eml +37 -0
  138. eml_stdlib-0.4.0/eml_stdlib/math/sinh.eml +24 -0
  139. eml_stdlib-0.4.0/eml_stdlib/math/softmax.eml +87 -0
  140. eml_stdlib-0.4.0/eml_stdlib/math/sqrt.eml +46 -0
  141. eml_stdlib-0.4.0/eml_stdlib/math/tan.eml +36 -0
  142. eml_stdlib-0.4.0/eml_stdlib/math/tanh.eml +54 -0
  143. eml_stdlib-0.4.0/eml_stdlib/ml/attention.eml +70 -0
  144. eml_stdlib-0.4.0/eml_stdlib/ml/cross_entropy.eml +85 -0
  145. eml_stdlib-0.4.0/eml_stdlib/ml/gelu.eml +51 -0
  146. eml_stdlib-0.4.0/eml_stdlib/ml/layernorm.eml +49 -0
  147. eml_stdlib-0.4.0/eml_stdlib/ml/leaky_relu.eml +51 -0
  148. eml_stdlib-0.4.0/eml_stdlib/ml/relu.eml +63 -0
  149. eml_stdlib-0.4.0/eml_stdlib/ml/rotary_embed.eml +64 -0
  150. eml_stdlib-0.4.0/eml_stdlib/ml/silu.eml +40 -0
  151. eml_stdlib-0.4.0/eml_stdlib/ml/softmax.eml +87 -0
  152. eml_stdlib-0.4.0/eml_stdlib/physics/coulomb.eml +48 -0
  153. eml_stdlib-0.4.0/eml_stdlib/physics/damped_oscillator.eml +20 -0
  154. eml_stdlib-0.4.0/eml_stdlib/physics/diffusion.eml +45 -0
  155. eml_stdlib-0.4.0/eml_stdlib/physics/gravity.eml +60 -0
  156. eml_stdlib-0.4.0/eml_stdlib/physics/hooke.eml +56 -0
  157. eml_stdlib-0.4.0/eml_stdlib/physics/navier_stokes_1d.eml +57 -0
  158. eml_stdlib-0.4.0/eml_stdlib/physics/planck_radiation.eml +77 -0
  159. eml_stdlib-0.4.0/eml_stdlib/physics/stefan_boltzmann.eml +75 -0
  160. eml_stdlib-0.4.0/eml_stdlib/physics/wave_propagation.eml +52 -0
  161. eml_stdlib-0.4.0/eml_stdlib/quantum/cnot.eml +72 -0
  162. eml_stdlib-0.4.0/eml_stdlib/quantum/grover_oracle.eml +69 -0
  163. eml_stdlib-0.4.0/eml_stdlib/quantum/hadamard.eml +73 -0
  164. eml_stdlib-0.4.0/eml_stdlib/quantum/pauli_x.eml +29 -0
  165. eml_stdlib-0.4.0/eml_stdlib/quantum/pauli_z.eml +29 -0
  166. eml_stdlib-0.4.0/eml_stdlib/quantum/phase_gate.eml +76 -0
  167. eml_stdlib-0.4.0/eml_stdlib/quantum/rotation_rz.eml +92 -0
  168. eml_stdlib-0.4.0/eml_stdlib/sensors/accelerometer.eml +59 -0
  169. eml_stdlib-0.4.0/eml_stdlib/sensors/hall_effect.eml +42 -0
  170. eml_stdlib-0.4.0/eml_stdlib/sensors/photodetector.eml +58 -0
  171. eml_stdlib-0.4.0/eml_stdlib/sensors/rtd.eml +57 -0
  172. eml_stdlib-0.4.0/eml_stdlib/sensors/strain_gauge.eml +63 -0
  173. eml_stdlib-0.4.0/eml_stdlib/sensors/thermistor.eml +71 -0
  174. eml_stdlib-0.4.0/eml_stdlib/signal/bandpass.eml +39 -0
  175. eml_stdlib-0.4.0/eml_stdlib/signal/chirp.eml +42 -0
  176. eml_stdlib-0.4.0/eml_stdlib/signal/dft_single.eml +30 -0
  177. eml_stdlib-0.4.0/eml_stdlib/signal/fft_butterfly.eml +36 -0
  178. eml_stdlib-0.4.0/eml_stdlib/signal/highpass.eml +45 -0
  179. eml_stdlib-0.4.0/eml_stdlib/signal/lowpass.eml +49 -0
  180. eml_stdlib-0.4.0/eml_stdlib/signal/matched_filter.eml +48 -0
  181. eml_stdlib-0.4.0/eml_stdlib/signal/notch_filter.eml +47 -0
  182. eml_stdlib-0.4.0/eml_stdlib/signal/window_hamming.eml +47 -0
  183. eml_stdlib-0.4.0/eml_stdlib/signal/window_hann.eml +50 -0
  184. eml_stdlib-0.4.0/eml_stdlib.egg-info/PKG-INFO +453 -0
  185. eml_stdlib-0.4.0/eml_stdlib.egg-info/SOURCES.txt +189 -0
  186. eml_stdlib-0.4.0/eml_stdlib.egg-info/dependency_links.txt +1 -0
  187. eml_stdlib-0.4.0/eml_stdlib.egg-info/requires.txt +5 -0
  188. eml_stdlib-0.4.0/eml_stdlib.egg-info/top_level.txt +1 -0
  189. eml_stdlib-0.4.0/pyproject.toml +88 -0
  190. eml_stdlib-0.4.0/setup.cfg +4 -0
  191. eml_stdlib-0.4.0/tests/test_smoke.py +114 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Mosa Creates LLC
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,453 @@
1
+ Metadata-Version: 2.4
2
+ Name: eml-stdlib
3
+ Version: 0.4.0
4
+ Summary: EML standard-library prototype for game development. PBR shaders, procedural noise, procedural textures, lighting, terrain, animation curves, particles, audio attenuation + Doppler, rigid-body physics, and math/signal/control/biology/ballistics/ML kernels with explicit verification-contract metadata where available.
5
+ Author: Mosa Creates LLC
6
+ Author-email: "Arturo R. Almaguer" <almaguer1986@gmail.com>
7
+ Maintainer-email: "Arturo R. Almaguer" <almaguer1986@gmail.com>
8
+ License: MIT
9
+ Project-URL: Homepage, https://monogate.dev/learn/eml/intro
10
+ Project-URL: Repository, https://github.com/agent-maestro/eml-stdlib
11
+ Project-URL: Issues, https://github.com/agent-maestro/eml-stdlib/issues
12
+ Project-URL: Forge Compiler, https://github.com/agent-maestro/forge
13
+ Project-URL: MachLib, https://machlib.org
14
+ Keywords: eml,compiler,stdlib,formal-verification,lean,machlib,godot,shader,glsl,hlsl,pbr,noise,perlin,ballistics,physics,ml,signal-processing,quantum,photonics,spintronics,phononics,fpga,spice
15
+ Classifier: Development Status :: 4 - Beta
16
+ Classifier: Intended Audience :: Developers
17
+ Classifier: Intended Audience :: Science/Research
18
+ Classifier: License :: OSI Approved :: MIT License
19
+ Classifier: Operating System :: OS Independent
20
+ Classifier: Programming Language :: Python :: 3
21
+ Classifier: Programming Language :: Python :: 3.11
22
+ Classifier: Programming Language :: Python :: 3.12
23
+ Classifier: Topic :: Scientific/Engineering
24
+ Classifier: Topic :: Scientific/Engineering :: Mathematics
25
+ Classifier: Topic :: Software Development :: Compilers
26
+ Classifier: Topic :: Software Development :: Libraries
27
+ Classifier: Typing :: Typed
28
+ Requires-Python: >=3.11
29
+ Description-Content-Type: text/markdown
30
+ License-File: LICENSE
31
+ Provides-Extra: dev
32
+ Requires-Dist: pytest>=8; extra == "dev"
33
+ Requires-Dist: ruff>=0.5; extra == "dev"
34
+ Requires-Dist: mypy>=1.10; extra == "dev"
35
+ Dynamic: license-file
36
+
37
+ # eml-stdlib
38
+
39
+ **An EML standard-library prototype for game development.**
40
+ Shaders, textures, and physics formulas carry explicit verification contracts
41
+ or proof-obligation hooks where available.
42
+
43
+ Plus the math, signal-processing, control, biology, ballistics, and ML kernels
44
+ that built the rest of the Monogate stack. Modules are intended to compile to
45
+ GDScript, GLSL, HLSL, C, Python, and Lean through Forge-supported targets;
46
+ `@verify` contracts are tracked as proof obligations against MachLib.
47
+
48
+ ```bash
49
+ pip install eml-stdlib
50
+ eml-compile eml_stdlib/gaming/shading/pbr_specular.eml --target glsl
51
+ ```
52
+
53
+ And get a PBR specular shader with explicit verification metadata.
54
+
55
+ ## At a glance
56
+
57
+ - **178 modules** across **22 categories**
58
+ - **521 functions** total
59
+ - **466 carry an `@verify(lean, …)` contract** (89%)
60
+ - Every function declares its **Pfaffian chain order** in the type
61
+
62
+ ## Used by
63
+
64
+ Four Godot 4 prototypes are live consumers of the kernels here. Each one is
65
+ a working application of a different stdlib slice; together they cover most
66
+ of what game engines actually do at runtime.
67
+
68
+ | Prototype | Stdlib slice exercised | What it proves |
69
+ |-----------|------------------------|----------------|
70
+ | **spellforge** | `math/`, `signal/` | Verified expression-tree gameplay — every spell is an EML expression that type-checks as a function |
71
+ | **longshot** | `ballistics/` (mirrored line-for-line) | Real exterior ballistics in a 2D sniper sim — drag, gravity, wind, Coriolis, spin drift |
72
+ | **apex-predator** | `ballistics/` + `biology/` + `biology/abilities/` + `signal/` | Asymmetric PvP with split-screen + per-viewport fragment-shader fog of war; 25 species evolve a beast through 4 stages |
73
+ | **monowave** | local `eml/` mirrors of `signal/` + `gaming/noise/` + `gaming/shading/` | Deterministic music visualizer — same audio in, same visuals out, no randomness anywhere |
74
+
75
+ The 10 kernels in `biology/abilities/` were promoted up from apex-predator's
76
+ local `eml/abilities/` directory in v0.4.0. The local copies remain in that
77
+ repo because `scripts/build_stdlib.py` reads from them as the source-of-truth;
78
+ deleting them locally would break the stdlib build.
79
+
80
+ ## Use
81
+
82
+ After `pip install`, import the location of the `.eml` source files
83
+ into your Forge project:
84
+
85
+ ```python
86
+ from eml_stdlib import path_to
87
+ math_dir = path_to('math') # Path to math/ subdir
88
+ sigmoid = path_to('math/sigmoid.eml') # Specific module
89
+ ```
90
+
91
+ Inside an EML source file, reference modules with `use`:
92
+
93
+ ```eml
94
+ use stdlib::math::sigmoid;
95
+ use stdlib::ml::attention;
96
+ use stdlib::circuits::rc_filter;
97
+ ```
98
+
99
+ ## Directory map
100
+
101
+ ### `math/` — 20 modules / 67 fns / 63 verified
102
+
103
+ Math primitives — transcendentals, special functions, identities.
104
+
105
+ | File | Functions | Chain | Verified | Origin |
106
+ |------|-----------|-------|----------|--------|
107
+ | `abs.eml` | abs_kernel, sign, saturate, softsign | 0 | 4/4 | **new** |
108
+ | `atan.eml` | atan_kernel, atan_at_zero, atan_at_one | 0,1 | 3/3 | **new** |
109
+ | `atan2.eml` | atan2_pos_x, atan2_neg_x_upper, atan2_neg_x_lower, … (+2) | 0,2 | 5/5 | **new** |
110
+ | `bessel_j0.eml` | bessel_j0_small, bessel_j0_large, bessel_j0_at_zero | 0,1 | 3/3 | **new** |
111
+ | `cos.eml` | cos_kernel, cos_at_zero, cos_sq, pythagorean | 0,1 | 4/4 | **new** |
112
+ | `cosh.eml` | cosh_kernel, cosh_at_zero | 0,1 | 2/2 | **new** |
113
+ | `erf.eml` | erf_kernel, erf_at_zero, erfc, erf_as | 0,1 | 4/4 | **new** |
114
+ | `exp.eml` | exp_kernel, exp_neg, expm1 | 1 | 3/3 | **new** |
115
+ | `gamma.eml` | ln_gamma_stirling, gamma_stirling, gamma_at_one | 0,1,2 | 3/3 | **new** |
116
+ | `gaussian.eml` | gaussian | 1 | 0/1 | forge/examples/gaussian.eml |
117
+ | `log.eml` | ln_kernel, log2, log10, log_b, log1p | 1,2 | 5/5 | **new** |
118
+ | `pow.eml` | pow_kernel, sq, cube, pow4, pow8 | 0,2 | 5/5 | **new** |
119
+ | `relu.eml` | relu, leaky_relu, relu6, prelu | 0 | 3/4 | forge/industries/ml/activations/relu.eml |
120
+ | `sigmoid.eml` | sigmoid, silu | 2 | 0/2 | forge/examples/sigmoid.eml |
121
+ | `sin.eml` | sin_kernel, sin_at_zero, sin_sq | 0,1 | 3/3 | **new** |
122
+ | `sinh.eml` | sinh_kernel, sinh_at_zero | 0,1 | 2/2 | **new** |
123
+ | `softmax.eml` | softmax_shift_exp, softmax_normalize, softmax_two_logit, … (+1) | 0,1,2 | 4/4 | forge/industries/ml/activations/softmax.eml |
124
+ | `sqrt.eml` | sqrt_kernel, hypot2, hypot3, rsqrt | 1 | 4/4 | **new** |
125
+ | `tan.eml` | tan_kernel, tan_at_zero, two_tan | 0,2 | 3/3 | **new** |
126
+ | `tanh.eml` | tanh_activation, tanh_from_sigmoid, hard_tanh | 0,1,2 | 3/3 | forge/industries/ml/activations/tanh.eml |
127
+
128
+ ### `signal/` — 10 modules / 20 fns / 20 verified
129
+
130
+ DSP — filters, FFT, windows, matched-filter.
131
+
132
+ | File | Functions | Chain | Verified | Origin |
133
+ |------|-----------|-------|----------|--------|
134
+ | `bandpass.eml` | bandpass_step, alphas_from_cutoffs | 0 | 2/2 | **new** |
135
+ | `chirp.eml` | chirp_frequency | 0 | 1/1 | monogate-research/exploration/bat_sonar/eml/chirp.eml |
136
+ | `dft_single.eml` | dft_single | 1 | 1/1 | monogate-research/industries/signal_processing/kernels/dft_single.eml |
137
+ | `fft_butterfly.eml` | fft_butterfly | 1 | 1/1 | monogate-research/industries/signal_processing/kernels/fft_butterfly.eml |
138
+ | `highpass.eml` | hpf1_step, alpha_from_rc_dt, alpha_from_cutoff | 0 | 3/3 | **new** |
139
+ | `lowpass.eml` | lpf1_step, alpha_from_rc_dt, alpha_from_cutoff | 0 | 3/3 | **new** |
140
+ | `matched_filter.eml` | matched_filter_score | 0 | 1/1 | monogate-research/exploration/bat_sonar/eml/matched_filter.eml |
141
+ | `notch_filter.eml` | notch_coeffs, notch_step | 0,1 | 2/2 | **new** |
142
+ | `window_hamming.eml` | hamming, hamming_at_start, hamming_apply | 0,1 | 3/3 | **new** |
143
+ | `window_hann.eml` | hann, hann_at_start, hann_apply | 0,1 | 3/3 | **new** |
144
+
145
+ ### `control/` — 6 modules / 12 fns / 12 verified
146
+
147
+ Control — PID, Kalman, LQR, hysteresis, deadband.
148
+
149
+ | File | Functions | Chain | Verified | Origin |
150
+ |------|-----------|-------|----------|--------|
151
+ | `bangbang.eml` | bangbang, bangbang_symmetric | 0 | 2/2 | **new** |
152
+ | `deadband.eml` | deadband, deadband_asymmetric | 0 | 2/2 | **new** |
153
+ | `hysteresis.eml` | hysteresis_step | 0 | 1/1 | **new** |
154
+ | `kalman_1d.eml` | kalman1d_predict, kalman1d_update, kalman1d_step | 0 | 3/3 | **new** |
155
+ | `lqr_1d.eml` | riccati, lqr_gain, lqr_control | 0,1 | 3/3 | **new** |
156
+ | `pid.eml` | pid | 0 | 1/1 | forge/examples/pid_controller.eml |
157
+
158
+ ### `physics/` — 9 modules / 30 fns / 28 verified
159
+
160
+ Physics — wave propagation, oscillators, blackbody, fluid flow.
161
+
162
+ | File | Functions | Chain | Verified | Origin |
163
+ |------|-----------|-------|----------|--------|
164
+ | `coulomb.eml` | force, field, potential_energy, potential | 0 | 4/4 | **new** |
165
+ | `damped_oscillator.eml` | damped_wave | 2 | 0/1 | forge/examples/damped_wave.eml |
166
+ | `diffusion.eml` | concentration, sigma, fick_first_law | 0,1 | 3/3 | **new** |
167
+ | `gravity.eml` | newtonian_acceleration, surface_gravity_step | 0 | 1/2 | forge/industries/gaming/physics/gravity.eml |
168
+ | `hooke.eml` | force, potential_energy, series_stiffness, … (+2) | 0,1 | 5/5 | **new** |
169
+ | `navier_stokes_1d.eml` | pressure_term, viscous_term, convective_term, rhs, reynolds | 0 | 5/5 | **new** |
170
+ | `planck_radiation.eml` | spectral_radiance, wien_lambda_max, rayleigh_jeans_radiance | 0,1 | 3/3 | forge/industries/scientific/physics/planck_radiation.eml |
171
+ | `stefan_boltzmann.eml` | radiative_flux, net_exchange, wien_peak_wavelength | 0,1 | 3/3 | forge/industries/scientific/climate/stefan_boltzmann.eml |
172
+ | `wave_propagation.eml` | wave, wavelength, frequency, phase_velocity | 0,1 | 4/4 | **new** |
173
+
174
+ ### `circuits/` — 8 modules / 37 fns / 26 verified
175
+
176
+ Analog circuits — RC, voltage divider, CMOS, MOSFET, PLL, LDO, buck.
177
+
178
+ | File | Functions | Chain | Verified | Origin |
179
+ |------|-----------|-------|----------|--------|
180
+ | `buck_converter.eml` | circuit, output_voltage, inductor_ripple, … (+2) | 0 | 4/5 | **new** |
181
+ | `cmos_inverter.eml` | vout_at_low_input, vout_at_high_input, switching_threshold, … (+3) | 0 | 3/6 | forge/examples/carriers/electronics/cmos_inverter.eml |
182
+ | `h_bridge.eml` | circuit, forward_voltage, reverse_voltage, dead_time_loss | 0 | 3/4 | **new** |
183
+ | `ldo.eml` | circuit, output_voltage, efficiency, … (+2) | 0 | 4/5 | **new** |
184
+ | `mosfet_iv.eml` | drain_current_sat, id_at_threshold, id_prefactor | 0 | 2/3 | forge/examples/carriers/electronics/mosfet_iv.eml |
185
+ | `pll_loop.eml` | loop_gain, steady_state_error_at_zero_offset, loop_gain_certificate, … (+1) | 0 | 2/4 | forge/examples/carriers/electronics/pll_loop.eml |
186
+ | `rc_filter.eml` | circuit, tau, vout_steady, … (+3) | 0,1 | 5/6 | forge/examples/rc_filter.eml |
187
+ | `voltage_divider.eml` | circuit, vout_divider, rsum, vout_symmetric | 0 | 3/4 | forge/examples/voltage_divider.eml |
188
+
189
+ ### `sensors/` — 6 modules / 24 fns / 23 verified
190
+
191
+ Sensors — Hall effect, thermistor, RTD, accelerometer, strain gauge.
192
+
193
+ | File | Functions | Chain | Verified | Origin |
194
+ |------|-----------|-------|----------|--------|
195
+ | `accelerometer.eml` | lsb_to_si, tilt_angle, tilt_two_axis, magnitude | 0,1,2 | 4/4 | **new** |
196
+ | `hall_effect.eml` | hall_voltage, hall_coefficient, b_from_voltage | 0 | 3/3 | **new** |
197
+ | `photodetector.eml` | photocurrent, current_at_zero_power, nonneg_current | 0 | 2/3 | forge/examples/photonics/components/photodetector.eml |
198
+ | `rtd.eml` | resistance_pos, resistance_neg, temperature_pos | 0,1 | 3/3 | **new** |
199
+ | `strain_gauge.eml` | resistance_change, strain_from_dr, quarter_bridge_voltage, … (+3) | 0 | 6/6 | **new** |
200
+ | `thermistor.eml` | resistance_beta, temperature_beta, inv_temperature_steinhart, … (+2) | 0,1 | 5/5 | **new** |
201
+
202
+ ### `biology/` — 12 modules / 18 fns / 15 verified
203
+
204
+ Biology — vision, olfaction, magnetoreception, ion channels.
205
+
206
+ | File | Functions | Chain | Verified | Origin |
207
+ |------|-----------|-------|----------|--------|
208
+ | `cone_l.eml` | cone_l_sensitivity | 1 | 1/1 | monogate-research/exploration/cat_vision/eml/cone_l.eml |
209
+ | `cone_s.eml` | cone_s_sensitivity | 1 | 1/1 | monogate-research/exploration/cat_vision/eml/cone_s.eml |
210
+ | `cryptochrome.eml` | cryptochrome_yield | 1 | 1/1 | monogate-research/exploration/pigeon_magnetoreception/eml/cryptochrome.eml |
211
+ | `geomagnetic_field.eml` | geomagnetic_field | 1 | 1/1 | monogate-research/exploration/pigeon_magnetoreception/eml/geomagnetic_field.eml |
212
+ | `goldman_equation.eml` | membrane_potential, nernst | 1 | 2/2 | **new** |
213
+ | `hill_equation.eml` | hill_velocity, hill_logit | 1,2 | 1/2 | forge/industries/chemistry/kinetics/hill.eml |
214
+ | `hodgkin_huxley.eml` | voltage_step, gating_step | 0 | 2/2 | forge/industries/scientific/biology/hodgkin_huxley_step.eml |
215
+ | `michaelis_menten.eml` | velocity, lineweaver_burk, eadie_hofstee | 0 | 1/3 | forge/industries/chemistry/kinetics/michaelis_menten.eml |
216
+ | `plume_diffusion.eml` | plume_concentration | 1 | 1/1 | monogate-research/exploration/dog_olfaction/eml/plume_diffusion.eml |
217
+ | `receptor_binding.eml` | receptor_binding | 0 | 1/1 | monogate-research/exploration/dog_olfaction/eml/receptor_binding.eml |
218
+ | `rod_sensitivity.eml` | rod_sensitivity | 1 | 1/1 | monogate-research/exploration/cat_vision/eml/rod_sensitivity.eml |
219
+ | `tapetum.eml` | tapetum_gain, tapetum_amplify | 1 | 2/2 | monogate-research/exploration/cat_vision/eml/tapetum.eml |
220
+
221
+ ### `biology/abilities/` — 10 modules / 30 fns / 30 verified
222
+
223
+ Biology / abilities — creature combat, movement, and cover: elastic energy, locomotion, chromatophore camouflage, toxin pharmacokinetics, ballistic armor, bioelectric discharge, texture matching, sprint metabolism, muscle power, bite force.
224
+
225
+ | File | Functions | Chain | Verified | Origin |
226
+ |------|-----------|-------|----------|--------|
227
+ | `abilities/ballistic_armor.eml` | kinetic_energy, energy_absorbed, energy_penetrating, … (+1) | 0,1 | 4/4 | apex-predator/eml/abilities/ballistic_armor.eml |
228
+ | `abilities/bite_force.eml` | bite_force_n, damage_per_bite, stage_multiplier | 0,1 | 3/3 | apex-predator/eml/abilities/bite_force.eml |
229
+ | `abilities/chromatophore.eml` | bragg_wavelength, transparency, detection_contrast | 0,1 | 3/3 | apex-predator/eml/abilities/chromatophore.eml |
230
+ | `abilities/discharge.eml` | voltage, voltage_default, pulse_energy | 0,1 | 3/3 | apex-predator/eml/abilities/discharge.eml |
231
+ | `abilities/elastic_energy.eml` | takeoff_velocity, jump_height, jump_range | 0,1 | 3/3 | apex-predator/eml/abilities/elastic_energy.eml |
232
+ | `abilities/locomotion.eml` | ground_speed, speed_multiplier, wall_climb_capable | 0 | 3/3 | apex-predator/eml/abilities/locomotion.eml |
233
+ | `abilities/muscle_power.eml` | total_power, power_to_weight, top_speed_proxy | 0,1 | 3/3 | apex-predator/eml/abilities/muscle_power.eml |
234
+ | `abilities/sprint.eml` | velocity, distance_covered | 1 | 2/2 | apex-predator/eml/abilities/sprint.eml |
235
+ | `abilities/texture_match.eml` | match_score, detection_probability, ink_visibility | 0,1 | 3/3 | apex-predator/eml/abilities/texture_match.eml |
236
+ | `abilities/toxin.eml` | concentration, damage_rate, total_damage | 1 | 3/3 | apex-predator/eml/abilities/toxin.eml |
237
+
238
+ ### `carriers/` — 12 modules / 40 fns / 24 verified
239
+
240
+ Wave carriers — photonic, magnonic, phononic, ferronic.
241
+
242
+ | File | Functions | Chain | Verified | Origin |
243
+ |------|-----------|-------|----------|--------|
244
+ | `acoustic_cloak.eml` | shell_index, outer_boundary_index, shell_thickness | 0 | 2/3 | forge/examples/carriers/phononics/acoustic_cloak.eml |
245
+ | `ferron_emission.eml` | thz_power, power_at_zero_drive, k_emit_certificate | 0 | 2/3 | forge/examples/carriers/ferronics/ferron_emission.eml |
246
+ | `ferron_logic.eml` | output_amplitude, constructive_certificate, p_squared_witness, … (+0) | 1 | 2/3 | forge/examples/carriers/ferronics/ferron_logic.eml |
247
+ | `ferron_propagation.eml` | polarization, envelope, polarization_at_origin, … (+1) | 1 | 2/4 | forge/examples/carriers/ferronics/ferron_propagation.eml |
248
+ | `mach_zehnder.eml` | intensity_out, intensity_at_zero, cos_sq_at_zero | 1 | 2/3 | forge/examples/carriers/photonics/mach_zehnder.eml |
249
+ | `magnon_dispersion.eml` | omega, omega_at_zero_k, fmr_freq | 0 | 2/3 | forge/examples/carriers/spintronics/magnon_dispersion.eml |
250
+ | `magnon_logic.eml` | output_amplitude, constructive_certificate, intensity_witness, … (+0) | 1 | 2/3 | forge/examples/carriers/spintronics/magnon_logic.eml |
251
+ | `optical_neuron.eml` | activation, dark_output, isat_certificate | 0,1 | 2/3 | forge/examples/carriers/photonics/optical_neuron.eml |
252
+ | `phonon_bandgap.eml` | transmission, transmission_at_zero, sin_sq_at_zero | 1 | 2/3 | forge/examples/carriers/phononics/phonon_bandgap.eml |
253
+ | `ring_resonator.eml` | transmission, peak_transmission, fsr_separation | 0,1 | 2/3 | forge/examples/carriers/photonics/ring_resonator.eml |
254
+ | `spin_torque.eml` | larmor_frequency, damping_prefactor, larmor_certificate, … (+1) | 0 | 2/4 | forge/examples/carriers/spintronics/spin_torque.eml |
255
+ | `thermal_rectifier.eml` | forward_conductance, rectification_ratio, asymmetry, … (+2) | 0 | 2/5 | forge/examples/carriers/phononics/thermal_rectifier.eml |
256
+
257
+ ### `quantum/` — 7 modules / 23 fns / 14 verified
258
+
259
+ Quantum gates — Hadamard, Pauli, phase, CNOT, Grover oracle.
260
+
261
+ | File | Functions | Chain | Verified | Origin |
262
+ |------|-----------|-------|----------|--------|
263
+ | `cnot.eml` | cnot_control_zero_passes, cnot_self_inverse_amp, cnot_zero_certificate, … (+2) | 0 | 3/5 | forge/examples/carriers/quantum/cnot.eml |
264
+ | `grover_oracle.eml` | reflect, reflect_at_mean, squared_witness, fixed_point_value | 0 | 2/4 | forge/examples/carriers/quantum/grover_oracle.eml |
265
+ | `hadamard.eml` | h_norm_2x_squared_unnormalised, twice_input_norm, h0_norm_unnormalised, … (+2) | 0 | 3/5 | forge/examples/carriers/quantum/hadamard.eml |
266
+ | `pauli_x.eml` | pauli_x | 0 | 1/1 | monogate-research/industries/quantum/kernels/pauli_x.eml |
267
+ | `pauli_z.eml` | pauli_z | 0 | 1/1 | monogate-research/industries/quantum/kernels/pauli_z.eml |
268
+ | `phase_gate.eml` | r_real, r_imag, r_modulus_sq, … (+3) | 1 | 3/6 | forge/examples/carriers/quantum/phase_gate.eml |
269
+ | `rotation_rz.eml` | rx | 1 | 1/1 | monogate-research/industries/quantum/kernels/rotation.eml |
270
+
271
+ ### `ml/` — 9 modules / 34 fns / 32 verified
272
+
273
+ Machine learning — activations, attention, RoPE, layernorm, loss.
274
+
275
+ | File | Functions | Chain | Verified | Origin |
276
+ |------|-----------|-------|----------|--------|
277
+ | `attention.eml` | scale_factor, score_qk, attention_step, … (+2) | 0,1 | 5/5 | **new** |
278
+ | `cross_entropy.eml` | bce_loss, bce_with_logits, categorical_ce_pair, … (+1) | 0,1,2 | 3/4 | forge/industries/ml/loss/cross_entropy.eml |
279
+ | `gelu.eml` | gelu_tanh, quick_gelu | 1 | 2/2 | forge/industries/ml/activations/gelu.eml |
280
+ | `layernorm.eml` | layernorm_step, layernorm_default, rmsnorm_step | 1 | 3/3 | **new** |
281
+ | `leaky_relu.eml` | leaky_relu, leaky_relu_default, prelu, leaky_relu_grad | 0 | 4/4 | **new** |
282
+ | `relu.eml` | relu, leaky_relu, relu6, prelu | 0 | 3/4 | forge/industries/ml/activations/relu.eml |
283
+ | `rotary_embed.eml` | theta, theta_default, rotate_pair_even, … (+2) | 1 | 5/5 | **new** |
284
+ | `silu.eml` | silu, swish, silu_grad | 1 | 3/3 | **new** |
285
+ | `softmax.eml` | softmax_shift_exp, softmax_normalize, softmax_two_logit, … (+1) | 0,1,2 | 4/4 | forge/industries/ml/activations/softmax.eml |
286
+
287
+ ### `ballistics/` — 9 modules / 40 fns / 40 verified
288
+
289
+ Exterior ballistics — drag, gravity, wind, Coriolis, spin drift, air density, muzzle velocity, time of flight.
290
+
291
+ | File | Functions | Chain | Verified | Origin |
292
+ |------|-----------|-------|----------|--------|
293
+ | `air_density.eml` | density_isothermal, density_with_temperature, density_humid, … (+1) | 1 | 4/4 | **new** |
294
+ | `ballistic_solver.eml` | solve_tof, solve_drop, solve_wind_drift, … (+5) | 0,1 | 8/8 | **new** |
295
+ | `coriolis.eml` | horizontal_accel, vertical_accel, horizontal_drift, … (+1) | 1 | 4/4 | **new** |
296
+ | `drag.eml` | drag_force, drag_deceleration, drag_decel_from_bc | 0 | 3/3 | **new** |
297
+ | `gravity.eml` | drop, drop_at_zero, drop_earth, hold_up_mil | 0 | 4/4 | **new** |
298
+ | `muzzle_velocity.eml` | corrected_velocity, corrected_default, percent_change | 0 | 3/3 | **new** |
299
+ | `spin_drift.eml` | drift_inches_litz, drift_metres_litz, drift_metres_surrogate, … (+1) | 0,1 | 4/4 | **new** |
300
+ | `time_of_flight.eml` | tof_vacuum, tof_constant_decel, tof_pejsa, … (+2) | 0,1 | 5/5 | **new** |
301
+ | `wind.eml` | drift, relative_airspeed, perp_component, … (+2) | 0,1 | 5/5 | **new** |
302
+
303
+ ### `gaming/noise/` — 9 modules / 25 fns / 18 verified
304
+
305
+ Procedural noise — Perlin (2D/3D), Simplex, Voronoi, Worley, value noise, FBM, turbulence.
306
+
307
+ | File | Functions | Chain | Verified | Origin |
308
+ |------|-----------|-------|----------|--------|
309
+ | `noise/fbm.eml` | fbm2, fbm2_default, fbm2_unit | 1 | 3/3 | **new** |
310
+ | `noise/perlin_2d.eml` | _grad_dot, perlin2, perlin2_unit | 1 | 2/3 | **new** |
311
+ | `noise/perlin_3d.eml` | _grad_dot3, perlin3 | 1 | 1/2 | **new** |
312
+ | `noise/simplex_2d.eml` | _grad_dot, simplex2, _contribution | 1 | 1/3 | **new** |
313
+ | `noise/turbulence.eml` | turbulence2, turbulence2_default | 1 | 2/2 | **new** |
314
+ | `noise/value_noise.eml` | value2, value2_signed | 1 | 2/2 | **new** |
315
+ | `noise/voronoi_2d.eml` | distance_to_nearest, _cell_distance, f2_minus_f1 | 1 | 2/3 | **new** |
316
+ | `noise/white_noise.eml` | hash2, hash3, hash2_at_origin | 0,1 | 3/3 | **new** |
317
+ | `noise/worley.eml` | squared_distance, _cell_sq_dist, manhattan_distance, … (+1) | 0 | 2/4 | **new** |
318
+
319
+ ### `gaming/textures/` — 8 modules / 12 fns / 12 verified
320
+
321
+ Procedural textures — wood, marble, brick, checkerboard, rust, water surface, caustics, fire.
322
+
323
+ | File | Functions | Chain | Verified | Origin |
324
+ |------|-----------|-------|----------|--------|
325
+ | `textures/brick.eml` | pattern | 0 | 1/1 | **new** |
326
+ | `textures/caustics.eml` | intensity | 1 | 1/1 | **new** |
327
+ | `textures/checkerboard.eml` | checker, checker_tiled | 0 | 2/2 | **new** |
328
+ | `textures/fire.eml` | intensity | 1 | 1/1 | **new** |
329
+ | `textures/marble.eml` | marble | 1 | 1/1 | **new** |
330
+ | `textures/rust.eml` | mask | 1 | 1/1 | **new** |
331
+ | `textures/water_surface.eml` | height, height_default, normal_y | 1 | 3/3 | **new** |
332
+ | `textures/wood.eml` | grain, knot_mask | 1 | 2/2 | **new** |
333
+
334
+ ### `gaming/shading/` — 6 modules / 18 fns / 18 verified
335
+
336
+ Shading models — Lambertian + half-Lambert, Cook-Torrance GGX/Smith, Schlick Fresnel, toon, matcap, Burley SSS.
337
+
338
+ | File | Functions | Chain | Verified | Origin |
339
+ |------|-----------|-------|----------|--------|
340
+ | `shading/fresnel.eml` | schlick, schlick_at_grazing, schlick_at_normal, f0_from_ior | 0 | 4/4 | **new** |
341
+ | `shading/matcap.eml` | uv_u, uv_v | 0 | 2/2 | **new** |
342
+ | `shading/pbr_diffuse.eml` | lambert, lambert_normalised, half_lambert | 0 | 3/3 | **new** |
343
+ | `shading/pbr_specular.eml` | d_ggx, v_smith, specular, roughness_to_alpha | 0,1 | 4/4 | **new** |
344
+ | `shading/subsurface.eml` | wrap, back_scatter, sss_total | 0,1 | 3/3 | **new** |
345
+ | `shading/toon.eml` | cel_diffuse, rim_light | 0,1 | 2/2 | **new** |
346
+
347
+ ### `gaming/lighting/` — 6 modules / 12 fns / 12 verified
348
+
349
+ Lighting — point + spot + area, ambient occlusion, exponential and squared-exponential fog.
350
+
351
+ | File | Functions | Chain | Verified | Origin |
352
+ |------|-----------|-------|----------|--------|
353
+ | `lighting/ambient_occlusion.eml` | sample_contribution, ao_factor | 0 | 2/2 | **new** |
354
+ | `lighting/area_light.eml` | closest_on_sphere, solid_angle_fraction | 1 | 2/2 | **new** |
355
+ | `lighting/fog_exp.eml` | fog_factor, transmittance | 1 | 2/2 | **new** |
356
+ | `lighting/fog_exp2.eml` | fog_factor, transmittance | 1 | 2/2 | **new** |
357
+ | `lighting/point_light.eml` | attenuation, inverse_square | 0 | 2/2 | **new** |
358
+ | `lighting/spot_light.eml` | cone_attenuation, attenuation | 0 | 2/2 | **new** |
359
+
360
+ ### `gaming/terrain/` — 5 modules / 12 fns / 12 verified
361
+
362
+ Terrain — FBM heightmaps, thermal + hydraulic erosion, biome classification, cliff detection.
363
+
364
+ | File | Functions | Chain | Verified | Origin |
365
+ |------|-----------|-------|----------|--------|
366
+ | `terrain/biome_select.eml` | biome_id | 0 | 1/1 | **new** |
367
+ | `terrain/cliff_detect.eml` | gradient_magnitude, is_cliff | 1 | 2/2 | **new** |
368
+ | `terrain/erosion_hydraulic.eml` | capacity, eroded_amount, deposited_amount, updated_water | 0 | 4/4 | **new** |
369
+ | `terrain/erosion_thermal.eml` | material_transfer, apply_self, apply_neighbour | 0 | 3/3 | **new** |
370
+ | `terrain/heightmap.eml` | height, ridged_height | 1 | 2/2 | **new** |
371
+
372
+ ### `gaming/animation/` — 6 modules / 14 fns / 14 verified
373
+
374
+ Animation — quadratic + cubic ease-in/out, smoothstep + smootherstep, damped springs, bounce, 2-bone IK.
375
+
376
+ | File | Functions | Chain | Verified | Origin |
377
+ |------|-----------|-------|----------|--------|
378
+ | `animation/bounce.eml` | bounce_out, bounce_in | 0 | 2/2 | **new** |
379
+ | `animation/ease_in.eml` | ease_in_quad, ease_in_cubic | 0 | 2/2 | **new** |
380
+ | `animation/ease_in_out.eml` | smoothstep, smootherstep | 0 | 2/2 | **new** |
381
+ | `animation/ease_out.eml` | ease_out_quad, ease_out_cubic | 0 | 2/2 | **new** |
382
+ | `animation/ik_2bone.eml` | elbow_angle, shoulder_offset, reachable | 0,1 | 3/3 | **new** |
383
+ | `animation/spring.eml` | underdamped, critically_damped, time_constant | 0,1 | 3/3 | **new** |
384
+
385
+ ### `gaming/particles/` — 5 modules / 11 fns / 11 verified
386
+
387
+ Particles — radial emitter, exponential drag, gravity, lifetime fade, size-over-life.
388
+
389
+ | File | Functions | Chain | Verified | Origin |
390
+ |------|-----------|-------|----------|--------|
391
+ | `particles/drag.eml` | velocity, distance_covered | 1 | 2/2 | **new** |
392
+ | `particles/emitter_radial.eml` | velocity_magnitude, disc_offset | 0 | 2/2 | **new** |
393
+ | `particles/fade.eml` | alpha, alpha_in_out | 0 | 2/2 | **new** |
394
+ | `particles/gravity_particle.eml` | position, velocity, position_earth | 0 | 3/3 | **new** |
395
+ | `particles/size_over_life.eml` | radius_linear, radius_power | 0,1 | 2/2 | **new** |
396
+
397
+ ### `gaming/camera/` — 4 modules / 11 fns / 11 verified
398
+
399
+ Camera — perspective FOV matrix, orbit (spherical), damped-noise shake, depth-of-field circle of confusion.
400
+
401
+ | File | Functions | Chain | Verified | Origin |
402
+ |------|-----------|-------|----------|--------|
403
+ | `camera/dof_blur.eml` | circle_of_confusion, circle_of_confusion_clamped | 0 | 2/2 | **new** |
404
+ | `camera/fov_projection.eml` | m00, m11, m22, m23 | 0,2 | 4/4 | **new** |
405
+ | `camera/orbit.eml` | position_x, position_y, position_z, norm_witness | 1 | 4/4 | **new** |
406
+ | `camera/shake.eml` | shake1d | 1 | 1/1 | **new** |
407
+
408
+ ### `gaming/audio/` — 4 modules / 10 fns / 10 verified
409
+
410
+ Audio — distance attenuation (linear/inverse/inverse-square), Doppler shift, feedback delay reverb, 1-pole low-pass.
411
+
412
+ | File | Functions | Chain | Verified | Origin |
413
+ |------|-----------|-------|----------|--------|
414
+ | `audio/distance_attenuation.eml` | inverse, inverse_square, linear | 0 | 3/3 | **new** |
415
+ | `audio/doppler.eml` | observed_frequency, observed_frequency_air | 0 | 2/2 | **new** |
416
+ | `audio/lowpass_audio.eml` | alpha_from_cutoff, step | 0 | 2/2 | **new** |
417
+ | `audio/reverb_delay.eml` | feedback_safe, delay_step, t60_seconds | 0,1 | 3/3 | **new** |
418
+
419
+ ### `gaming/physics/` — 7 modules / 21 fns / 21 verified
420
+
421
+ Physics — semi-implicit Euler rigid-body 2D, AABB + circle collision, restitution-aware impulse resolve, Verlet, spring-damper, Archimedes buoyancy.
422
+
423
+ | File | Functions | Chain | Verified | Origin |
424
+ |------|-----------|-------|----------|--------|
425
+ | `physics/aabb_overlap.eml` | overlap_2d, penetration_depth_x | 0 | 2/2 | **new** |
426
+ | `physics/buoyancy.eml` | force, force_in_water, sphere_submerged_volume | 0 | 3/3 | **new** |
427
+ | `physics/circle_collision.eml` | collides, penetration_depth, inv_distance | 1 | 3/3 | **new** |
428
+ | `physics/impulse_resolve.eml` | impulse_magnitude, velocity_a_after, velocity_b_after | 0 | 3/3 | **new** |
429
+ | `physics/rigid_body_2d.eml` | integrate_vx, integrate_vy, integrate_omega, … (+3) | 0 | 6/6 | **new** |
430
+ | `physics/spring_damper.eml` | force, critical_damping | 0,1 | 2/2 | **new** |
431
+ | `physics/verlet.eml` | step, distance_constraint_correction | 0 | 2/2 | **new** |
432
+
433
+ ## Vocabulary
434
+
435
+ **Chain order** — the Pfaffian chain order, an upper bound on how many
436
+ transcendental compositions deep a function reaches. Order 0 = pure
437
+ polynomial / rational. Order 1 = single transcendental wrapping a
438
+ polynomial argument (e.g. `exp`, `sin`, `ln`). Order 2 = two
439
+ transcendentals composed (e.g. `tanh = sinh/cosh`). Forge uses chain
440
+ order to bound termination, place transcendentals on FPGA / GPU, and
441
+ select the right Lean tactic.
442
+
443
+ **`@verify(lean, theorem = …)`** — the function carries a Lean proof
444
+ obligation. The Forge Lean backend emits the obligation; closing it
445
+ against MachLib is what makes the function *verified*.
446
+
447
+ **Origin: `new`** — written for this stdlib. Otherwise the column
448
+ shows the path under `~/monogate/` from which the module was copied
449
+ (originals stay where they are; the stdlib is the curated home).
450
+
451
+ ## License
452
+
453
+ MIT — see `LICENSE`.