feat: Flocking Boids demo#18
Open
JNK234 wants to merge 16 commits into
Open
Conversation
Three agent breeds race to converge on a goal with different communication topologies. Mesh sees all agents, hierarchy ~75%, chain ~30%. Information asymmetry + noise factors model coordination quality per topology.
YAML template with system prompt and 7 variables (topology, num_agents, goal coordinates, agent positions, avg distance, tick). Forces LLM to respond with exactly one action name.
OpenAI gpt-4o-mini at temperature 0.3 for deterministic coordination. No API key included — users configure their own. Force-added past gitignore since this template contains no secrets.
Setup instructions, required interface widgets, BehaviorSpace config, and analysis workflow. Documents the MARBLE-inspired information asymmetry mechanism across mesh/hierarchy/chain topologies.
- behaviorspace-config.xml: 4 agent counts x 3 reps experiment - analyze-results.py: aggregates CSV output into summary + plots - tests/test_analyze_results.py: unit tests for the analysis pipeline
Add DeterministicTestProvider for API-free headless testing. Introduce LLMExtension companion object with provider factory override to inject test providers. Rewrite tests.txt to use inline config instead of file-based config loading. Fix template history mutation bug where tempHistory aliased permanent history.
Add ci.yml to run sbt test on every push and PR with Java 17. Add .githooks/pre-push to gate local pushes on passing tests, skippable via SKIP_LOCAL_TESTS=1.
Add docs/TESTING.md explaining automated vs manual test layers. Add sbt test section to BUILD.md and RELEASE.md checklist. Simplify demos/tests/README.md to focus on manual integration use. Link TESTING.md from docs/README.md index.
Remove the topology-tournament demo including the NetLogo model, analysis script, BehaviorSpace config, coordinator template, and associated tests. Replaced by flocking-boids demo.
Add pure-NetLogo boids flocking simulation implementing separation, alignment, and cohesion rules. Includes configurable radii/weights, speed clamping, toroidal wrapping, avg-speed and flock-size reporters, and a BehaviorSpace parameter sweep experiment.
Update .bundledFiles to reflect current workspace paths and add javafx-media dependencies.
- Convert flocking-boids.nlogo to .nlogox (XML) format - Preserve all code sections, UI widgets, shapes, and metadata - Include graphics window, sliders, buttons, and monitors - Maintain default values and preview commands - Add comprehensive validation test suite (40 tests) - XML parsing and structure validation (14 tests) - Code section integrity (6 tests) - Widget definitions and defaults (8 tests) - Data preservation (7 tests) - Behavior regression (5 tests) - All tests passing: 40/40 ✓
…tlogo-LLM-Extension into feature/flocking-boids
- Fix inverted separation/cohesion force directions from e709e9f - Convert widget XML from non-standard nested format to official flat attribute-based schema (view, slider, button, monitor) - Convert turtleShapes/linkShapes to correct 7.0.3 schema - Remove globals[] block (slider vars are implicit in .nlogox) - Update version tag to NetLogo 7.0.3 - Remove redundant .nlogo, test scripts, and BehaviorSpace - Update README to reference .nlogox
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pure NetLogo Boids flocking simulation with BehaviorSpace