Skip to content

core/webhost: Option group descriptions#6261

Open
MatthewMarinets wants to merge 6 commits into
ArchipelagoMW:mainfrom
MatthewMarinets:mm/option_group_descriptions
Open

core/webhost: Option group descriptions#6261
MatthewMarinets wants to merge 6 commits into
ArchipelagoMW:mainfrom
MatthewMarinets:mm/option_group_descriptions

Conversation

@MatthewMarinets

@MatthewMarinets MatthewMarinets commented Jun 14, 2026

Copy link
Copy Markdown
Collaborator

What is this fixing or adding?

Adding descriptions to option groups. These extra bits of documentation get included in yaml templates and the webhost under the option group header. Option groups without a description are unaffected.

I've made a #general-suggestions thread on the discord, Option Group Descriptions for faster communication.

Adding option group descriptions to the Starcraft 2 options. These are targeted at some of the most common issues players come to us for help on getting their yamls working.

Note that this PR changes the return type of Options.get_option_groups() to also return descriptions. I updated all usages so this is fine with current main, but there will be a conflict with #6216.

A note on newlines

One of the common pain points for my own dev when working with options descriptions and help text is that the same source is used for both yaml and webhost, with completely different display characteristics. Newlines get abandoned on webhost, and the full description gets crammed into a tiny box; whereas yaml preserves newlines, has no line wrap, has more space for description, and also wants extra detail wherever particular strings are expected but not provided by the template.

To try and give some amount of targeted control, I've made the browser displays only substitute <br> tags on double-newlines. This means a single newline can be used to ensure a line wrap in yaml only, without creating a paragraph break in HTML.

How was this tested?

  • Generated template yamls. Checked that description comments appeared under option group headers
  • Ran the webhost. Checked both options page and weighted options page for the descriptions.
    • Checked export yaml and generate single-player game buttons both still worked for the regular options page

If this makes graphical changes, please attach screenshots.

yaml

image image

Options page

image image

Weighted options page

image image

@github-actions github-actions Bot added affects: core Issues/PRs that touch core and may need additional validation. affects: webhost Issues/PRs that touch webhost and may need additional validation. waiting-on: peer-review Issue/PR has not been reviewed by enough people yet. labels Jun 14, 2026
@Silvris

Silvris commented Jun 14, 2026

Copy link
Copy Markdown
Collaborator

I believe this is missing changes to Option Creator to display these?

@MatthewMarinets

Copy link
Copy Markdown
Collaborator Author

I believe this is missing changes to Option Creator to display these?

I don't use options creator myself so I'm not sure I'd be able to do it correctly. Though I noted that #6216 switches options creator to using the same get_options_group() function I'm modifying here, so my plan is that if #6216 merges first, I update this PR to put the descriptions into options creator (probably with some questions to you or qwint to make sure I'm doing it right). And if this PR merges first, then I message qwint and we update #6216.

agilbert1412 and others added 2 commits June 14, 2026 16:19
@MatthewMarinets

Copy link
Copy Markdown
Collaborator Author

Merged in some stardew valley descriptions provided by @agilbert1412 / KaitoKid. Noting his feedback:

The system lets me put the data I want, and I don't think I'm responsible for how the data is displayed, beyond just "don't input stuff that can't display"
so I like it

@agilbert1412

Copy link
Copy Markdown
Collaborator

I added descriptions for Stardew

image

@agilbert1412 agilbert1412 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added my own descriptions and tested them on webhost. It works and looks good.

@MatthewMarinets

Copy link
Copy Markdown
Collaborator Author

Failed unit tests are unrelated, from Celeste (Open World).

@MatthewMarinets

Copy link
Copy Markdown
Collaborator Author

Experimented with adding group descriptions to OptionCreator in this commit on this branch. Not updating this PR with it as the branch includes the changes from #6216, so one these PRs should merge first.

I'm still not great at kivy, and I find that everything becomes horribly laggy when things can resize, so I'm not happy with how it turned out. But it functions. Detailed notes with pictures are on the discord thread.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

affects: core Issues/PRs that touch core and may need additional validation. affects: webhost Issues/PRs that touch webhost and may need additional validation. waiting-on: peer-review Issue/PR has not been reviewed by enough people yet.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants