Skip to content

Interest Engine v0.1.0

Choose a tag to compare

@PullsarDev PullsarDev released this 23 Oct 21:11
f89159b

Initial stable release of Interest Engine, a standalone C++20 attention-selection library for game NPCs.

Features

  • Point, Bearing and NonSpatial stimuli with contextual tag affinities and weighted scoring.
  • Acquire/release hysteresis, switch margins, optional minimum dwell and timestamped event novelty.
  • Explicit host time, caller-owned observer memory and optional decision traces.
  • Standard-library-only production code. Prepared Step() calls allocate nothing; Reserve() may allocate during setup.
  • CMake integration through InterestEngine::Core, regression tests, a compiled example and a benchmark harness.

Verification

All 10 GitHub Actions jobs passed on the release commit. Coverage includes MSVC, GCC and Clang Debug/Release builds, no-exceptions/no-RTTI checks, and Clang ASan/UBSan. Each job passed 15 CTest checks; all three Release consumer-integration checks also passed.

Installation

Requires CMake 3.20 or newer and a C++20 compiler.

git clone --branch v0.1.0 --depth 1 https://github.com/PullsarDev/InterestEngine.git
cd InterestEngine
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release --parallel 2
ctest --test-dir build -C Release --output-on-failure

For application integration, add the source directory with add_subdirectory() and link InterestEngine::Core. See the README for the API example and platform-specific commands.

Known limitations

  • API, ABI and tuning compatibility may change before 1.0. Cross-platform bit-exact output is not guaranteed.
  • Geometric gating and score saturation can limit target changes. Configuration and CPU cost depend on the workload.
  • Tests and benchmarks use synthetic scenarios. Perception, snapshot gathering, animation and scheduling remain application responsibilities.

License

Copyright 2026 PullsarDev. Licensed under the Apache License 2.0. Test-support attribution is retained in third-party notices.