Concepts -------- Views When a Thing is happening, the happener divides players into equiv classes (usu, (i) our player (ii) other players) View specifies some Occultations Each Occultation is applied equally to all players within a View so that they all see the same Occulations Some of these these occur at a point in time and then wait to become relevant. Some have a continuous effect. Only one occultation for each piece for each player at a time Identity scrambled Instantaneous effect: - Choose a permutation of affected pieces - Permute the visible/real ID mapping - If the players in this view can see the real locations, permute the locations too (actually moving the pieces) Typ., redone when new pieces are added to the affected set Location hidden Occultor provides layout area Pieces laid out in order according to err something ? Occultees see these synthetic locations When an occultee moves, that becomes actual location, now piece is no longer occulted Z level needs special handling - overwrite original Z with something When a non-occulteee moves, that is still actual location but it isn't visible Totally invisible The piece disappears from view. Message explaining why "Alice puts a black token into Alice's bag" Scrambling vs Visible --------------------- If any player sees Scrambled, none see Visible. This is because Scrambled works by permuting actual locations. Other ----- Default hidden face When something was occulted it is "face down", mostly, until it is put somewhere with a faceupness field When happens When piece is released, occultation may change or be effected or something pinning/enablement etc. Need way to introduce these per-player pieces Also need way to de-activate them Future ------ SVG ondemand or hashes or something to avoid (i) retransmissions of lots of data (ii) leaks by data sizes (iii) huge a-* files