Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rework config values and add settings GUI #268

Merged
merged 37 commits into from
Jun 8, 2024

Conversation

Leidtier
Copy link
Contributor

@Leidtier Leidtier commented May 4, 2024

based on #205 (so maybe integrate this into the base PR first or merge this PR instead)
solves #235

Rework config values

  • complete rework of how config values work in MantellaSoftware
  • All config values are now defined in code, including:
    • ID
    • Name
    • Description
    • Value
    • Default Value
    • Constraints
    • IsHidden
    • Tags
    • OnValueChangeCallback
  • On start of the software an instance that holds the current value of each config value is generated from the definitions
  • These instances are filled gracefully by which config values can be loaded from the config.ini
  • If there is no config.ini a new one will be created from scratch
  • ConfigLoader loads the config values now from the current values. Any config value that is actually loaded can trigger a constraint violation
  • Any unsolved constraint violations will block the Mantella HTTP routes for conversation or STT from being used until resolved
  • A restart of MantellaSoftware is no longer required when changing config values from the GUI

Add settings GUI

  • Adds a browser based GUI to MantellaSoftware that uses Gradio
  • Changes the Flask server to FastAPI/uvicorn to support serving the new HTTP routes for Mantella as well as the Gradio GUI from the same app
    • No explicit test done, but the responses feel faster than with Flask

Leidtier and others added 30 commits March 10, 2024 19:22
Also removed two more file communications
…ngth

This should make an infinite conversation reload loop less likely
…etween types

- improved the error handling
- conversations now restart every time a "start conversation" is received
- fixes to the generation of prompts now that the player is part of the characters in the conversation
- improved converting messages between multi-npc, radiant and normal conversations
- moved the conversation summary pathes from charater_manager.py to summaries.py
- Added custom context values
- Made Fallout4 use these custom context value to receive the player pos and rot even in a radiant conversation
- removed the standard logging to console of Flask
…Fallout4; cleaned Files and added docstrings
- Added a compatibility mode that can be used if games can only communicate over file read/write
- fixed config values show_http_debug_message not being used
- improved readability of HTTP debug messages
…atibility

Fixed show_http_debug_messages config value
Removed .vscode/launch.json
Favicon not working for some reason
…s; added tags in backend; reorganized existing config values
…d before; Fixed config.ini backup not working correctly
@art-from-the-machine art-from-the-machine merged commit dd52e05 into art-from-the-machine:main Jun 8, 2024
@Leidtier Leidtier deleted the gui branch September 6, 2024 12:03
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.

2 participants