A Godot Engine app to help streamers organize Majority Judgment polls in their streams.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
1.9 KiB

extends EditorPlugin
Various utilities to help deliberate using Majority Judgment.
They are unit-tested using WAT. (see `tests/` directory)
WIP: Right now the `tests/` directory in not in the plugin itself. We aim to.
A bunch of new References:
- `MajorityJudgmentGrade`
A single grade, like Excellent or To Reject.
This is a class in order to handle localization.
- `MajorityJudgmentGrading`
An ordered list of `MajorityJudgmentGrade`, from worst to best.
- `MajorityJudgmentPoll`
Has a title, grades and candidates.
- `MajorityJudgmentCandidate`
A candidate in a poll, receiving judgments.
- `MajorityJudgmentParticipant`
Government of the People, by the People, for the People.
- `MajorityJudgmentJudgment`
A grade given by a judge to a candidate.
- `MajorityJudgmentTallier`
The algorithm computing the poll tally (and the order of candidates)
The default algorithm will follow Balinsky & Laraki suggestions
- `MajorityJudgmentPollTally`
Output of the tallier above. Ordered candidate tallies, winner first.
- `MajorityJudgmentCandidateTally`
Amounts of judgments per grade for a specific candidate.
They all are `class_name`d, so they are polluting the global namespace,
but their name should be unique enough, with the prefix `MajorityJudgment`.
If it causes you pain, you're welcome to open an issue to discuss about it.
#func _enter_tree():
# add_custom_type("MajorityJudgmentLinearResultsControl", "Control", load("res://addons/majority_judgment/MajorityJudgmentLinearResultsControl.gd"), load("res://addons/majority_judgment/MajorityJudgmentLinearResultsControl.svg"))
#func _exit_tree():
# remove_custom_type("MajorityJudgmentLinearResultsControl")