Skip to content

Prepare Interest Engine v0.2.0 release - #3

Merged
PullsarDev merged 1 commit into
mainfrom
release/v0.2.0
Oct 24, 2026
Merged

PullsarDev merged 1 commit into
mainfrom
release/v0.2.0

Conversation

@PullsarDev

@PullsarDev PullsarDev commented Oct 24, 2026 •

Copy link
Copy Markdown
Owner

Prepare the approved event-directionality kernel for version 0.2.0. This PR updates version metadata and the README introduction; scoring, public API declarations and historical benchmark evidence are unchanged.

Changed files:

  • CMakeLists.txt: project version 0.2.0.
  • src/version.cpp: report 0.2.0.
  • tests/smoke_test.cpp: expect 0.2.0; preserve all layout checks.
  • README.md: describe version 0.2.0 and remove the obsolete candidate introduction.

Local validation with MSVC 19.38 x64 and warnings as errors:

  • Full Release CTest: 15/15.
  • Full Debug CTest: 15/15.
  • Constrained Debug CTest: 15/15.
  • Release parent-project consumer: 1/1.
  • Benchmark smoke checks pass in all three full CTest runs.
  • CMake, runtime version, test expectation and README agree on 0.2.0.
  • src/step.cpp and include/interest/attention.hpp match merged main byte-for-byte; the only runtime output change is the reported version string.

All 10 GitHub Actions jobs pass on commit 58700ab, including the three Release consumer checks and Clang ASan/UBSan.

Release notes below are an unpublished draft following the v0.1.0 release format. Version-tag links and installation commands are prepared for publication. No tag or GitHub Release has been created.

Release notes draft

Title: Interest Engine v0.2.0

Interest Engine v0.2.0 adds configurable event novelty directionality to the standalone C++20 attention-selection library for game NPCs.

Features

  • CandidateSnapshot::eventDirectionality controls novelty's angular gate independently of raw preference scoring. The default 1.f preserves the legacy numerical path exactly; 0.f removes novelty's angle penalty, and intermediate values interpolate.
  • CandidateTrace::noveltyGate exposes the actual rounded gate used by novelty scoring.
  • Directionality must be finite and within [0,1]. Invalid values reject the candidate as InvalidEvent, including when events are absent or novelty is disabled.
  • Distance gating, perception strength, raw scoring, temporal policy and allocation-free prepared Step() calls are preserved.

Compatibility

Public structs include new fields. Rebuild consumers with matching headers and library; positional trace aggregate initializers must account for noveltyGate.

On tested Windows x64 MSVC and Linux x86-64 GCC/Clang builds, CandidateTrace remains 96 bytes with all 17 pre-existing field offsets unchanged. These verified layouts are not a general ABI guarantee.

Verification

All 10 GitHub Actions jobs passed for this version. 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.2.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, use add_subdirectory() and link InterestEngine::Core. See the README for the API example and platform-specific commands.

Known limitations

  • Documented desktop measurements at default directionality were approximately 0.8–3.8% slower in nonempty single-observer configurations and 1.0–2.0% slower in reference variants than v0.1.0. These observations do not establish a universal overhead bound or a performance improvement.
  • API, ABI and tuning compatibility may change before 1.0. Cross-platform bit-exact output is not guaranteed; other architectures remain unverified.
  • Gating, score saturation, margins and dwell can limit target changes. Tests and benchmarks use synthetic scenarios. The host controls perception strength, event generation and candidate range, and supplies snapshot gathering, animation and scheduling.

License

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

@PullsarDev
PullsarDev marked this pull request as ready for review October 24, 2026 07:12
@PullsarDev
PullsarDev merged commit 52e33c4 into main Oct 24, 2026
10 checks passed
@PullsarDev
PullsarDev deleted the release/v0.2.0 branch October 24, 2026 07:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant