An excellent resource! I just wanted to add that there are `alt` and `noalt` text tags that can help reduce some of the code when consideringn self-voicing - for example:
if _preferences.self_voicing:
jasper "Hey, I didn't say any of this to be nice!"
else:
jasper "Wuh- Hey, I didn't say any of this to be nice!"
can become
jasper "{noalt}Wuh-{/noalt} Hey, I didn't say any of this to be nice!"
You can read more about them here:
https://www.renpy.org/doc/html/text.html#text-tag-alt
https://www.renpy.org/doc/html/text.html#text-tag-noalt