obel 0.0.2

A refreshingly simple data-driven game engine and app framework
Documentation
# When linting documentation (e.g., comments or docstrings),
# these identifiers will be accepted as correctly spelled or valid
# even if they don’t follow conventional naming rules.
doc-valid-idents = [
  "GilRs",
  "glTF",
  "macOS",
  "NVidia",
  "OpenXR",
  "sRGB",
  "VSync",
  "WebGL2",
  "WebGPU",
  "..",
]

# Ensures that linting checks (like naming conventions, unused functions, or documentation completeness)
# apply to private items as well as public items. When true, the tool will not skip private items during checks 
# aiming for high internal code quality, not just public API cleanliness.
check-private-items = true

# Encourages developers to use project-specific wrappers or methods that provide better guarantees,
# such as deterministic behavior when working with floating-point operations.
disallowed-methods = [
  { path = "f32::powi", reason = "use obel_math::ops::FloatPow::squared, obel_math::ops::FloatPow::cubed, or obel_math::ops::powf instead for libm determinism" },
  { path = "f32::log", reason = "use obel_math::ops::ln, obel_math::ops::log2, or obel_math::ops::log10 instead for libm determinism" },
  { path = "f32::abs_sub", reason = "deprecated and deeply confusing method" },
  { path = "f32::powf", reason = "use obel_math::ops::powf instead for libm determinism" },
  { path = "f32::exp", reason = "use obel_math::ops::exp instead for libm determinism" },
  { path = "f32::exp2", reason = "use obel_math::ops::exp2 instead for libm determinism" },
  { path = "f32::ln", reason = "use obel_math::ops::ln instead for libm determinism" },
  { path = "f32::log2", reason = "use obel_math::ops::log2 instead for libm determinism" },
  { path = "f32::log10", reason = "use obel_math::ops::log10 instead for libm determinism" },
  { path = "f32::cbrt", reason = "use obel_math::ops::cbrt instead for libm determinism" },
  { path = "f32::hypot", reason = "use obel_math::ops::hypot instead for libm determinism" },
  { path = "f32::sin", reason = "use obel_math::ops::sin instead for libm determinism" },
  { path = "f32::cos", reason = "use obel_math::ops::cos instead for libm determinism" },
  { path = "f32::tan", reason = "use obel_math::ops::tan instead for libm determinism" },
  { path = "f32::asin", reason = "use obel_math::ops::asin instead for libm determinism" },
  { path = "f32::acos", reason = "use obel_math::ops::acos instead for libm determinism" },
  { path = "f32::atan", reason = "use obel_math::ops::atan instead for libm determinism" },
  { path = "f32::atan2", reason = "use obel_math::ops::atan2 instead for libm determinism" },
  { path = "f32::sin_cos", reason = "use obel_math::ops::sin_cos instead for libm determinism" },
  { path = "f32::exp_m1", reason = "use obel_math::ops::exp_m1 instead for libm determinism" },
  { path = "f32::ln_1p", reason = "use obel_math::ops::ln_1p instead for libm determinism" },
  { path = "f32::sinh", reason = "use obel_math::ops::sinh instead for libm determinism" },
  { path = "f32::cosh", reason = "use obel_math::ops::cosh instead for libm determinism" },
  { path = "f32::tanh", reason = "use obel_math::ops::tanh instead for libm determinism" },
  { path = "f32::asinh", reason = "use obel_math::ops::asinh instead for libm determinism" },
  { path = "f32::acosh", reason = "use obel_math::ops::acosh instead for libm determinism" },
  { path = "f32::atanh", reason = "use obel_math::ops::atanh instead for libm determinism" },
]