-record(edge, { id :: json_canvas@edge:edge_id(), from_node :: json_canvas@types:node_id(), from_side :: gleam@option:option(json_canvas@edge@side:side()), from_end :: json_canvas@edge@endpoint_shape:endpoint_shape(), to_node :: json_canvas@types:node_id(), to_side :: gleam@option:option(json_canvas@edge@side:side()), to_end :: json_canvas@edge@endpoint_shape:endpoint_shape(), color :: gleam@option:option(json_canvas@types:color()), label :: gleam@option:option(json_canvas@edge:edge_label()) }).