kcl → settings

User Settings

User Settings

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

[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 modeling app.

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

project_directory

Backwards compatible project directory setting.

Default: None

theme

Backwards compatible theme setting.

Default: None

theme_color

The hue of the primary theme color for the app.

Default: None

enable_ssao

Whether or not Screen Space Ambient Occlusion (SSAO) is enabled.

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, and this is true, the stream will be torn down.

Default: None

allow_orbit_in_sketch_mode

When the user is idle, and this is true, the stream will be torn down.

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

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

show_debug_panel

Whether to show the debug panel, which lets you see various states of the app to aid in development. Remove this when we remove backwards compatibility with the old settings file.

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

[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