Masu.Issho.Place (Masu v0.7.0)

Copy Markdown View Source

A place in a Masu grid, in the grid's own terms (rows by their ids, columns by their keys, never screen pixels, as each person has their own order, filters and scroll): where a person is, where their pointer is, where an agent goes (Issho.Motion), what an app keeps of them. Its format is part of Masu's public API, and only grows.

%{"cell" => [row_id, key]}                         # a cell
%{"range" => %{"rows" => [row_id, ...], "keys" => [key, ...]}}
%{"cell" => [row_id, key], "range" => %{...}}      # a range, from a cell
%{"cell" => [row_id, key], "x" => 0.5, "y" => 0.5} # a pointer in a cell

A row id is a string or an integer, as the grid sends its rows; x and y are where in the cell, from 0 to 1. A range names at most 500 rows. In the room, it is the "at" of a place of the grid's document: %{"doc" => "notebook:42/tasks", "at" => %{"cell" => [7, "status"]}}.