Eixo (x,y) e Coordenadas
Para simplificar, foi usado o sistema padrão de "eixo invertido", onde a coordenada (0,0) no canto superior esquerdo. Tanto o Canvas quanto o Fabric.js trabalham com a mesma especificação.
Layers e Grupos
Também para manter o projeto simples, a aplicação trabalha apenas com um Layer, que possui um array de elementos que são tratados como uma "pilha". Aceitar multiplos Layers e trocar o elemento de um Layer para outro seria tão simples quanto mover os objetos na estrutura de dados.
Além disso, ainda que não implementada nesta versão, a tipagem prevê um "grupo" opicional para um elemento, funcionando de forma similar ao Layer, mas sem a estratégia de pilha.
createdAt e updatedAt para tempo real e controle de versão
Estas duas propiedades não estão sendo utilizadas para nada neste momento do projeto mas a intenção do seu uso é para possibilitar um controle de versão, ainda que rudimentar, baseado nos momentos de criação e modificação dos elementos. Numa situação de sync isso poderia ser utilizado pra definir a estratégia de prioridade e axuiliaria na resolução de conflitos.