I've been working on a project for the jam, and at the moment I am rather stuck on a prototype/contraption design. The behavior seems unexpected but I'm new to this and feel like I'm probably just missing something.
The idea was to make a prefab "question" box, akin to those weird psych questionnaires where you have to answer a series of questions to varying degrees of affirmative/negative. The current design looks like this:

The buttons on the right are meant to act not unlike a radio button: you click one, it goes inverted, uninverts the other two, and stores the new value (1, 0, or -1) in the hidden field above.
The prototype code looks like this:
on get_question do questionText.text end on set_question v do questionText.text:v end on get_answer do answerVal.text end on set_answer v do answerVal.text:v end
With each button having a variant on this script:
on click do me.parent.widgets.answerVal.text:1 me.show:"invert" zeroB.show:"solid" minusB.show:"solid" end
`answerVal` here is the invisible field. `answer` is set up as an attribute with the "number" type.
This works fine when testing within the prototype editor. I can click on the buttons, they toggle as expected, and if I peek at the value in the hidden field, it has the correct one for the currently depressed button.
If I make one of these contraptions on an actual card, though, it breaks. It looks like it's working, but `answer` doesn't actually get updated. Since the goal is to be able to sum the answers from a bank of these contraptions, that is obviously not useful, but I've tried a number of variations on how to handle the stored value and none of them seem to work.
Any ideas?


