Family Circles

Person

Every person in Family Circles is represented by a dot. Each of these dots has a label above them indicating who they are, the dot is what you tend to interact with for each person.

NameTypeDescription
idstringUnique identifier, Person ID (PID)
typestringstatic always "person"
namestringPerson first name
pageURL Web link to open when clicked
avatarURL URL for image
url starting with / are relative to application server
familyFID Family ID person is a member of
familiesArray of FID Family ID(s) person is a parent of
  [
    {
      "id"     : "1",
      "type"   : "person",
      "name"  : "<first>"
      "avatar" : "/images/family/person.png"
    }
  ]
  

Family

When two people are connected in the builder (namely the father and mother. The connection doesn’t necessarily have to be between a father and mother, or even a man and a woman, but in the builder it is denoted this way to make it clear that these are the two people at the top), it creates two lines, one for each member of the connection that meets down at the bottom to create a V. The dot at the bottom of the V is the family name of the couple. If these two people have children together then a circle is drawn around the family name dot with each of the children showing up on that circle. That is the basic format of family circles. A single person will not have their last name displayed on Family Circles if they aren’t connected to someone else, but links can be added to the dots to various webpages that might have more information on said individual.

NameTypeDescription
idstringUnique identifier, Family ID (FID)
typestringstatic always "family"
namestringFamily last name
fatherPIDFathers Person ID
motherPIDMothers Person ID
childrenArray of PID Children Person ID(s)
  [
    {
      "id"       : "1",
      "type"     : "person",
      "name"     : "<father>",
      "avatar"   : "/images/family/person.png",
      "families" : [ "6" ]
    },
    {
      "id"       : "2",
      "type"     : "person",
      "name"     : "<mother>",
      "avatar"   : "/images/family/mother.png",
      "families" : [ "6" ]
    },
    {
      "id"     : "3",
      "type"   : "person",
      "name"   : "<child>",
      "avatar" : "/images/family/child.png",
      "family" : "6"
    },
    {
      "id"     : "4",
      "type"   : "person",
      "name"   : "<child>",
      "avatar" : "/images/family/child.png",
      "family" : "6"
    },
    {
      "id"     : "5",
      "type"   : "person",
      "name"   : "<child>",
      "avatar" : "/images/family/child.png",
      "family" : "6"
    },
    {
      "id"       : "6",
      "type"     : "family",
      "name"     : "<family>",
      "father"   : "1",
      "mother"   : "2",
      "children" : ["3","4","5"]
    }
  ]
  

The id values must be globaly unique. The above JSON are valid examples of what could get passed to a viewer.

Hash Format Data

The viewer also supports a hash format of the form:

  • config
    • camera
      • target

        Unique ID for family or person to point camera at.

      • postion
        • x

          x value in 3D space to position camera

        • y

          y value in 3D space to position camera

        • z

          z value in 3D space to position camera

  • data

    Array of person and family data outlined above.

Example:

{
   "config" : {
     "camera" : {
       "target"   : "1",
       "position" : { 
         "x" : 300,
         "y" : 300,
         "z" : 400
       }
     }
   },
   "data" : [...]  // the above person/family arrays.
}