Closes https://github.com/KittyCAD/engine/issues/3494. Thanks to @nadr0 for helping on the JS side. If users set their units, the grid will stop auto scaling, and instead will be set to 10 of whatever unit they used. If users set their units, and those units are metric, then it'll include a scale bar (see screenshot). Imperial units won't have that bar. This behaviour is configurable via settings. ## Limitations - The scale bar below the grid cannot be disabled in metric units, and cannot be enabled in imperial units <img width="1690" alt="Screenshot 2025-06-05 at 7 51 41 PM" src="https://github.com/user-attachments/assets/c597087c-f96d-4c30-95f4-b3d8ba2b5567" />
243 lines
4.3 KiB
Markdown
243 lines
4.3 KiB
Markdown
---
|
|
title: "User Settings"
|
|
excerpt: "User specific settings for the app. These live in `user.toml` in the app's configuration directory. Updating the settings in the app will update this file automatically. Do not edit this file manually, as it may be overwritten by the app. Manual edits can cause corruption of the settings file."
|
|
layout: manual
|
|
---
|
|
|
|
User specific settings for the app. These live in `user.toml` in the app's configuration directory. Updating the settings in the app will update this file automatically. Do not edit this file manually, as it may be overwritten by the app. Manual edits can cause corruption of the settings file.
|
|
|
|
## User Configuration Structure
|
|
|
|
```toml
|
|
[settings.app]
|
|
# Set the appearance of the application
|
|
[settings.app.appearance]
|
|
# Use dark mode theme
|
|
theme = "dark"
|
|
# Set the app color to blue (240.0 = blue, 0.0 = red, 120.0 = green)
|
|
color = 240.0
|
|
|
|
[settings.modeling]
|
|
# Use millimeters as the default measurement unit
|
|
base_unit = "mm"
|
|
|
|
[settings.text_editor]
|
|
# Disable text wrapping in the editor
|
|
text_wrapping = false
|
|
|
|
```
|
|
|
|
## Available Settings
|
|
|
|
### settings
|
|
|
|
|
|
|
|
#### app
|
|
|
|
The settings for the Design Studio.
|
|
|
|
|
|
**Default:** None
|
|
|
|
This setting has the following nested options:
|
|
|
|
##### appearance
|
|
|
|
The settings for the appearance of the app.
|
|
|
|
|
|
**Default:** None
|
|
|
|
This setting has further nested options. See the schema for full details.
|
|
##### onboarding_status
|
|
|
|
The onboarding status of the app.
|
|
|
|
|
|
**Default:** None
|
|
|
|
##### dismiss_web_banner
|
|
|
|
Permanently dismiss the banner warning to download the desktop app. This setting only applies to the web app. And is temporary until we have Linux support.
|
|
|
|
|
|
**Default:** None
|
|
|
|
##### stream_idle_mode
|
|
|
|
When the user is idle, teardown the stream after some time.
|
|
|
|
|
|
**Default:** None
|
|
|
|
##### allow_orbit_in_sketch_mode
|
|
|
|
Allow orbiting in sketch mode.
|
|
|
|
|
|
**Default:** None
|
|
|
|
##### show_debug_panel
|
|
|
|
Whether to show the debug panel, which lets you see various states of the app to aid in development.
|
|
|
|
|
|
**Default:** None
|
|
|
|
##### fixed_size_grid
|
|
|
|
If true, the grid cells will be fixed-size, where the width is the user's default length unit. If false, the grid's size will scale as the user zooms in and out.
|
|
|
|
|
|
**Default:** true
|
|
|
|
|
|
#### modeling
|
|
|
|
Settings that affect the behavior while modeling.
|
|
|
|
|
|
**Default:** None
|
|
|
|
This setting has the following nested options:
|
|
|
|
##### base_unit
|
|
|
|
The default unit to use in modeling dimensions.
|
|
|
|
|
|
**Default:** None
|
|
|
|
##### camera_projection
|
|
|
|
The projection mode the camera should use while modeling.
|
|
|
|
|
|
**Default:** None
|
|
|
|
##### camera_orbit
|
|
|
|
The methodology the camera should use to orbit around the model.
|
|
|
|
|
|
**Default:** None
|
|
|
|
##### mouse_controls
|
|
|
|
The controls for how to navigate the 3D view.
|
|
|
|
**Possible values:** `zoo`, `onshape`, `trackpad_friendly`, `solidworks`, `nx`, `creo`, `autocad`
|
|
|
|
**Default:** None
|
|
|
|
##### highlight_edges
|
|
|
|
Highlight edges of 3D objects?
|
|
|
|
|
|
**Default:** None
|
|
|
|
##### enable_ssao
|
|
|
|
Whether or not Screen Space Ambient Occlusion (SSAO) is enabled.
|
|
|
|
|
|
**Default:** None
|
|
|
|
##### show_scale_grid
|
|
|
|
Whether or not to show a scale grid in the 3D modeling view
|
|
|
|
|
|
**Default:** None
|
|
|
|
|
|
#### text_editor
|
|
|
|
Settings that affect the behavior of the KCL text editor.
|
|
|
|
|
|
**Default:** None
|
|
|
|
This setting has the following nested options:
|
|
|
|
##### text_wrapping
|
|
|
|
Whether to wrap text in the editor or overflow with scroll.
|
|
|
|
|
|
**Default:** None
|
|
|
|
##### blinking_cursor
|
|
|
|
Whether to make the cursor blink in the editor.
|
|
|
|
|
|
**Default:** None
|
|
|
|
|
|
#### project
|
|
|
|
Settings that affect the behavior of project management.
|
|
|
|
|
|
**Default:** None
|
|
|
|
This setting has the following nested options:
|
|
|
|
##### directory
|
|
|
|
The directory to save and load projects from.
|
|
|
|
|
|
**Default:** None
|
|
|
|
##### default_project_name
|
|
|
|
The default project name to use when creating a new project.
|
|
|
|
|
|
**Default:** None
|
|
|
|
|
|
#### command_bar
|
|
|
|
Settings that affect the behavior of the command bar.
|
|
|
|
|
|
**Default:** None
|
|
|
|
This setting has the following nested options:
|
|
|
|
##### include_settings
|
|
|
|
Whether to include settings in the command bar.
|
|
|
|
|
|
**Default:** None
|
|
|
|
|
|
|
|
|
|
## Complete Example
|
|
|
|
```toml
|
|
[settings.app]
|
|
# Set the appearance of the application
|
|
[settings.app.appearance]
|
|
# Use dark mode theme
|
|
theme = "dark"
|
|
# Set the app color to blue (240.0 = blue, 0.0 = red, 120.0 = green)
|
|
color = 240.0
|
|
|
|
[settings.modeling]
|
|
# Use millimeters as the default measurement unit
|
|
base_unit = "mm"
|
|
|
|
[settings.text_editor]
|
|
# Disable text wrapping in the editor
|
|
text_wrapping = false
|
|
|
|
```
|