otter 1.2.1

Otter game system; main data structures Rust crate.
Documentation


Always
------

Grasping	When piece grasped, eveyrone agrees "somehow" what it was	Grasping is reflected without change in location, everywhere
		"Mostly" people agree on where things are

Movement	When a player who can see actual location moves			Movement is still hidden until the visibility changes
		When a player who cannot see, moves				Piece jumps to where they think it is, actual location is then visible
											until they release it


Quacks bag - neat
-----------------

Player sees:	number of tokens						SVGs of blanks at *calculated* locations
		laid out predictably						When piece added to bag, ???
		no knowledge of which is which - replaced by blank		What even are actual locations ???

Others see:	nothing


Quacks bag - messy
------------------

Player sees:	number of tokens						SVGs of blanks at actual locations
		in places the player left them but shuffled			When piece added to bag, locations preserved, actual IDs permuted
		no knowledge of which is which - replaced by blank

Others see:	nothing

Magic "stopping" token is different to player but still invisible to others.  Has a different "back".


Pick-up deck
------------

Everyone sees:	a pile of cards							SVGs of backs at actual locations
		backs								When shuffle occurs, visible ids do not change, but
		no knowledge of which is which						actual IDs are permuted; and locations are reverse-permuted
		can be moved about, everyone agrees on locations			everyone's actual<->visible mapping permuted the same way



Hand
----

Player sees:	cards laid out as they like					SVGs of fronts at actual locations
		faces

Others see:	number of cards							SVGs of backs at calculated locations
		laid out predictably, sorted in groups according to back	When card added, set of visible ids does not change, nor does
		no knowledge of which is which						their ordering in the calculated view
		but agree on the layout							But actual<->visible mapping is permuted (for everyone other2
											thais the player, the same way)



Card face down eg from player's hand
------------------------------------

Everyone sees:	card back							SVG of back at actual location, by normal rules
		only know what it is from historical information		IDs are not messed around with


Quacks committed token
----------------------

People see the same things as for a bag

This is a separate bag with a separate name
		You can move things from this to another bag.
		"Took something out" "put something in ..."

It can be un-blinded by "emptying" - a thing bags can do