erDiagram
backgrounds {
int id PK
text owner_type
text owner_id
int sort_order
int preference
text src
int visible
float opacity
float tiling_size_in_percent
float tiling_angle
float tiling_spacing
float tiling_offset_x
float tiling_offset_y
int hatch_style
text hatch_pattern_name
float hatch_pattern_scale
float hatch_pattern_angle
float hatch_pattern_origin_x
float hatch_pattern_origin_y
int hatch_pattern_origin_mirror
int hatch_pattern_double
text hatch_custom_pattern_name
text hatch_custom_pattern_desc
float image_filter_brightness
float image_filter_contrast
}
block_collection_entries {
text collection_id PK,FK
text child_id PK
int is_collection
}
block_collections {
text id PK
text label
}
block_instance_overrides {
text instance_id PK,FK
text key PK
text value
}
block_instances {
text id PK
text block_id FK
int version
int dup_rows
int dup_cols
float dup_row_spacing
float dup_col_spacing
}
block_metadata {
text owner_type PK
text owner_id PK
text source
int usage_count
int created_at
int updated_at
unknown localization
bytes thumbnail
}
blocks {
text id PK
text label
text description
int version
}
checkpoint_data_chunks {
text checkpoint_id PK,FK
int chunk_index PK
int offset_bytes
int size_bytes
bytes data
}
checkpoints {
text id PK
text parent_id
text chain_id FK
int version_number
int schema_version
int timestamp
text description
int is_manual_save
int is_schema_boundary
text user_id
text data_checksum
text storage_key
int size_bytes
}
delta_changeset_chunks {
text delta_id PK,FK
int chunk_index PK
int offset_bytes
int size_bytes
bytes data
}
deltas {
text id PK
text parent_id
text base_checkpoint_id FK
text chain_id FK
int delta_sequence
int version_number
int schema_version
int timestamp
text description
int is_manual_save
text user_id
text changeset_checksum
int size_bytes
}
doc_element_referenced_files {
text element_id PK,FK
text file_id PK
int sort_order
}
document_dictionary {
text key PK
text value
}
document_grid_config {
text element_id PK,FK
text file_id
int grid_columns
float grid_gap_x
float grid_gap_y
int grid_first_page_alone
float grid_scale
}
duc_charter {
int id PK
text title
text description
text objective
text phase
text closed_reason
int updated_at
}
duc_charter_constraints {
text id PK
text statement
int hard
int sort_order
}
duc_charter_decision_issue_ids {
text decision_id PK,FK
text issue_id
int sort_order PK
}
duc_charter_decisions {
text id PK
int accepted
text decision
text rationale
int decided_at
int sort_order
}
duc_charter_requirement_acceptance_criteria {
text requirement_id PK,FK
int sort_order PK
text criterion
}
duc_charter_requirements {
text id PK
text statement
int must
int sort_order
}
duc_charter_stakeholders {
int sort_order PK
text actor_identifier
text actor_name
text role
}
duc_document {
text id PK
text version
text source
text data_type
bytes thumbnail
}
duc_global_state {
int id PK
text view_background_color
text main_scope
int scope_exponent_threshold
}
duc_issue_anchors {
text issue_id PK,FK
text anchor_type
float canvas_x
float canvas_y
text canvas_scope
text element_id
float anchor_x
float anchor_y
float model_point_x
float model_point_y
float model_point_z
float model_normal_x
float model_normal_y
float model_normal_z
text topology_id
}
duc_issue_assignees {
text issue_id PK,FK
text actor_identifier PK
int sort_order
}
duc_issue_followers {
text issue_id PK,FK
text actor_identifier PK
int sort_order
}
duc_issue_message_reactions {
text message_id PK,FK
text emoji PK
text actor_identifier PK
int sort_order
}
duc_issue_messages {
text id PK
text issue_id FK
text author_identifier
text author_name
text content
text reply_to_id
int created_at
int edited_at
int deleted_at
int sort_order
}
duc_issues {
text id PK
int local_id
text title
text status
text dismissed_reason
int due_date
text author_id
int created_at
int updated_at
int deleted_at
int sort_order
}
duc_local_state {
int id PK
text scope
float scroll_x
float scroll_y
float zoom
int is_binding_enabled
float current_item_opacity
text current_item_font_family
float current_item_font_size
int current_item_text_align
float current_item_roundness
int start_head_type
text start_head_block_id
float start_head_size
int end_head_type
text end_head_block_id
float end_head_size
int pen_mode
int view_mode_enabled
int objects_snap_mode_enabled
int grid_mode_enabled
int outline_mode_enabled
int manual_save_mode
int decimal_places
}
element_block_memberships {
text element_id PK,FK
text block_id PK,FK
int sort_order
}
element_bound_elements {
text element_id PK,FK
text bound_element_id PK
text bound_type
int sort_order
}
element_doc {
text element_id PK,FK
text text
}
element_ellipse {
text element_id PK,FK
float ratio
float start_angle
float end_angle
int show_aux_crosshair
}
element_embeddable {
text element_id PK,FK
}
element_frame {
text element_id PK,FK
}
element_freedraw {
text element_id PK,FK
float size
float thinning
float smoothing
float streamline
text easing
int start_cap
float start_taper
text start_easing
int end_cap
float end_taper
text end_easing
bytes pressures
int simulate_pressure
float last_committed_point_x
float last_committed_point_y
int last_committed_point_mirror
text svg_path
}
element_group_memberships {
text element_id PK,FK
text group_id PK,FK
int sort_order
}
element_image {
text element_id PK,FK
text file_id
int status
float scale_x
float scale_y
float crop_x
float crop_y
float crop_width
float crop_height
float crop_natural_width
float crop_natural_height
float filter_brightness
float filter_contrast
}
element_linear {
text element_id PK,FK
float last_committed_point_x
float last_committed_point_y
int last_committed_point_mirror
text start_binding_element_id
float start_binding_focus
float start_binding_gap
float start_binding_fixed_point_x
float start_binding_fixed_point_y
int start_binding_point_index
float start_binding_point_offset
int start_binding_head_type
text start_binding_head_block_id
float start_binding_head_size
text end_binding_element_id
float end_binding_focus
float end_binding_gap
float end_binding_fixed_point_x
float end_binding_fixed_point_y
int end_binding_point_index
float end_binding_point_offset
int end_binding_head_type
text end_binding_head_block_id
float end_binding_head_size
int wipeout_below
int elbowed
}
element_model {
text element_id PK,FK
text model_type
text code
bytes thumbnail
}
element_pdf {
text element_id PK,FK
}
element_plot {
text element_id PK,FK
float margin_top
float margin_right
float margin_bottom
float margin_left
}
element_polygon {
text element_id PK,FK
int sides
}
element_region_memberships {
text element_id PK,FK
text region_id PK,FK
int sort_order
}
element_stack_properties {
text element_id PK,FK
text label
text description
int is_collapsed
int is_plot
int is_visible
int locked
float opacity
int clip
int label_visible
}
element_table {
text element_id PK,FK
}
element_text {
text element_id PK,FK
text text
text original_text
int auto_resize
text container_id
int is_ltr
text font_family
text big_font_family
int text_align
int vertical_align
float line_height
float line_spacing_value
int line_spacing_type
float oblique_angle
float font_size
float width_factor
int is_upside_down
int is_backwards
}
elements {
text id PK
text element_type
float x
float y
float width
float height
float angle
text scope
text label
text description
int is_visible
int seed
int version
int version_nonce
int updated
text index
int is_plot
int is_deleted
float roundness
int blending
float opacity
text instance_id FK
text layer_id FK
text frame_id
float z_index
text link
int locked
unknown custom_data
}
external_file_revision_chunks {
text revision_id PK,FK
int chunk_index PK
int offset_bytes
int size_bytes
bytes data
}
external_file_revisions {
text id PK
text file_id FK
int size_bytes
text checksum
text source_name
text mime_type
text message
int created
int last_retrieved
}
external_file_text_index {
int id PK
text file_id
text revision_id
text mime_type
text extracted_text
int has_ocr
int updated
}
external_files {
text id PK
text active_revision_id
int updated
int version
}
freedraw_element_points {
text element_id PK,FK
int sort_order PK
float x
float y
int mirroring
}
groups {
text id PK,FK
}
hatch_pattern_lines {
int id PK
text owner_type
int owner_id
int sort_order
float angle
float origin_x
float origin_y
int origin_mirroring
float offset_x
float offset_y
bytes dash_pattern
}
layers {
text id PK,FK
int readonly
}
linear_element_lines {
text element_id PK,FK
int sort_order PK
int start_index
float start_handle_x
float start_handle_y
int end_index
float end_handle_x
float end_handle_y
}
linear_element_points {
text element_id PK,FK
int sort_order PK
float x
float y
int mirroring
}
linear_path_override_indices {
int path_override_id PK,FK
int sort_order PK
int line_index
}
linear_path_overrides {
int id PK
text element_id FK
int sort_order
}
model_element_files {
text element_id PK,FK
text file_id PK
int sort_order
}
model_viewer_state {
text owner_type PK
text owner_id PK
text camera_control
int camera_ortho
text camera_up
float camera_position_x
float camera_position_y
float camera_position_z
float camera_quaternion_x
float camera_quaternion_y
float camera_quaternion_z
float camera_quaternion_w
float camera_target_x
float camera_target_y
float camera_target_z
float camera_zoom
float camera_pan_speed
float camera_rotate_speed
float camera_zoom_speed
int camera_holroyd
int display_wireframe
int display_transparent
int display_black_edges
int display_grid_uniform
int display_grid_xy
int display_grid_xz
int display_grid_yz
int display_axes_visible
int display_axes_at_origin
float material_metalness
float material_roughness
float material_default_opacity
int material_edge_color
float material_ambient_intensity
float material_direct_intensity
int clip_x_enabled
float clip_x_value
float clip_x_normal_x
float clip_x_normal_y
float clip_x_normal_z
int clip_y_enabled
float clip_y_value
float clip_y_normal_x
float clip_y_normal_y
float clip_y_normal_z
int clip_z_enabled
float clip_z_value
float clip_z_normal_x
float clip_z_normal_y
float clip_z_normal_z
int clip_intersection
int clip_show_planes
int clip_object_color_caps
int explode_active
float explode_value
int zebra_active
int zebra_stripe_count
float zebra_stripe_direction
text zebra_color_scheme
float zebra_opacity
text zebra_mapping_mode
}
regions {
text id PK,FK
int boolean_operation
}
schema_migrations {
int id PK
int from_schema_version
int to_schema_version
text migration_name
text migration_sql
text reverse_migration_sql
text migration_checksum
int applied_at
text boundary_checkpoint_id
}
search_blocks_config {
text k PK
int v
}
search_blocks_data {
int id PK
bytes block
}
search_blocks_docsize {
int id PK
bytes sz
}
search_blocks_idx {
bytes segid PK
bytes term PK
bytes pgno
}
search_element_doc_config {
text k PK
int v
}
search_element_doc_data {
int id PK
bytes block
}
search_element_doc_docsize {
int id PK
bytes sz
}
search_element_doc_idx {
bytes segid PK
bytes term PK
bytes pgno
}
search_element_model_config {
text k PK
int v
}
search_element_model_data {
int id PK
bytes block
}
search_element_model_docsize {
int id PK
bytes sz
}
search_element_model_idx {
bytes segid PK
bytes term PK
bytes pgno
}
search_element_text_config {
text k PK
int v
}
search_element_text_data {
int id PK
bytes block
}
search_element_text_docsize {
int id PK
bytes sz
}
search_element_text_idx {
bytes segid PK
bytes term PK
bytes pgno
}
search_elements_config {
text k PK
int v
}
search_elements_data {
int id PK
bytes block
}
search_elements_docsize {
int id PK
bytes sz
}
search_elements_idx {
bytes segid PK
bytes term PK
bytes pgno
}
search_external_file_text_config {
text k PK
int v
}
search_external_file_text_data {
int id PK
bytes block
}
search_external_file_text_docsize {
int id PK
bytes sz
}
search_external_file_text_idx {
bytes segid PK
bytes term PK
bytes pgno
}
stack_properties {
text id PK
text label
text description
int is_collapsed
int is_plot
int is_visible
int locked
float opacity
}
strokes {
int id PK
text owner_type
text owner_id
int sort_order
int preference
text src
int visible
float opacity
float tiling_size_in_percent
float tiling_angle
float tiling_spacing
float tiling_offset_x
float tiling_offset_y
int hatch_style
text hatch_pattern_name
float hatch_pattern_scale
float hatch_pattern_angle
float hatch_pattern_origin_x
float hatch_pattern_origin_y
int hatch_pattern_origin_mirror
int hatch_pattern_double
text hatch_custom_pattern_name
text hatch_custom_pattern_desc
float image_filter_brightness
float image_filter_contrast
float width
int style_preference
int style_cap
int style_join
bytes style_dash
text style_dash_line_override
int style_dash_cap
float style_miter_limit
int placement
int sides_preference
bytes sides_values
}
version_chains {
text id PK
int schema_version
int start_version
int end_version
int migration_id FK
text root_checkpoint_id
}
version_graph {
int id PK
int current_version
int current_schema_version
text user_checkpoint_version_id
text latest_version_id
int chain_count
int total_size
}
search_blocks {
bytes label
bytes description
}
search_element_doc {
bytes text
}
search_element_model {
bytes code
}
search_element_text {
bytes text
bytes original_text
}
search_elements {
bytes label
bytes description
}
search_external_file_text {
bytes extracted_text
}
block_collections ||--o{ block_collection_entries : ""
block_instances ||--o{ block_instance_overrides : ""
blocks ||--o{ block_instances : ""
checkpoints ||--o{ checkpoint_data_chunks : ""
version_chains ||--o{ checkpoints : ""
deltas ||--o{ delta_changeset_chunks : ""
checkpoints ||--o{ deltas : ""
version_chains ||--o{ deltas : ""
element_doc ||--o{ doc_element_referenced_files : ""
elements ||--|| document_grid_config : ""
duc_charter_decisions ||--o{ duc_charter_decision_issue_ids : ""
duc_charter_requirements ||--o{ duc_charter_requirement_acceptance_criteria : ""
duc_issues ||--|| duc_issue_anchors : ""
duc_issues ||--o{ duc_issue_assignees : ""
duc_issues ||--o{ duc_issue_followers : ""
duc_issue_messages ||--o{ duc_issue_message_reactions : ""
duc_issues ||--o{ duc_issue_messages : ""
blocks ||--o{ element_block_memberships : ""
elements ||--o{ element_block_memberships : ""
elements ||--o{ element_bound_elements : ""
document_grid_config |o--|| element_doc : ""
elements ||--|| element_ellipse : ""
elements ||--|| element_embeddable : ""
element_stack_properties ||--|| element_frame : ""
elements ||--|| element_freedraw : ""
elements ||--o{ element_group_memberships : ""
groups ||--o{ element_group_memberships : ""
elements ||--|| element_image : ""
elements ||--|| element_linear : ""
elements |o--|| element_model : ""
document_grid_config ||--|| element_pdf : ""
element_stack_properties ||--|| element_plot : ""
elements ||--|| element_polygon : ""
elements ||--o{ element_region_memberships : ""
regions ||--o{ element_region_memberships : ""
elements ||--|| element_stack_properties : ""
document_grid_config ||--|| element_table : ""
elements |o--|| element_text : ""
block_instances |o--o{ elements : ""
layers |o--o{ elements : ""
external_file_revisions ||--o{ external_file_revision_chunks : ""
external_files ||--o{ external_file_revisions : ""
elements ||--o{ freedraw_element_points : ""
stack_properties ||--|| groups : ""
stack_properties ||--|| layers : ""
elements ||--o{ linear_element_lines : ""
elements ||--o{ linear_element_points : ""
linear_path_overrides ||--o{ linear_path_override_indices : ""
elements ||--o{ linear_path_overrides : ""
elements ||--o{ model_element_files : ""
stack_properties ||--|| regions : ""
schema_migrations |o--o{ version_chains : ""
erDiagram
backgrounds {
int id PK
text owner_type
text owner_id
int sort_order
int preference
text src
int visible
float opacity
float tiling_size_in_percent
float tiling_angle
float tiling_spacing
float tiling_offset_x
float tiling_offset_y
int hatch_style
text hatch_pattern_name
float hatch_pattern_scale
float hatch_pattern_angle
float hatch_pattern_origin_x
float hatch_pattern_origin_y
int hatch_pattern_origin_mirror
int hatch_pattern_double
text hatch_custom_pattern_name
text hatch_custom_pattern_desc
float image_filter_brightness
float image_filter_contrast
}
erDiagram
block_instances {
text id PK
text block_id FK
int version
int dup_rows
int dup_cols
float dup_row_spacing
float dup_col_spacing
}
block_instances ||--o{ block_instance_overrides : ""
blocks ||--o{ block_instances : ""
block_instances |o--o{ elements : ""
erDiagram
block_metadata {
text owner_type PK
text owner_id PK
text source
int usage_count
int created_at
int updated_at
unknown localization
bytes thumbnail
}
erDiagram
blocks {
text id PK
text label
text description
int version
}
blocks ||--o{ block_instances : ""
blocks ||--o{ element_block_memberships : ""
erDiagram
checkpoint_data_chunks {
text checkpoint_id PK,FK
int chunk_index PK
int offset_bytes
int size_bytes
bytes data
}
checkpoints ||--o{ checkpoint_data_chunks : ""
erDiagram
checkpoints {
text id PK
text parent_id
text chain_id FK
int version_number
int schema_version
int timestamp
text description
int is_manual_save
int is_schema_boundary
text user_id
text data_checksum
text storage_key
int size_bytes
}
checkpoints ||--o{ checkpoint_data_chunks : ""
version_chains ||--o{ checkpoints : ""
checkpoints ||--o{ deltas : ""
erDiagram
delta_changeset_chunks {
text delta_id PK,FK
int chunk_index PK
int offset_bytes
int size_bytes
bytes data
}
deltas ||--o{ delta_changeset_chunks : ""
erDiagram
deltas {
text id PK
text parent_id
text base_checkpoint_id FK
text chain_id FK
int delta_sequence
int version_number
int schema_version
int timestamp
text description
int is_manual_save
text user_id
text changeset_checksum
int size_bytes
}
deltas ||--o{ delta_changeset_chunks : ""
checkpoints ||--o{ deltas : ""
version_chains ||--o{ deltas : ""
erDiagram
duc_charter_decisions {
text id PK
int accepted
text decision
text rationale
int decided_at
int sort_order
}
duc_charter_decisions ||--o{ duc_charter_decision_issue_ids : ""
erDiagram
duc_charter_requirements {
text id PK
text statement
int must
int sort_order
}
duc_charter_requirements ||--o{ duc_charter_requirement_acceptance_criteria : ""
erDiagram
duc_issue_message_reactions {
text message_id PK,FK
text emoji PK
text actor_identifier PK
int sort_order
}
duc_issue_messages ||--o{ duc_issue_message_reactions : ""
erDiagram
duc_issue_messages {
text id PK
text issue_id FK
text author_identifier
text author_name
text content
text reply_to_id
int created_at
int edited_at
int deleted_at
int sort_order
}
duc_issue_messages ||--o{ duc_issue_message_reactions : ""
duc_issues ||--o{ duc_issue_messages : ""
erDiagram
duc_issues {
text id PK
int local_id
text title
text status
text dismissed_reason
int due_date
text author_id
int created_at
int updated_at
int deleted_at
int sort_order
}
duc_issues ||--|| duc_issue_anchors : ""
duc_issues ||--o{ duc_issue_assignees : ""
duc_issues ||--o{ duc_issue_followers : ""
duc_issues ||--o{ duc_issue_messages : ""
erDiagram
duc_local_state {
int id PK
text scope
float scroll_x
float scroll_y
float zoom
int is_binding_enabled
float current_item_opacity
text current_item_font_family
float current_item_font_size
int current_item_text_align
float current_item_roundness
int start_head_type
text start_head_block_id
float start_head_size
int end_head_type
text end_head_block_id
float end_head_size
int pen_mode
int view_mode_enabled
int objects_snap_mode_enabled
int grid_mode_enabled
int outline_mode_enabled
int manual_save_mode
int decimal_places
}
erDiagram
element_bound_elements {
text element_id PK,FK
text bound_element_id PK
text bound_type
int sort_order
}
elements ||--o{ element_bound_elements : ""
erDiagram
element_ellipse {
text element_id PK,FK
float ratio
float start_angle
float end_angle
int show_aux_crosshair
}
elements ||--|| element_ellipse : ""
erDiagram
element_freedraw {
text element_id PK,FK
float size
float thinning
float smoothing
float streamline
text easing
int start_cap
float start_taper
text start_easing
int end_cap
float end_taper
text end_easing
bytes pressures
int simulate_pressure
float last_committed_point_x
float last_committed_point_y
int last_committed_point_mirror
text svg_path
}
elements ||--|| element_freedraw : ""
erDiagram
element_group_memberships {
text element_id PK,FK
text group_id PK,FK
int sort_order
}
elements ||--o{ element_group_memberships : ""
groups ||--o{ element_group_memberships : ""
erDiagram
element_linear {
text element_id PK,FK
float last_committed_point_x
float last_committed_point_y
int last_committed_point_mirror
text start_binding_element_id
float start_binding_focus
float start_binding_gap
float start_binding_fixed_point_x
float start_binding_fixed_point_y
int start_binding_point_index
float start_binding_point_offset
int start_binding_head_type
text start_binding_head_block_id
float start_binding_head_size
text end_binding_element_id
float end_binding_focus
float end_binding_gap
float end_binding_fixed_point_x
float end_binding_fixed_point_y
int end_binding_point_index
float end_binding_point_offset
int end_binding_head_type
text end_binding_head_block_id
float end_binding_head_size
int wipeout_below
int elbowed
}
elements ||--|| element_linear : ""
erDiagram
element_region_memberships {
text element_id PK,FK
text region_id PK,FK
int sort_order
}
elements ||--o{ element_region_memberships : ""
regions ||--o{ element_region_memberships : ""
erDiagram
element_stack_properties {
text element_id PK,FK
text label
text description
int is_collapsed
int is_plot
int is_visible
int locked
float opacity
int clip
int label_visible
}
element_stack_properties ||--|| element_frame : ""
element_stack_properties ||--|| element_plot : ""
elements ||--|| element_stack_properties : ""
erDiagram
element_text {
text element_id PK,FK
text text
text original_text
int auto_resize
text container_id
int is_ltr
text font_family
text big_font_family
int text_align
int vertical_align
float line_height
float line_spacing_value
int line_spacing_type
float oblique_angle
float font_size
float width_factor
int is_upside_down
int is_backwards
}
elements |o--|| element_text : ""
erDiagram
elements {
text id PK
text element_type
float x
float y
float width
float height
float angle
text scope
text label
text description
int is_visible
int seed
int version
int version_nonce
int updated
text index
int is_plot
int is_deleted
float roundness
int blending
float opacity
text instance_id FK
text layer_id FK
text frame_id
float z_index
text link
int locked
unknown custom_data
}
elements ||--|| document_grid_config : ""
elements ||--o{ element_block_memberships : ""
elements ||--o{ element_bound_elements : ""
elements ||--|| element_ellipse : ""
elements ||--|| element_embeddable : ""
elements ||--|| element_freedraw : ""
elements ||--o{ element_group_memberships : ""
elements ||--|| element_image : ""
elements ||--|| element_linear : ""
elements |o--|| element_model : ""
elements ||--|| element_polygon : ""
elements ||--o{ element_region_memberships : ""
elements ||--|| element_stack_properties : ""
elements |o--|| element_text : ""
block_instances |o--o{ elements : ""
layers |o--o{ elements : ""
elements ||--o{ freedraw_element_points : ""
elements ||--o{ linear_element_lines : ""
elements ||--o{ linear_element_points : ""
elements ||--o{ linear_path_overrides : ""
elements ||--o{ model_element_files : ""
erDiagram
external_file_revision_chunks {
text revision_id PK,FK
int chunk_index PK
int offset_bytes
int size_bytes
bytes data
}
external_file_revisions ||--o{ external_file_revision_chunks : ""
erDiagram
external_file_revisions {
text id PK
text file_id FK
int size_bytes
text checksum
text source_name
text mime_type
text message
int created
int last_retrieved
}
external_file_revisions ||--o{ external_file_revision_chunks : ""
external_files ||--o{ external_file_revisions : ""
erDiagram
freedraw_element_points {
text element_id PK,FK
int sort_order PK
float x
float y
int mirroring
}
elements ||--o{ freedraw_element_points : ""
erDiagram
hatch_pattern_lines {
int id PK
text owner_type
int owner_id
int sort_order
float angle
float origin_x
float origin_y
int origin_mirroring
float offset_x
float offset_y
bytes dash_pattern
}
erDiagram
linear_path_overrides {
int id PK
text element_id FK
int sort_order
}
linear_path_overrides ||--o{ linear_path_override_indices : ""
elements ||--o{ linear_path_overrides : ""
erDiagram
model_viewer_state {
text owner_type PK
text owner_id PK
text camera_control
int camera_ortho
text camera_up
float camera_position_x
float camera_position_y
float camera_position_z
float camera_quaternion_x
float camera_quaternion_y
float camera_quaternion_z
float camera_quaternion_w
float camera_target_x
float camera_target_y
float camera_target_z
float camera_zoom
float camera_pan_speed
float camera_rotate_speed
float camera_zoom_speed
int camera_holroyd
int display_wireframe
int display_transparent
int display_black_edges
int display_grid_uniform
int display_grid_xy
int display_grid_xz
int display_grid_yz
int display_axes_visible
int display_axes_at_origin
float material_metalness
float material_roughness
float material_default_opacity
int material_edge_color
float material_ambient_intensity
float material_direct_intensity
int clip_x_enabled
float clip_x_value
float clip_x_normal_x
float clip_x_normal_y
float clip_x_normal_z
int clip_y_enabled
float clip_y_value
float clip_y_normal_x
float clip_y_normal_y
float clip_y_normal_z
int clip_z_enabled
float clip_z_value
float clip_z_normal_x
float clip_z_normal_y
float clip_z_normal_z
int clip_intersection
int clip_show_planes
int clip_object_color_caps
int explode_active
float explode_value
int zebra_active
int zebra_stripe_count
float zebra_stripe_direction
text zebra_color_scheme
float zebra_opacity
text zebra_mapping_mode
}
erDiagram
schema_migrations {
int id PK
int from_schema_version
int to_schema_version
text migration_name
text migration_sql
text reverse_migration_sql
text migration_checksum
int applied_at
text boundary_checkpoint_id
}
schema_migrations |o--o{ version_chains : ""
erDiagram
stack_properties {
text id PK
text label
text description
int is_collapsed
int is_plot
int is_visible
int locked
float opacity
}
stack_properties ||--|| groups : ""
stack_properties ||--|| layers : ""
stack_properties ||--|| regions : ""
erDiagram
strokes {
int id PK
text owner_type
text owner_id
int sort_order
int preference
text src
int visible
float opacity
float tiling_size_in_percent
float tiling_angle
float tiling_spacing
float tiling_offset_x
float tiling_offset_y
int hatch_style
text hatch_pattern_name
float hatch_pattern_scale
float hatch_pattern_angle
float hatch_pattern_origin_x
float hatch_pattern_origin_y
int hatch_pattern_origin_mirror
int hatch_pattern_double
text hatch_custom_pattern_name
text hatch_custom_pattern_desc
float image_filter_brightness
float image_filter_contrast
float width
int style_preference
int style_cap
int style_join
bytes style_dash
text style_dash_line_override
int style_dash_cap
float style_miter_limit
int placement
int sides_preference
bytes sides_values
}
erDiagram
version_chains {
text id PK
int schema_version
int start_version
int end_version
int migration_id FK
text root_checkpoint_id
}
version_chains ||--o{ checkpoints : ""
version_chains ||--o{ deltas : ""
schema_migrations |o--o{ version_chains : ""
erDiagram
version_graph {
int id PK
int current_version
int current_schema_version
text user_checkpoint_version_id
text latest_version_id
int chain_count
int total_size
}