Better, faster typo checker (#6716)

* Fix typo 'horizonal'

* Fix typos

* Fix more typos

* Fix more typos

* Update CI action

* Fix typos

* Update src/lang/queryAst.test.ts

Co-authored-by: Jonathan Tran <jonnytran@gmail.com>

* Update src/lang/queryAst.test.ts

Co-authored-by: Jonathan Tran <jonnytran@gmail.com>

* Update typos

* Update snap

---------

Co-authored-by: Jonathan Tran <jonnytran@gmail.com>
This commit is contained in:
Adam Chalmers
2025-05-07 12:48:23 -05:00
committed by GitHub
parent 998dbdc6ff
commit f938364d54
33 changed files with 629 additions and 751 deletions

View File

@ -171,13 +171,8 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
- name: Install codespell
run: |
python -m pip install codespell
- name: Run codespell
run: codespell --config .codespellrc # Edit this file to tweak the typo list and other configuration.
uses: crate-ci/typos@v1.32.0
npm-unit-test-kcl-samples:
runs-on: ubuntu-latest

39
_typos.toml Normal file
View File

@ -0,0 +1,39 @@
[files]
extend-exclude = [
"**/target",
"node_modules",
"build",
"dist",
"out",
"**/Cargo.lock",
"docs/**/*.md",
"docs/**/*.json",
"e2e/playwright/lib/console-error-whitelist.ts",
".package-lock.json",
"**/package-lock.json",
"openapi/*.json",
"packages/codemirror-lang-kcl/test/all.test.ts",
"public/kcl-samples",
"rust/kcl-lib/tests/kcl_samples",
"tsconfig.tsbuildinfo",
"src/lib/machine-api.d.ts",
"kcl-book/book",
]
[default.extend-words]
metalness = "metalness" # appearance API
Hom = "Hom" # short for homogenous
typ = "typ" # used to declare a variable named 'type' which is a reserved keyword in Rust
ue = "ue" # short for UnaryExpression
THRE = "THRE" # Weird bug that wrongly detects THREEjs as a typo
nwo = "nwo" # don't know what this is about tbh
"ot" = "ot" # some abbreviation, idk what
"oe" = "oe" # some abbreviation, idk what
[default]
extend-ignore-identifiers-re = [
"\\dnd", # e.g. 2nd
]
extend-ignore-re = [
"@xstate-layout .*",
]

View File

@ -1,11 +1,11 @@
---
title: "patternCircular2d"
subtitle: "Function in std::sketch"
excerpt: "Repeat a 2-dimensional sketch some number of times along a partial or complete circle some specified number of times. Each object may additionally be rotated along the circle, ensuring orentation of the solid with respect to the center of the circle is maintained."
excerpt: "Repeat a 2-dimensional sketch some number of times along a partial or complete circle some specified number of times. Each object may additionally be rotated along the circle, ensuring orientation of the solid with respect to the center of the circle is maintained."
layout: manual
---
Repeat a 2-dimensional sketch some number of times along a partial or complete circle some specified number of times. Each object may additionally be rotated along the circle, ensuring orentation of the solid with respect to the center of the circle is maintained.
Repeat a 2-dimensional sketch some number of times along a partial or complete circle some specified number of times. Each object may additionally be rotated along the circle, ensuring orientation of the solid with respect to the center of the circle is maintained.
```kcl
patternCircular2d(

View File

@ -1,11 +1,11 @@
---
title: "patternCircular3d"
subtitle: "Function in std::solid"
excerpt: "Repeat a 3-dimensional solid some number of times along a partial or complete circle some specified number of times. Each object may additionally be rotated along the circle, ensuring orentation of the solid with respect to the center of the circle is maintained."
excerpt: "Repeat a 3-dimensional solid some number of times along a partial or complete circle some specified number of times. Each object may additionally be rotated along the circle, ensuring orientation of the solid with respect to the center of the circle is maintained."
layout: manual
---
Repeat a 3-dimensional solid some number of times along a partial or complete circle some specified number of times. Each object may additionally be rotated along the circle, ensuring orentation of the solid with respect to the center of the circle is maintained.
Repeat a 3-dimensional solid some number of times along a partial or complete circle some specified number of times. Each object may additionally be rotated along the circle, ensuring orientation of the solid with respect to the center of the circle is maintained.
```kcl
patternCircular3d(

View File

@ -133833,7 +133833,7 @@
},
{
"name": "patternCircular2d",
"summary": "Repeat a 2-dimensional sketch some number of times along a partial or complete circle some specified number of times. Each object may additionally be rotated along the circle, ensuring orentation of the solid with respect to the center of the circle is maintained.",
"summary": "Repeat a 2-dimensional sketch some number of times along a partial or complete circle some specified number of times. Each object may additionally be rotated along the circle, ensuring orientation of the solid with respect to the center of the circle is maintained.",
"description": "",
"tags": [
"sketch"
@ -145093,7 +145093,7 @@
},
{
"name": "patternCircular3d",
"summary": "Repeat a 3-dimensional solid some number of times along a partial or complete circle some specified number of times. Each object may additionally be rotated along the circle, ensuring orentation of the solid with respect to the center of the circle is maintained.",
"summary": "Repeat a 3-dimensional solid some number of times along a partial or complete circle some specified number of times. Each object may additionally be rotated along the circle, ensuring orientation of the solid with respect to the center of the circle is maintained.",
"description": "",
"tags": [
"solid"

View File

@ -1355,7 +1355,7 @@ sketch001 = startSketchOn(XZ)
const projectLink = page.getByRole('link', { name: 'cube' })
const gizmo = page.locator('[aria-label*=gizmo]')
const resetCameraButton = page.getByRole('button', { name: 'Reset view' })
const locationToHavColor = async (
const locationToHaveColor = async (
position: { x: number; y: number },
color: [number, number, number]
) => {
@ -1374,7 +1374,7 @@ sketch001 = startSketchOn(XZ)
await expect
.poll(
async () =>
locationToHavColor(notTheOrigin, TEST_COLORS.DARK_MODE_PLANE_XZ),
locationToHaveColor(notTheOrigin, TEST_COLORS.DARK_MODE_PLANE_XZ),
{
timeout: 5000,
message: 'XZ plane color is visible',
@ -1397,7 +1397,7 @@ sketch001 = startSketchOn(XZ)
await expect
.poll(
async () =>
locationToHavColor(origin, TEST_COLORS.DARK_MODE_PLANE_XZ),
locationToHaveColor(origin, TEST_COLORS.DARK_MODE_PLANE_XZ),
{
timeout: 3000,
message: 'Plane color should not be visible',
@ -1406,7 +1406,7 @@ sketch001 = startSketchOn(XZ)
.toBeGreaterThan(15)
await expect
.poll(
async () => locationToHavColor(origin, TEST_COLORS.DARK_MODE_BKGD),
async () => locationToHaveColor(origin, TEST_COLORS.DARK_MODE_BKGD),
{
timeout: 3000,
message: 'Background color should not be visible',

View File

@ -22,7 +22,7 @@ test.describe('Onboarding tests', () => {
})
const bracketComment = '// Shelf Bracket'
const tutorialWelcomHeading = page.getByText(
const tutorialWelcomeHeading = page.getByText(
'Welcome to Design Studio! This'
)
const nextButton = page.getByTestId('onboarding-next')
@ -59,7 +59,7 @@ test.describe('Onboarding tests', () => {
await test.step('Create a blank project and verify no onboarding chrome is shown', async () => {
await homePage.goToModelingScene()
await expect(toolbar.projectName).toContainText('testDefault')
await expect(tutorialWelcomHeading).not.toBeVisible()
await expect(tutorialWelcomeHeading).not.toBeVisible()
await editor.expectEditor.toContain('@settings(defaultLengthUnit = in)', {
shouldNormalise: true,
})
@ -91,7 +91,7 @@ test.describe('Onboarding tests', () => {
await test.step('Ensure we see the welcome screen in a new project', async () => {
await expect(toolbar.projectName).toContainText('Tutorial Project 00')
await expect(tutorialWelcomHeading).toBeVisible()
await expect(tutorialWelcomeHeading).toBeVisible()
await editor.expectEditor.toContain(bracketComment)
await scene.connectionEstablished()
await expect(toolbar.startSketchBtn).toBeEnabled({ timeout: 15_000 })
@ -133,7 +133,7 @@ test.describe('Onboarding tests', () => {
await test.step('Makes a new project', async () => {
await expect(toolbar.projectName).toContainText('Tutorial Project 01')
await expect(tutorialWelcomHeading).toBeVisible()
await expect(tutorialWelcomeHeading).toBeVisible()
await editor.expectEditor.toContain(bracketComment)
await scene.connectionEstablished()
await expect(toolbar.startSketchBtn).toBeEnabled({ timeout: 15_000 })
@ -165,7 +165,7 @@ test.describe('Onboarding tests', () => {
await test.step('Makes a new project', async () => {
await expect(toolbar.projectName).toContainText('Tutorial Project 02')
await expect(tutorialWelcomHeading).toBeVisible()
await expect(tutorialWelcomeHeading).toBeVisible()
await editor.expectEditor.toContain(bracketComment)
await scene.connectionEstablished()
await expect(toolbar.startSketchBtn).toBeEnabled({ timeout: 15_000 })

View File

@ -929,7 +929,7 @@ openSketch = startSketchOn(XY)
const firstPointLocation = { x: 200, y: 100 }
const secondPointLocation = { x: 800, y: 100 }
const thirdPointLocation = { x: 800, y: 400 }
const fristSegmentLocation = { x: 750, y: 100 }
const firstSegmentLocation = { x: 750, y: 100 }
const secondSegmentLocation = { x: 800, y: 150 }
const planeLocation = { x: 700, y: 200 }
@ -947,8 +947,8 @@ openSketch = startSketchOn(XY)
thirdPointLocation.y
)
const [clickFirstSegment] = scene.makeMouseHelpers(
fristSegmentLocation.x,
fristSegmentLocation.y
firstSegmentLocation.x,
firstSegmentLocation.y
)
const [clickSecondSegment] = scene.makeMouseHelpers(
secondSegmentLocation.x,
@ -1010,7 +1010,7 @@ openSketch = startSketchOn(XY)
await page.waitForTimeout(timeout)
await scene.expectPixelColor(
edgeColorBlue,
fristSegmentLocation,
firstSegmentLocation,
tolerance
)
await scene.expectPixelColor(
@ -1027,7 +1027,7 @@ openSketch = startSketchOn(XY)
await page.keyboard.up('Shift')
await scene.expectPixelColor(
edgeColorBlue,
fristSegmentLocation,
firstSegmentLocation,
tolerance
)
await scene.expectPixelColor(
@ -1044,7 +1044,7 @@ openSketch = startSketchOn(XY)
await page.keyboard.up('Shift')
await scene.expectPixelColor(
edgeColorWhite,
fristSegmentLocation,
firstSegmentLocation,
tolerance
)
await scene.expectPixelColor(
@ -1061,7 +1061,7 @@ openSketch = startSketchOn(XY)
await page.keyboard.up('Shift')
await scene.expectPixelColor(
edgeColorWhite,
fristSegmentLocation,
firstSegmentLocation,
tolerance
)
await scene.expectPixelColor(
@ -3902,7 +3902,7 @@ extrude001 = extrude(profile001, length = 100)
await scene.expectPixelColor(initialColor, testPoint, tolerance)
})
async function setApperanceAndCheck(
async function setAppearanceAndCheck(
option: string,
hex: string,
shapeColor?: [number, number, number]
@ -3975,18 +3975,18 @@ extrude001 = extrude(profile001, length = 100)
}
await test.step(`Go through the Set Appearance flow for all options`, async () => {
await setApperanceAndCheck('Red', '#FF0000', [180, 30, 30])
await setAppearanceAndCheck('Red', '#FF0000', [180, 30, 30])
// Not checking the scene color every time cause that's not really deterministic. Red seems reliable though
await setApperanceAndCheck('Green', '#00FF00')
await setApperanceAndCheck('Blue', '#0000FF')
await setApperanceAndCheck('Turquoise', '#00FFFF')
await setApperanceAndCheck('Purple', '#FF00FF')
await setApperanceAndCheck('Yellow', '#FFFF00')
await setApperanceAndCheck('Black', '#000000')
await setApperanceAndCheck('Dark Grey', '#080808')
await setApperanceAndCheck('Light Grey', '#D3D3D3')
await setApperanceAndCheck('White', '#FFFFFF')
await setApperanceAndCheck(
await setAppearanceAndCheck('Green', '#00FF00')
await setAppearanceAndCheck('Blue', '#0000FF')
await setAppearanceAndCheck('Turquoise', '#00FFFF')
await setAppearanceAndCheck('Purple', '#FF00FF')
await setAppearanceAndCheck('Yellow', '#FFFF00')
await setAppearanceAndCheck('Black', '#000000')
await setAppearanceAndCheck('Dark Grey', '#080808')
await setAppearanceAndCheck('Light Grey', '#D3D3D3')
await setAppearanceAndCheck('White', '#FFFFFF')
await setAppearanceAndCheck(
'Default (clear appearance)',
'default',
initialColor

View File

@ -30,7 +30,7 @@ test(
await fsp.mkdir(myDir)
await fsp.writeFile(
path.join(myDir, DEFAULT_PROJECT_KCL_FILE),
'sca ba be bop de day wawa skee'
'meaningless nonsense here'
)
})().catch(console.error)
}, 5000)
@ -519,7 +519,7 @@ test(
await fsp.mkdir(`${dir}/bracket`, { recursive: true })
await fsp.copyFile(
'rust/kcl-lib/e2e/executor/inputs/focusrite_scarlett_mounting_braket.kcl',
'rust/kcl-lib/e2e/executor/inputs/focusrite_scarlett_mounting_bracket.kcl',
`${dir}/bracket/main.kcl`
)
const _1985 = new Date('1985-01-01T00:02:22')
@ -1112,7 +1112,7 @@ test(
`${dir}/${projectName}/main.kcl`
)
await fsp.copyFile(
'rust/kcl-lib/e2e/executor/inputs/focusrite_scarlett_mounting_braket.kcl',
'rust/kcl-lib/e2e/executor/inputs/focusrite_scarlett_mounting_bracket.kcl',
`${dir}/${projectName}/otherThingToClickOn.kcl`
)
})
@ -1156,7 +1156,7 @@ test(
path.join(dir, 'router-template-slate', 'nested', 'slate.kcl')
)
await fsp.copyFile(
executorInputPath('focusrite_scarlett_mounting_braket.kcl'),
executorInputPath('focusrite_scarlett_mounting_bracket.kcl'),
path.join(dir, 'router-template-slate', 'nested', 'bracket.kcl')
)
testDir = dir
@ -1205,7 +1205,7 @@ test(
async ({ context, page }, testInfo) => {
const projectData = [
['router-template-slate', 'cylinder.kcl'],
['bracket', 'focusrite_scarlett_mounting_braket.kcl'],
['bracket', 'focusrite_scarlett_mounting_bracket.kcl'],
['lego', 'lego.kcl'],
]
@ -1315,7 +1315,7 @@ test(
async ({ context, page }, testInfo) => {
const projectData = [
['router-template-slate', 'cylinder.kcl'],
['bracket', 'focusrite_scarlett_mounting_braket.kcl'],
['bracket', 'focusrite_scarlett_mounting_bracket.kcl'],
['lego', 'lego.kcl'],
]
@ -1539,7 +1539,7 @@ test(
'e2e',
'executor',
'inputs',
'focusrite_scarlett_mounting_braket.kcl'
'focusrite_scarlett_mounting_bracket.kcl'
),
path.join(dir, 'bracket', 'main.kcl')
)
@ -1644,7 +1644,7 @@ test(
`${dir}/router-template-slate/main.kcl`
),
fsp.copyFile(
'rust/kcl-lib/e2e/executor/inputs/focusrite_scarlett_mounting_braket.kcl',
'rust/kcl-lib/e2e/executor/inputs/focusrite_scarlett_mounting_bracket.kcl',
`${dir}/bracket/main.kcl`
),
])
@ -1737,7 +1737,7 @@ test(
{ tag: '@electron' },
async ({ context, page }, testInfo) => {
const projectData = [
['basic bracket', 'focusrite_scarlett_mounting_braket.kcl'],
['basic bracket', 'focusrite_scarlett_mounting_bracket.kcl'],
['basic-cube', 'basic_fillet_cube_end.kcl'],
['basic-cylinder', 'cylinder.kcl'],
['router-template-slate', 'router-template-slate.kcl'],
@ -1819,7 +1819,7 @@ test(
'extrude-inside-fn-with-tags.kcl',
'fillet-and-shell.kcl',
'fillet_duplicate_tags.kcl',
'focusrite_scarlett_mounting_braket.kcl',
'focusrite_scarlett_mounting_bracket.kcl',
'function_sketch.kcl',
'function_sketch_with_position.kcl',
'global-tags.kcl',
@ -2026,10 +2026,10 @@ test(
{ tag: '@electron' },
async ({ context, page }, testInfo) => {
await context.folderSetupFn(async (dir) => {
const bracketDir = path.join(dir, 'اَلْعَرَبِيَّةُ')
const bracketDir = path.join(dir, 'العربية')
await fsp.mkdir(bracketDir, { recursive: true })
await fsp.copyFile(
executorInputPath('focusrite_scarlett_mounting_braket.kcl'),
executorInputPath('focusrite_scarlett_mounting_bracket.kcl'),
path.join(bracketDir, 'main.kcl')
)
@ -2043,11 +2043,11 @@ test(
const pointOnModel = { x: 630, y: 280 }
await test.step('Opening the اَلْعَرَبِيَّةُ project should load the stream', async () => {
await test.step('Opening the العربية project should load the stream', async () => {
// expect to see the text bracket
await expect(page.getByText('اَلْعَرَبِيَّةُ')).toBeVisible()
await expect(page.getByText('العربية')).toBeVisible()
await page.getByText('اَلْعَرَبِيَّةُ').click()
await page.getByText('العربية').click()
await expect(
page.getByRole('button', { name: 'Start Sketch' })

View File

@ -600,7 +600,7 @@ sketch001 = startSketchOn(XZ)
await expect(page.getByTestId('segment-overlay')).toHaveCount(2)
// drag startProfieAt handle
// drag startProfileAt handle
await page.dragAndDrop('#stream', '#stream', {
sourcePosition: { x: startPX[0], y: startPX[1] },
targetPosition: { x: startPX[0] + dragPX, y: startPX[1] + dragPX },
@ -3165,7 +3165,7 @@ test.describe('Redirecting to home page and back to the original file should cle
await click00r(0, 100)
await click00r(100, 0)
// draw a line to opposite tangnet direction of previous arc
// draw a line to opposite tangent direction of previous arc
await toolbar.selectLine()
await click00r(0, 0)
await click00r(-200, 200)
@ -3457,7 +3457,7 @@ profile003 = startProfile(sketch002, at = [-201.08, 254.17])
// wait for scene to load
await scene.settled(cmdBar)
await test.step('check chamfer selection changes cursor positon', async () => {
await test.step('check chamfer selection changes cursor position', async () => {
await expect(async () => {
// sometimes initial click doesn't register
await objClick()

View File

@ -370,7 +370,7 @@ test.describe('Testing Camera Movement', () => {
})
const userSettingsTab = page.getByRole('radio', { name: 'User' })
const mouseControlsSetting = () => page.locator('#camera-controls').first()
const mouseControlSuccesToast = page.getByText(
const mouseControlSuccessToast = page.getByText(
'Set mouse controls to "Solidworks"'
)
const settingsCloseButton = page.getByTestId('settings-close-button')
@ -407,7 +407,7 @@ test.describe('Testing Camera Movement', () => {
'Solidworks',
{ timeout: 120_000 }
)
await expect(mouseControlSuccesToast).toBeVisible()
await expect(mouseControlSuccessToast).toBeVisible()
await settingsCloseButton.click()
})
})

View File

@ -652,7 +652,7 @@ test.describe(
`Set default unit to "${unitOfMeasure}" for this project`
)
// Assert visibility and disapperance
// Assert visibility and disappearance
await expect(toastMessage).toBeVisible()
await expect(toastMessage).not.toBeVisible()
})

View File

@ -93,7 +93,7 @@ async fn main() -> Result<()> {
};
// Format fields using the provided closure.
// We want to make this very consise otherwise the logs are not able to be read by humans.
// We want to make this very concise otherwise the logs are not able to be read by humans.
let format = tracing_subscriber::fmt::format::debug_fn(|writer, field, value| {
if format!("{}", field) == "message" {
write!(writer, "{}: {:?}", field, value)

View File

@ -85,7 +85,7 @@ async fn main() -> Result<()> {
};
// Format fields using the provided closure.
// We want to make this very consise otherwise the logs are not able to be read by humans.
// We want to make this very concise otherwise the logs are not able to be read by humans.
let format = tracing_subscriber::fmt::format::debug_fn(|writer, field, value| {
if format!("{}", field) == "message" {
write!(writer, "{}: {:?}", field, value)

View File

@ -18,77 +18,77 @@ svg = startSketchOn(XY)
|> line(endAbsolute = [17.64, -3.36]) // HorizontalLineAbsolute
|> line(endAbsolute = [17.64, -4.2]) // VerticalLineAbsolute
|> line(endAbsolute = [18.48, -4.2]) // HorizontalLineRelative
|> line(endAbsolute = [18.48, -5.04]) // VerticalLineHorizonal
|> line(endAbsolute = [18.48, -5.04]) // VerticalLineHorizontal
|> line(endAbsolute = [19.32, -5.04]) // HorizontalLineRelative
|> line(endAbsolute = [19.32, -5.88]) // VerticalLineHorizonal
|> line(endAbsolute = [19.32, -5.88]) // VerticalLineHorizontal
|> line(endAbsolute = [20.16, -5.88]) // HorizontalLineRelative
|> line(endAbsolute = [20.16, -6.72]) // VerticalLineAbsolute
|> line(endAbsolute = [21, -6.72]) // HorizontalLineAbsolute
|> line(endAbsolute = [21, -24.36]) // VerticalLineHorizonal
|> line(endAbsolute = [21, -24.36]) // VerticalLineHorizontal
|> line(endAbsolute = [20.16, -24.36]) // HorizontalLineRelative
|> line(endAbsolute = [20.16, -25.2]) // VerticalLineHorizonal
|> line(endAbsolute = [20.16, -25.2]) // VerticalLineHorizontal
|> line(endAbsolute = [18.48, -25.2]) // HorizontalLineRelative
|> line(endAbsolute = [18.48, -26.04]) // VerticalLineHorizonal
|> line(endAbsolute = [18.48, -26.04]) // VerticalLineHorizontal
|> line(endAbsolute = [15.96, -26.04]) // HorizontalLineRelative
|> line(endAbsolute = [15.96, -26.88]) // VerticalLineHorizonal
|> line(endAbsolute = [15.96, -26.88]) // VerticalLineHorizontal
|> line(endAbsolute = [16.8, -26.88]) // HorizontalLineRelative
|> line(endAbsolute = [16.8, -28.56]) // VerticalLineHorizonal
|> line(endAbsolute = [16.8, -28.56]) // VerticalLineHorizontal
|> line(endAbsolute = [11.76, -28.56]) // HorizontalLineAbsolute
|> line(endAbsolute = [11.76, -26.88]) // VerticalLineAbsolute
|> line(endAbsolute = [12.6, -26.88]) // HorizontalLineAbsolute
|> line(endAbsolute = [12.6, -26.04]) // VerticalLineAbsolute
|> line(endAbsolute = [8.4, -26.04]) // HorizontalLineAbsolute
|> line(endAbsolute = [8.4, -26.88]) // VerticalLineHorizonal
|> line(endAbsolute = [8.4, -26.88]) // VerticalLineHorizontal
|> line(endAbsolute = [9.24, -26.88]) // HorizontalLineRelative
|> line(endAbsolute = [9.24, -28.56]) // VerticalLineHorizonal
|> line(endAbsolute = [9.24, -28.56]) // VerticalLineHorizontal
|> line(endAbsolute = [4.2, -28.56]) // HorizontalLineAbsolute
|> line(endAbsolute = [4.2, -26.88]) // VerticalLineHorizonal
|> line(endAbsolute = [4.2, -26.88]) // VerticalLineHorizontal
|> line(endAbsolute = [5.04, -26.88]) // HorizontalLineRelative
|> line(endAbsolute = [5.04, -26.04]) // VerticalLineHorizonal
|> line(endAbsolute = [5.04, -26.04]) // VerticalLineHorizontal
|> line(endAbsolute = [0.839996, -20.58]) // MoveRelative
|> line(endAbsolute = [0.839996, -24.36]) // VerticalLineHorizonal
|> line(endAbsolute = [0.839996, -24.36]) // VerticalLineHorizontal
|> line(endAbsolute = [2.52, -24.36]) // HorizontalLineAbsolute
|> line(endAbsolute = [2.52, -25.2]) // VerticalLineHorizonal
|> line(endAbsolute = [2.52, -25.2]) // VerticalLineHorizontal
|> line(endAbsolute = [18.48, -25.2]) // HorizontalLineRelative
|> line(endAbsolute = [18.48, -24.36]) // VerticalLineHorizonal
|> line(endAbsolute = [18.48, -24.36]) // VerticalLineHorizontal
|> line(endAbsolute = [20.16, -24.36]) // HorizontalLineRelative
|> line(endAbsolute = [20.16, -20.58]) // VerticalLineAbsolute
// StopAbsolute
|> line(endAbsolute = [7.56, -24.36]) // MoveAbsolute
|> line(endAbsolute = [7.56, -22.68]) // VerticalLineHorizonal
|> line(endAbsolute = [7.56, -22.68]) // VerticalLineHorizontal
|> line(endAbsolute = [13.44, -22.68]) // HorizontalLineRelative
|> line(endAbsolute = [13.44, -24.36]) // VerticalLineHorizonal
|> line(endAbsolute = [13.44, -24.36]) // VerticalLineHorizontal
|> line(endAbsolute = [1.68, -22.68]) // MoveRelative
|> line(endAbsolute = [1.68, -21.84]) // VerticalLineHorizonal
|> line(endAbsolute = [1.68, -21.84]) // VerticalLineHorizontal
|> line(endAbsolute = [5.88, -21.84]) // HorizontalLineRelative
|> line(endAbsolute = [5.88, -22.68]) // VerticalLineHorizonal
|> line(endAbsolute = [5.88, -22.68]) // VerticalLineHorizontal
|> line(endAbsolute = [3.36, -24.36]) // MoveRelative
|> line(endAbsolute = [3.36, -23.52]) // VerticalLineHorizonal
|> line(endAbsolute = [3.36, -23.52]) // VerticalLineHorizontal
|> line(endAbsolute = [5.88, -23.52]) // HorizontalLineRelative
|> line(endAbsolute = [5.88, -24.36]) // VerticalLineHorizonal
|> line(endAbsolute = [5.88, -24.36]) // VerticalLineHorizontal
|> line(endAbsolute = [15.12, -22.68]) // MoveRelative
|> line(endAbsolute = [15.12, -21.84]) // VerticalLineHorizonal
|> line(endAbsolute = [15.12, -21.84]) // VerticalLineHorizontal
|> line(endAbsolute = [15.959999999999999, -21.84]) // HorizontalLineRelative
|> line(endAbsolute = [15.959999999999999, -22.68]) // VerticalLineHorizonal
|> line(endAbsolute = [15.959999999999999, -22.68]) // VerticalLineHorizontal
|> line(endAbsolute = [16.8, -22.68]) // MoveRelative
|> line(endAbsolute = [16.8, -21.84]) // VerticalLineHorizonal
|> line(endAbsolute = [16.8, -21.84]) // VerticalLineHorizontal
|> line(endAbsolute = [17.64, -21.84]) // HorizontalLineRelative
|> line(endAbsolute = [17.64, -22.68]) // VerticalLineHorizonal
|> line(endAbsolute = [17.64, -22.68]) // VerticalLineHorizontal
|> line(endAbsolute = [18.48, -22.68]) // MoveRelative
|> line(endAbsolute = [18.48, -21.84]) // VerticalLineHorizonal
|> line(endAbsolute = [18.48, -21.84]) // VerticalLineHorizontal
|> line(endAbsolute = [19.32, -21.84]) // HorizontalLineRelative
|> line(endAbsolute = [19.32, -22.68]) // VerticalLineHorizonal
|> line(endAbsolute = [19.32, -22.68]) // VerticalLineHorizontal
|> line(endAbsolute = [15.12, -24.36]) // MoveRelative
|> line(endAbsolute = [15.12, -23.52]) // VerticalLineHorizonal
|> line(endAbsolute = [15.12, -23.52]) // VerticalLineHorizontal
|> line(endAbsolute = [17.64, -23.52]) // HorizontalLineRelative
|> line(endAbsolute = [17.64, -24.36]) // VerticalLineHorizonal
|> line(endAbsolute = [17.64, -24.36]) // VerticalLineHorizontal
|> line(endAbsolute = [18.48, -5.88]) // MoveAbsolute
|> line(endAbsolute = [18.48, -5.04]) // VerticalLineAbsolute
@ -117,37 +117,37 @@ svg = startSketchOn(XY)
|> line(endAbsolute = [17.64, -9.24001]) // HorizontalLineAbsolute
|> line(endAbsolute = [17.64, -10.08]) // VerticalLineAbsolute
|> line(endAbsolute = [18.48, -10.08]) // HorizontalLineRelative
|> line(endAbsolute = [18.48, -16.8]) // VerticalLineHorizonal
|> line(endAbsolute = [18.48, -16.8]) // VerticalLineHorizontal
|> line(endAbsolute = [17.64, -16.8]) // HorizontalLineRelative
|> line(endAbsolute = [17.64, -17.64]) // VerticalLineHorizonal
|> line(endAbsolute = [17.64, -17.64]) // VerticalLineHorizontal
|> line(endAbsolute = [3.36, -17.64]) // HorizontalLineAbsolute
|> line(endAbsolute = [3.36, -16.8]) // VerticalLineAbsolute
|> line(endAbsolute = [2.52, -16.8]) // HorizontalLineAbsolute
|> line(endAbsolute = [2.52, -10.080000000000002]) // VerticalLineHorizonal
|> line(endAbsolute = [2.52, -10.080000000000002]) // VerticalLineHorizontal
|> line(endAbsolute = [13.44, -10.92]) // MoveRelative
|> line(endAbsolute = [13.44, -10.08]) // VerticalLineHorizonal
|> line(endAbsolute = [13.44, -10.08]) // VerticalLineHorizontal
|> line(endAbsolute = [15.12, -10.08]) // HorizontalLineRelative
|> line(endAbsolute = [15.12, -13.44]) // VerticalLineHorizonal
|> line(endAbsolute = [15.12, -13.44]) // VerticalLineHorizontal
|> line(endAbsolute = [14.28, -13.44]) // HorizontalLineRelative
|> line(endAbsolute = [9.24, -13.44]) // MoveRelative
|> line(endAbsolute = [11.76, -13.44]) // HorizontalLineRelative
|> line(endAbsolute = [11.76, -14.28]) // VerticalLineHorizonal
|> line(endAbsolute = [11.76, -14.28]) // VerticalLineHorizontal
|> line(endAbsolute = [10.92, -14.28]) // HorizontalLineRelative here
|> line(endAbsolute = [10.92, -15.959999999999999]) // VerticalLineHorizonal
|> line(endAbsolute = [10.92, -15.959999999999999]) // VerticalLineHorizontal
|> line(endAbsolute = [13.44, -15.959999999999999]) // HorizontalLineRelative
|> line(endAbsolute = [13.44, -15.12]) // VerticalLineHorizonal
|> line(endAbsolute = [13.44, -15.12]) // VerticalLineHorizontal
|> line(endAbsolute = [14.28, -15.12]) // HorizontalLineRelative
|> line(endAbsolute = [14.28, -15.959999999999999]) // VerticalLineHorizonal
|> line(endAbsolute = [14.28, -15.959999999999999]) // VerticalLineHorizontal
|> line(endAbsolute = [13.44, -15.959999999999999]) // HorizontalLineAbsolute
|> line(endAbsolute = [13.44, -16.8]) // VerticalLineAbsolute
|> line(endAbsolute = [7.56, -16.8]) // HorizontalLineAbsolute
|> line(endAbsolute = [7.56, -15.96]) // VerticalLineAbsolute
|> line(endAbsolute = [6.72, -15.96]) // HorizontalLineAbsolute
|> line(endAbsolute = [6.72, -15.120000000000001]) // VerticalLineHorizonal
|> line(endAbsolute = [6.72, -15.120000000000001]) // VerticalLineHorizontal
|> line(endAbsolute = [7.56, -15.120000000000001]) // HorizontalLineRelative
|> line(endAbsolute = [7.56, -15.96]) // VerticalLineHorizonal
|> line(endAbsolute = [7.56, -15.96]) // VerticalLineHorizontal
|> line(endAbsolute = [10.08, -15.96]) // HorizontalLineRelative
|> line(endAbsolute = [10.08, -14.28]) // VerticalLineAbsolute
|> line(endAbsolute = [9.24, -14.28]) // HorizontalLineAbsolute
@ -157,13 +157,13 @@ svg = startSketchOn(XY)
|> line(endAbsolute = [5.04, -11.76]) // HorizontalLineAbsolute
|> line(endAbsolute = [5.04, -12.6]) // VerticalLineAbsolute
|> line(endAbsolute = [4.2, -12.6]) // HorizontalLineAbsolute
|> line(endAbsolute = [4.2, -11.76]) // VerticalLineHorizonal
|> line(endAbsolute = [4.2, -11.76]) // VerticalLineHorizontal
|> line(endAbsolute = [5.04, -11.76]) // HorizontalLineRelative
|> line(endAbsolute = [5.04, -10.92]) // VerticalLineHorizonal
|> line(endAbsolute = [5.04, -10.92]) // VerticalLineHorizontal
|> line(endAbsolute = [7.5600000000000005, -10.92]) // HorizontalLineRelative
|> line(endAbsolute = [7.5600000000000005, -11.76]) // VerticalLineHorizonal
|> line(endAbsolute = [7.5600000000000005, -11.76]) // VerticalLineHorizontal
|> line(endAbsolute = [8.4, -11.76]) // HorizontalLineAbsolute
|> line(endAbsolute = [8.4, -12.6]) // VerticalLineHorizonal
|> line(endAbsolute = [8.4, -12.6]) // VerticalLineHorizontal
|> line(endAbsolute = [3.36, -5.88]) // MoveAbsolute
|> line(endAbsolute = [3.36, -5.04]) // VerticalLineAbsolute
@ -178,9 +178,9 @@ svg = startSketchOn(XY)
|> line(endAbsolute = [7.56, -1.68]) // HorizontalLineAbsolute
|> line(endAbsolute = [7.56, -3.36]) // VerticalLineAbsolute
|> line(endAbsolute = [8.4, -3.36]) // HorizontalLineAbsolute
|> line(endAbsolute = [8.4, -5.04]) // VerticalLineHorizonal
|> line(endAbsolute = [8.4, -5.04]) // VerticalLineHorizontal
|> line(endAbsolute = [9.24, -5.04]) // HorizontalLineRelative
|> line(endAbsolute = [9.24, -5.88]) // VerticalLineHorizonal
|> line(endAbsolute = [9.24, -5.88]) // VerticalLineHorizontal
|> line(endAbsolute = [17.64, -5.04]) // MoveAbsolute
|> line(endAbsolute = [17.64, -5.88]) // VerticalLineAbsolute
@ -195,16 +195,16 @@ svg = startSketchOn(XY)
|> line(endAbsolute = [15.12, -0.83999599]) // HorizontalLineRelative
|> line(endAbsolute = [15.12, -1.68]) // VerticalLineAbsolute
|> line(endAbsolute = [15.959999999999999, -1.68]) // HorizontalLineRelative
|> line(endAbsolute = [15.959999999999999, -3.36]) // VerticalLineHorizonal
|> line(endAbsolute = [15.959999999999999, -3.36]) // VerticalLineHorizontal
|> line(endAbsolute = [16.8, -3.36]) // HorizontalLineRelative
|> line(endAbsolute = [16.8, -5.04]) // VerticalLineHorizonal
|> line(endAbsolute = [16.8, -5.04]) // VerticalLineHorizontal
|> line(endAbsolute = [13.44, -1.68]) // MoveAbsolute
|> line(endAbsolute = [13.44, -0]) // VerticalLineAbsolute
|> line(endAbsolute = [15.959999999999999, -0]) // HorizontalLineRelative
|> line(endAbsolute = [15.959999999999999, -1.68]) // VerticalLineHorizonal
|> line(endAbsolute = [15.959999999999999, -1.68]) // VerticalLineHorizontal
|> line(endAbsolute = [16.8, -1.68]) // HorizontalLineRelative
|> line(endAbsolute = [16.8, -3.36]) // VerticalLineHorizonal
|> line(endAbsolute = [16.8, -3.36]) // VerticalLineHorizontal
|> line(endAbsolute = [17.64, -3.36]) // HorizontalLineRelative
|> line(endAbsolute = [17.64, -4.62]) // VerticalLineAbsolute
|> line(endAbsolute = [16.8, -4.62]) // HorizontalLineAbsolute
@ -254,9 +254,9 @@ svg = startSketchOn(XY)
|> line(endAbsolute = [14.28, -5.04]) // HorizontalLineRelative
|> line(endAbsolute = [14.28, -4.2]) // VerticalLineAbsolute
|> line(endAbsolute = [15.12, -4.2]) // HorizontalLineRelative
|> line(endAbsolute = [15.12, -5.04]) // VerticalLineHorizonal
|> line(endAbsolute = [15.12, -5.04]) // VerticalLineHorizontal
|> line(endAbsolute = [15.959999999999999, -5.04]) // HorizontalLineRelative
|> line(endAbsolute = [15.959999999999999, -5.88]) // VerticalLineHorizonal
|> line(endAbsolute = [15.959999999999999, -5.88]) // VerticalLineHorizontal
|> line(endAbsolute = [5.88, -5.04]) // MoveAbsolute
|> line(endAbsolute = [5.88, -4.2]) // VerticalLineAbsolute
@ -272,9 +272,9 @@ svg = startSketchOn(XY)
|> line(endAbsolute = [16.8, -5.04]) // HorizontalLineAbsolute
|> line(endAbsolute = [16.8, -4.2]) // VerticalLineAbsolute
|> line(endAbsolute = [17.64, -4.2]) // HorizontalLineRelative
|> line(endAbsolute = [17.64, -5.04]) // VerticalLineHorizonal
|> line(endAbsolute = [17.64, -5.04]) // VerticalLineHorizontal
|> line(endAbsolute = [18.48, -5.04]) // HorizontalLineRelative
|> line(endAbsolute = [18.48, -5.88]) // VerticalLineHorizonal
|> line(endAbsolute = [18.48, -5.88]) // VerticalLineHorizontal
|> line(endAbsolute = [3.36, -5.04]) // MoveAbsolute
|> line(endAbsolute = [3.36, -5.88]) // VerticalLineAbsolute
@ -283,11 +283,11 @@ svg = startSketchOn(XY)
|> line(endAbsolute = [3.36, -5.04]) // HorizontalLineAbsolute
|> line(endAbsolute = [3.36, -4.2]) // VerticalLineAbsolute
|> line(endAbsolute = [4.2, -4.2]) // HorizontalLineAbsolute
|> line(endAbsolute = [4.2, -5.04]) // VerticalLineHorizonal
|> line(endAbsolute = [4.2, -5.04]) // VerticalLineHorizontal
|> line(endAbsolute = [8.4, -4.2]) // MoveRelative
|> line(endAbsolute = [9.24, -4.2]) // HorizontalLineRelative
|> line(endAbsolute = [9.24, -5.04]) // VerticalLineHorizonal
|> line(endAbsolute = [9.24, -5.04]) // VerticalLineHorizontal
|> line(endAbsolute = [10.08, -5.04]) // HorizontalLineRelative
|> line(endAbsolute = [10.08, -5.88]) // VerticalLineAbsolute
|> line(endAbsolute = [9.24, -5.88]) // HorizontalLineAbsolute
@ -305,7 +305,7 @@ svg = startSketchOn(XY)
|> line(endAbsolute = [14.28, -10.92]) // MoveRelative
|> line(endAbsolute = [13.44, -10.92]) // HorizontalLineRelative
|> line(endAbsolute = [13.44, -13.44]) // VerticalLineHorizonal
|> line(endAbsolute = [13.44, -13.44]) // VerticalLineHorizontal
|> line(endAbsolute = [14.28, -13.44]) // HorizontalLineRelative
|> close()
|> extrude(length = 1)

View File

@ -12,7 +12,7 @@ svg = startSketchOn(XY)
|> bezierCurve(control1 = [41.125163, -79.516435], control2 = [35.794902, -82.039475], end = [35.794902, -82.039475]) // CubicBezierRelative
|> bezierCurve(control1 = [49.687663, -72.766435], control2 = [45.867323, -76.907555], end = [45.867323, -76.907555]) // CubicBezierRelative
|> line(endAbsolute = [50.687663, -69.766435]) // LineRelative
|> line(endAbsolute = [50.687663, -62.766435]) // VerticalLineHorizonal
|> line(endAbsolute = [50.687663, -62.766435]) // VerticalLineHorizontal
|> line(endAbsolute = [48.687663, -57.891435]) // LineRelative
|> bezierCurve(control1 = [46.351725, -31.692225], control2 = [46.191183, -48.997725], end = [46.295503000000004, -40.884555000000006]) // CubicBezierRelative
|> bezierCurve(control1 = [47.7736, -20.934404999999998], control2 = [46.687663, -25.766435], end = [46.687663, -25.766435]) // CubicBezierRelative
@ -35,7 +35,7 @@ svg = startSketchOn(XY)
|> bezierCurve(control1 = [150.68767, -36.766435], control2 = [149.97673, -41.121905], end = [149.97673, -41.121905]) // CubicBezierRelative
|> bezierCurve(control1 = [158.68767, -30.766435], control2 = [154.62517, -32.891435], end = [154.62517, -32.891435]) // CubicBezierRelative
|> line(endAbsolute = [160.68767, -26.766435]) // LineRelative
|> line(endAbsolute = [160.68767, -20.766435]) // VerticalLineHorizonal
|> line(endAbsolute = [160.68767, -20.766435]) // VerticalLineHorizontal
|> bezierCurve(control1 = [149.68767, -9.8289351], control2 = [157.40521999999999, -16.321455], end = [154.13992, -13.098555000000001]) // CubicBezierRelative
|> bezierCurve(control1 = [145.68767, -7.766435100000001], control2 = [148.36767, -9.148315100000001], end = [147.04767, -8.4676851]) // CubicBezierRelative
|> bezierCurve(control1 = [116.68767, -9.7664351], control2 = [135.27527, -6.278955100000001], end = [126.6914, -6.2357151]) // CubicBezierRelative
@ -50,7 +50,7 @@ svg = startSketchOn(XY)
|> bezierCurve(control1 = [69.562663, -67.203935], control2 = [64.985029, -67.361225], end = [64.985029, -67.361225]) // CubicBezierRelative
|> bezierCurve(control1 = [74.17985, -67.199935], control2 = [71.84817100000001, -67.201935], end = [71.84817100000001, -67.201935]) // CubicBezierRelative
|> bezierCurve(control1 = [86.687663, -63.766335], control2 = [78.823333, -66.75328499999999], end = [82.418032, -65.599655]) // CubicBezierRelative
|> line(endAbsolute = [86.687663, -61.766335]) // VerticalLineHorizonal
|> line(endAbsolute = [86.687663, -61.766335]) // VerticalLineHorizontal
|> line(endAbsolute = [90.687663, -60.766335]) // LineRelative
|> line(endAbsolute = [95.687663, -56.766335]) // LineRelative
|> line(endAbsolute = [98.687663, -49.766335]) // LineRelative
@ -71,7 +71,7 @@ svg = startSketchOn(XY)
|> bezierCurve(control1 = [234.31267000000003, -52.578935], control2 = [239.46591, -50.966755], end = [236.92775, -51.760815]) // CubicBezierRelative
|> bezierCurve(control1 = [227.28923000000003, -54.785975], control2 = [231.99494, -53.307255], end = [229.67720000000003, -54.035585000000005]) // CubicBezierRelative
|> bezierCurve(control1 = [208.68767000000003, -59.766435], control2 = [221.12295000000003, -56.635855], end = [214.94597000000005, -58.261215]) // CubicBezierRelative
|> line(endAbsolute = [208.68767000000003, -57.766435]) // VerticalLineHorizonal
|> line(endAbsolute = [208.68767000000003, -57.766435]) // VerticalLineHorizontal
|> line(endAbsolute = [212.68767000000003, -55.766435]) // LineRelative
|> bezierCurve(control1 = [217.68767000000003, -48.766435], control2 = [215.57281000000003, -52.830805], end = [215.57281000000003, -52.830805]) // CubicBezierRelative
|> bezierCurve(control1 = [218.68767000000003, -37.766435], control2 = [218.84802000000002, -43.253935], end = [218.84802000000002, -43.253935]) // CubicBezierRelative
@ -106,19 +106,19 @@ svg = startSketchOn(XY)
|> bezierCurve(control1 = [68.68766300000003, -102.76643], control2 = [78.56377900000003, -99.248045], end = [73.64162800000003, -100.78485]) // CubicBezierRelative
|> bezierCurve(control1 = [52.68766300000003, -101.76643], control2 = [63.09091200000003, -102.95723], end = [58.18407400000003, -102.86573]) // CubicBezierRelative
|> line(endAbsolute = [48.68766300000003, -106.76643]) // LineRelative
|> line(endAbsolute = [48.68766300000003, -114.76643]) // VerticalLineHorizonal
|> line(endAbsolute = [48.68766300000003, -114.76643]) // VerticalLineHorizontal
|> line(endAbsolute = [51.68766300000003, -121.76643]) // LineRelative
|> line(endAbsolute = [56.68766300000003, -123.76643]) // LineRelative
|> line(endAbsolute = [61.68766300000003, -123.76643]) // HorizontalLineRelative
|> line(endAbsolute = [64.68766300000003, -118.76643]) // LineRelative
|> line(endAbsolute = [69.68766300000003, -115.76643]) // LineRelative
|> line(endAbsolute = [69.68766300000003, -113.76643]) // VerticalLineHorizonal
|> line(endAbsolute = [69.68766300000003, -113.76643]) // VerticalLineHorizontal
|> line(endAbsolute = [75.68766300000003, -113.76643]) // HorizontalLineRelative
|> line(endAbsolute = [79.68766300000003, -110.76643]) // LineRelative
|> line(endAbsolute = [79.68766300000003, -108.76643]) // VerticalLineHorizonal
|> line(endAbsolute = [79.68766300000003, -108.76643]) // VerticalLineHorizontal
|> line(endAbsolute = [85.68766300000003, -109.76643]) // LineRelative
|> line(endAbsolute = [88.68766300000003, -106.76643]) // LineRelative
|> line(endAbsolute = [88.68766300000003, -102.76643]) // VerticalLineHorizonal
|> line(endAbsolute = [88.68766300000003, -102.76643]) // VerticalLineHorizontal
|> bezierCurve(control1 = [99.68766300000003, -101.76643], control2 = [93.93766300000003, -102.01643], end = [93.93766300000003, -102.01643]) // CubicBezierRelative
|> line(endAbsolute = [103.68767000000003, -105.76643]) // LineRelative
|> line(endAbsolute = [106.68767000000003, -106.76643]) // LineRelative
@ -127,7 +127,7 @@ svg = startSketchOn(XY)
|> line(endAbsolute = [113.68767000000003, -108.76643]) // LineRelative
|> bezierCurve(control1 = [101.68767000000003, -114.76643], control2 = [109.73020000000002, -110.84932], end = [105.72846000000003, -112.85018]) // CubicBezierRelative
|> line(endAbsolute = [97.68766300000003, -118.76643]) // LineRelative
|> line(endAbsolute = [97.68766300000003, -125.76643]) // VerticalLineHorizonal
|> line(endAbsolute = [97.68766300000003, -125.76643]) // VerticalLineHorizontal
|> line(endAbsolute = [101.68767000000003, -128.76643]) // LineRelative
|> bezierCurve(control1 = [115.75017000000003, -126.57893000000001], control2 = [106.58566000000002, -128.61801000000003], end = [110.98125000000003, -127.69757000000001]) // CubicBezierRelative
|> bezierCurve(control1 = [124.93767000000003, -122.01643000000001], control2 = [120.74370000000002, -124.95192000000002], end = [120.74370000000002, -124.95192000000002]) // CubicBezierRelative
@ -135,7 +135,7 @@ svg = startSketchOn(XY)
|> bezierCurve(control1 = [136.68767000000003, -96.76643500000002], control2 = [137.05397000000002, -104.69775000000001], end = [137.05397000000002, -104.69775000000001]) // CubicBezierRelative
|> line(endAbsolute = [135.68767000000003, -95.76643500000002]) // LineRelative
|> line(endAbsolute = [144.68767000000003, -91.76643500000002]) // LineRelative
|> line(endAbsolute = [144.68767000000003, -89.76643500000002]) // VerticalLineHorizonal
|> line(endAbsolute = [144.68767000000003, -89.76643500000002]) // VerticalLineHorizontal
|> bezierCurve(control1 = [149.18767000000003, -88.95393500000002], control2 = [146.91517000000002, -89.36425500000001], end = [146.91517000000002, -89.36425500000001]) // CubicBezierRelative
|> bezierCurve(control1 = [158.81267000000003, -86.20393500000002], control2 = [154.52930000000003, -87.94347500000002], end = [154.52930000000003, -87.94347500000002]) // CubicBezierRelative
|> bezierCurve(control1 = [170.68767000000003, -83.76643500000002], control2 = [162.68767000000003, -84.76643500000002], end = [162.68767000000003, -84.76643500000002]) // CubicBezierRelative
@ -152,7 +152,7 @@ svg = startSketchOn(XY)
|> bezierCurve(control1 = [214.68767000000003, -85.76643500000002], control2 = [216.67209000000003, -98.33796500000001], end = [216.17402, -92.15775500000001]) // CubicBezierRelative
|> line(endAbsolute = [210.68767000000003, -78.76643500000002]) // LineRelative
|> line(endAbsolute = [207.68767000000003, -78.76643500000002]) // HorizontalLineRelative
|> line(endAbsolute = [207.68767000000003, -75.76643500000002]) // VerticalLineHorizonal
|> line(endAbsolute = [207.68767000000003, -75.76643500000002]) // VerticalLineHorizontal
|> line(endAbsolute = [203.68767000000003, -74.76643500000002]) // LineRelative
|> line(endAbsolute = [204.68767000000003, -70.76643500000002]) // LineRelative
|> line(endAbsolute = [209.50017000000003, -70.01643500000002]) // LineRelative
@ -160,10 +160,10 @@ svg = startSketchOn(XY)
|> bezierCurve(control1 = [247.31267000000003, -58.578935000000016], control2 = [233.53624000000002, -62.60005500000001], end = [240.40800000000002, -60.55978500000002]) // CubicBezierRelative
|> bezierCurve(control1 = [277.21111, -48.92659500000001], control2 = [257.37096, -55.63882500000002], end = [267.2794, -52.26503500000001]) // CubicBezierRelative
|> bezierCurve(control1 = [299.68767, -41.766435000000016], control2 = [284.67443000000003, -46.437325000000016], end = [292.16675000000004, -44.07484500000001]) // CubicBezierRelative
|> line(endAbsolute = [299.68767, -39.766435000000016]) // VerticalLineHorizonal
|> line(endAbsolute = [299.68767, -39.766435000000016]) // VerticalLineHorizontal
|> bezierCurve(control1 = [306.50017, -39.328935000000016], control2 = [301.93580000000003, -39.62206500000001], end = [304.18392, -39.477685000000015]) // CubicBezierRelative
|> bezierCurve(control1 = [316.68767, -37.766435000000016], control2 = [313.07319, -39.10529500000001], end = [313.07319, -39.10529500000001]) // CubicBezierRelative
|> line(endAbsolute = [316.68767, -35.766435000000016]) // VerticalLineHorizonal
|> line(endAbsolute = [316.68767, -35.766435000000016]) // VerticalLineHorizontal
|> line(endAbsolute = [320.56267, -35.016435000000016]) // LineRelative
|> bezierCurve(control1 = [335.68767, -29.766435000000016], control2 = [325.89187000000004, -33.71663500000002], end = [330.60815, -31.833685000000017]) // CubicBezierRelative
|> bezierCurve(control1 = [343.56267, -27.266435000000016], control2 = [339.5858, -28.528935000000015], end = [339.5858, -28.528935000000015]) // CubicBezierRelative
@ -201,15 +201,15 @@ svg = startSketchOn(XY)
|> bezierCurve(control1 = [249.75017000000003, -138.07893], control2 = [241.08415000000005, -137.88476], end = [244.90570000000002, -138.13253]) // CubicBezierRelative
|> bezierCurve(control1 = [254.34783000000002, -138.06723000000002], control2 = [251.26740000000004, -138.07493000000002], end = [252.78463000000002, -138.07093]) // CubicBezierRelative
|> bezierCurve(control1 = [265.68767, -135.76644000000002], control2 = [259.20097000000004, -137.88174000000004], end = [259.20097000000004, -137.88174000000004]) // CubicBezierRelative
|> line(endAbsolute = [265.68767, -132.76644000000002]) // VerticalLineHorizonal
|> line(endAbsolute = [265.68767, -132.76644000000002]) // VerticalLineHorizontal
|> line(endAbsolute = [267.68767, -132.76644000000002]) // HorizontalLineRelative
|> bezierCurve(control1 = [268.56267, -122.32894000000002], control2 = [268.96128000000004, -128.41242000000003], end = [268.96128000000004, -128.41242000000003]) // CubicBezierRelative
|> line(endAbsolute = [267.68767, -115.76644000000002]) // LineRelative
|> line(endAbsolute = [262.68767, -110.76644000000002]) // LineRelative
|> line(endAbsolute = [259.68767, -104.76644000000002]) // LineRelative
|> line(endAbsolute = [259.68767, -96.76644500000002]) // VerticalLineHorizonal
|> line(endAbsolute = [259.68767, -96.76644500000002]) // VerticalLineHorizontal
|> line(endAbsolute = [263.68767, -91.76644500000002]) // LineRelative
|> line(endAbsolute = [263.68767, -88.76644500000002]) // VerticalLineHorizonal
|> line(endAbsolute = [263.68767, -88.76644500000002]) // VerticalLineHorizontal
|> line(endAbsolute = [265.68767, -88.76644500000002]) // HorizontalLineRelative
|> bezierCurve(control1 = [265.68767, -74.76644500000002], control2 = [265.77327, -84.10056500000002], end = [265.76887000000005, -79.43241500000002]) // CubicBezierRelative
|> line(endAbsolute = [263.68767, -71.76644500000002]) // LineRelative

View File

@ -489,7 +489,7 @@ shell(firstSketch, faces = [END], thickness = 0.25)"#;
// Changing the edge visibility settings with the exact same file should NOT bust the cache.
#[tokio::test(flavor = "multi_thread")]
async fn test_get_changed_program_same_code_but_different_edge_visiblity_setting() {
async fn test_get_changed_program_same_code_but_different_edge_visibility_setting() {
let new = r#"// Remove the end face for the extrusion.
firstSketch = startSketchOn(XY)
|> startProfile(at = [-12, 12])

View File

@ -2571,17 +2571,17 @@ a = foo()
#[tokio::test(flavor = "multi_thread")]
async fn load_all_modules() {
// program a.kcl
let programa_kcl = r#"
let program_a_kcl = r#"
export a = 1
"#;
// program b.kcl
let programb_kcl = r#"
let program_b_kcl = r#"
import a from 'a.kcl'
export b = a + 1
"#;
// program c.kcl
let programc_kcl = r#"
let program_c_kcl = r#"
import a from 'a.kcl'
export c = a + 2
@ -2611,21 +2611,21 @@ d = b + c
tokio::fs::File::create(tmpdir.path().join("a.kcl"))
.await
.unwrap()
.write_all(programa_kcl.as_bytes())
.write_all(program_a_kcl.as_bytes())
.await
.unwrap();
tokio::fs::File::create(tmpdir.path().join("b.kcl"))
.await
.unwrap()
.write_all(programb_kcl.as_bytes())
.write_all(program_b_kcl.as_bytes())
.await
.unwrap();
tokio::fs::File::create(tmpdir.path().join("c.kcl"))
.await
.unwrap()
.write_all(programc_kcl.as_bytes())
.write_all(program_c_kcl.as_bytes())
.await
.unwrap();

View File

@ -1,156 +0,0 @@
---
source: kcl-lib/src/parsing/parser.rs
expression: actual
---
{
"body": [
{
"commentStart": 1,
"declaration": {
"commentStart": 1,
"end": 126,
"id": {
"commentStart": 1,
"end": 10,
"name": "sketch001",
"start": 1,
"type": "Identifier"
},
"init": {
"body": [
{
"arguments": [
{
"commentStart": 27,
"end": 31,
"raw": "'XY'",
"start": 27,
"type": "Literal",
"type": "Literal",
"value": "XY"
}
],
"callee": {
"abs_path": false,
"commentStart": 13,
"end": 26,
"name": {
"commentStart": 13,
"end": 26,
"name": "startSketchOn",
"start": 13,
"type": "Identifier"
},
"path": [],
"start": 13,
"type": "Name"
},
"commentStart": 13,
"end": 32,
"start": 13,
"type": "CallExpression",
"type": "CallExpression"
},
{
"arguments": [
{
"commentStart": 124,
"end": 125,
"start": 124,
"type": "PipeSubstitution",
"type": "PipeSubstitution"
}
],
"callee": {
"abs_path": false,
"commentStart": 109,
"end": 123,
"name": {
"commentStart": 109,
"end": 123,
"name": "startProfileAt",
"start": 109,
"type": "Identifier"
},
"path": [],
"start": 109,
"type": "Name"
},
"commentStart": 109,
"end": 126,
"start": 109,
"type": "CallExpression",
"type": "CallExpression"
}
],
"commentStart": 13,
"end": 126,
"nonCodeMeta": {
"nonCodeNodes": {
"0": [
{
"commentStart": 35,
"end": 46,
"start": 35,
"type": "NonCodeNode",
"value": {
"type": "blockComment",
"value": "|> arc({",
"style": "line"
}
},
{
"commentStart": 49,
"end": 68,
"start": 49,
"type": "NonCodeNode",
"value": {
"type": "blockComment",
"value": "angleEnd: 270,",
"style": "line"
}
},
{
"commentStart": 71,
"end": 92,
"start": 71,
"type": "NonCodeNode",
"value": {
"type": "blockComment",
"value": "angleStart: 450,",
"style": "line"
}
},
{
"commentStart": 95,
"end": 103,
"start": 95,
"type": "NonCodeNode",
"value": {
"type": "blockComment",
"value": "}, %)",
"style": "line"
}
}
]
},
"startNodes": []
},
"start": 13,
"type": "PipeExpression",
"type": "PipeExpression"
},
"start": 1,
"type": "VariableDeclarator"
},
"end": 126,
"kind": "const",
"start": 1,
"type": "VariableDeclaration",
"type": "VariableDeclaration"
}
],
"commentStart": 0,
"end": 127,
"start": 0
}

View File

@ -1042,7 +1042,7 @@ pub async fn pattern_circular_2d(exec_state: &mut ExecState, args: Args) -> Resu
/// Repeat a 2-dimensional sketch some number of times along a partial or
/// complete circle some specified number of times. Each object may
/// additionally be rotated along the circle, ensuring orentation of the
/// additionally be rotated along the circle, ensuring orientation of the
/// solid with respect to the center of the circle is maintained.
///
/// ```no_run
@ -1159,7 +1159,7 @@ pub async fn pattern_circular_3d(exec_state: &mut ExecState, args: Args) -> Resu
/// Repeat a 3-dimensional solid some number of times along a partial or
/// complete circle some specified number of times. Each object may
/// additionally be rotated along the circle, ensuring orentation of the
/// additionally be rotated along the circle, ensuring orientation of the
/// solid with respect to the center of the circle is maintained.
///
/// ```no_run

View File

@ -20,274 +20,274 @@ flowchart LR
18["Segment<br>[1007, 1040, 0]"]
19["Segment<br>[1070, 1103, 0]"]
20["Segment<br>[1135, 1169, 0]"]
21["Segment<br>[1200, 1234, 0]"]
22["Segment<br>[1266, 1300, 0]"]
23["Segment<br>[1331, 1365, 0]"]
24["Segment<br>[1397, 1431, 0]"]
25["Segment<br>[1461, 1492, 0]"]
26["Segment<br>[1524, 1556, 0]"]
27["Segment<br>[1587, 1622, 0]"]
28["Segment<br>[1654, 1688, 0]"]
29["Segment<br>[1719, 1753, 0]"]
30["Segment<br>[1785, 1820, 0]"]
31["Segment<br>[1851, 1886, 0]"]
32["Segment<br>[1918, 1953, 0]"]
33["Segment<br>[1984, 2018, 0]"]
34["Segment<br>[2050, 2084, 0]"]
35["Segment<br>[2115, 2150, 0]"]
36["Segment<br>[2182, 2217, 0]"]
37["Segment<br>[2247, 2281, 0]"]
38["Segment<br>[2313, 2347, 0]"]
39["Segment<br>[2377, 2410, 0]"]
40["Segment<br>[2442, 2475, 0]"]
41["Segment<br>[2506, 2540, 0]"]
42["Segment<br>[2572, 2606, 0]"]
43["Segment<br>[2637, 2670, 0]"]
44["Segment<br>[2702, 2735, 0]"]
45["Segment<br>[2766, 2800, 0]"]
46["Segment<br>[2832, 2866, 0]"]
47["Segment<br>[2897, 2935, 0]"]
48["Segment<br>[2957, 2995, 0]"]
49["Segment<br>[3026, 3060, 0]"]
50["Segment<br>[3092, 3125, 0]"]
51["Segment<br>[3156, 3190, 0]"]
52["Segment<br>[3222, 3257, 0]"]
53["Segment<br>[3288, 3323, 0]"]
54["Segment<br>[3355, 3390, 0]"]
55["Segment<br>[3438, 3472, 0]"]
56["Segment<br>[3494, 3528, 0]"]
57["Segment<br>[3559, 3594, 0]"]
58["Segment<br>[3626, 3661, 0]"]
59["Segment<br>[3692, 3726, 0]"]
60["Segment<br>[3748, 3782, 0]"]
61["Segment<br>[3813, 3847, 0]"]
62["Segment<br>[3879, 3913, 0]"]
63["Segment<br>[3944, 3978, 0]"]
64["Segment<br>[4000, 4034, 0]"]
65["Segment<br>[4065, 4099, 0]"]
66["Segment<br>[4131, 4165, 0]"]
67["Segment<br>[4196, 4231, 0]"]
68["Segment<br>[4253, 4288, 0]"]
69["Segment<br>[4319, 4367, 0]"]
70["Segment<br>[4399, 4447, 0]"]
71["Segment<br>[4478, 4512, 0]"]
72["Segment<br>[4534, 4568, 0]"]
73["Segment<br>[4599, 4634, 0]"]
74["Segment<br>[4666, 4701, 0]"]
75["Segment<br>[4732, 4767, 0]"]
76["Segment<br>[4789, 4824, 0]"]
77["Segment<br>[4855, 4890, 0]"]
78["Segment<br>[4922, 4957, 0]"]
79["Segment<br>[4988, 5023, 0]"]
80["Segment<br>[5045, 5080, 0]"]
81["Segment<br>[5111, 5146, 0]"]
82["Segment<br>[5178, 5213, 0]"]
83["Segment<br>[5244, 5278, 0]"]
84["Segment<br>[5300, 5334, 0]"]
85["Segment<br>[5364, 5398, 0]"]
86["Segment<br>[5430, 5463, 0]"]
87["Segment<br>[5493, 5525, 0]"]
88["Segment<br>[5557, 5590, 0]"]
89["Segment<br>[5620, 5653, 0]"]
90["Segment<br>[5685, 5718, 0]"]
91["Segment<br>[5748, 5781, 0]"]
92["Segment<br>[5813, 5846, 0]"]
93["Segment<br>[5876, 5913, 0]"]
94["Segment<br>[5945, 5981, 0]"]
95["Segment<br>[6011, 6044, 0]"]
96["Segment<br>[6076, 6110, 0]"]
97["Segment<br>[6140, 6174, 0]"]
98["Segment<br>[6206, 6240, 0]"]
99["Segment<br>[6270, 6304, 0]"]
100["Segment<br>[6326, 6363, 0]"]
101["Segment<br>[6395, 6433, 0]"]
102["Segment<br>[6463, 6498, 0]"]
103["Segment<br>[6530, 6564, 0]"]
104["Segment<br>[6586, 6622, 0]"]
105["Segment<br>[6652, 6689, 0]"]
106["Segment<br>[6721, 6756, 0]"]
107["Segment<br>[6786, 6821, 0]"]
108["Segment<br>[6853, 6887, 0]"]
109["Segment<br>[6918, 6952, 0]"]
110["Segment<br>[6984, 7019, 0]"]
111["Segment<br>[7050, 7084, 0]"]
112["Segment<br>[7116, 7149, 0]"]
113["Segment<br>[7179, 7212, 0]"]
114["Segment<br>[7244, 7291, 0]"]
115["Segment<br>[7322, 7357, 0]"]
116["Segment<br>[7379, 7414, 0]"]
117["Segment<br>[7445, 7480, 0]"]
118["Segment<br>[7512, 7547, 0]"]
119["Segment<br>[7578, 7613, 0]"]
120["Segment<br>[7645, 7679, 0]"]
121["Segment<br>[7701, 7736, 0]"]
122["Segment<br>[7768, 7803, 0]"]
123["Segment<br>[7834, 7869, 0]"]
124["Segment<br>[7906, 7954, 0]"]
125["Segment<br>[7985, 8033, 0]"]
126["Segment<br>[8065, 8100, 0]"]
127["Segment<br>[8131, 8166, 0]"]
128["Segment<br>[8198, 8246, 0]"]
129["Segment<br>[8277, 8325, 0]"]
130["Segment<br>[8357, 8391, 0]"]
131["Segment<br>[8421, 8454, 0]"]
132["Segment<br>[8486, 8520, 0]"]
133["Segment<br>[8550, 8584, 0]"]
134["Segment<br>[8616, 8663, 0]"]
135["Segment<br>[8694, 8741, 0]"]
136["Segment<br>[8773, 8807, 0]"]
137["Segment<br>[8838, 8873, 0]"]
138["Segment<br>[8905, 8940, 0]"]
139["Segment<br>[8970, 9004, 0]"]
140["Segment<br>[9036, 9069, 0]"]
141["Segment<br>[9091, 9125, 0]"]
142["Segment<br>[9155, 9189, 0]"]
143["Segment<br>[9221, 9254, 0]"]
144["Segment<br>[9284, 9316, 0]"]
145["Segment<br>[9348, 9381, 0]"]
146["Segment<br>[9412, 9446, 0]"]
147["Segment<br>[9478, 9512, 0]"]
148["Segment<br>[9543, 9591, 0]"]
149["Segment<br>[9623, 9671, 0]"]
150["Segment<br>[9702, 9735, 0]"]
151["Segment<br>[9767, 9799, 0]"]
152["Segment<br>[9830, 9863, 0]"]
153["Segment<br>[9885, 9918, 0]"]
154["Segment<br>[9948, 9980, 0]"]
155["Segment<br>[10012, 10044, 0]"]
156["Segment<br>[10074, 10107, 0]"]
157["Segment<br>[10139, 10172, 0]"]
158["Segment<br>[10202, 10235, 0]"]
159["Segment<br>[10267, 10306, 0]"]
160["Segment<br>[10336, 10375, 0]"]
161["Segment<br>[10407, 10440, 0]"]
162["Segment<br>[10470, 10503, 0]"]
163["Segment<br>[10535, 10568, 0]"]
164["Segment<br>[10598, 10630, 0]"]
165["Segment<br>[10662, 10694, 0]"]
166["Segment<br>[10725, 10758, 0]"]
167["Segment<br>[10790, 10823, 0]"]
168["Segment<br>[10854, 10888, 0]"]
169["Segment<br>[10910, 10944, 0]"]
170["Segment<br>[10974, 11008, 0]"]
171["Segment<br>[11040, 11074, 0]"]
172["Segment<br>[11104, 11137, 0]"]
173["Segment<br>[11169, 11202, 0]"]
174["Segment<br>[11232, 11266, 0]"]
175["Segment<br>[11298, 11332, 0]"]
176["Segment<br>[11362, 11396, 0]"]
177["Segment<br>[11428, 11468, 0]"]
178["Segment<br>[11498, 11538, 0]"]
179["Segment<br>[11570, 11604, 0]"]
180["Segment<br>[11634, 11681, 0]"]
181["Segment<br>[11713, 11760, 0]"]
182["Segment<br>[11791, 11824, 0]"]
183["Segment<br>[11856, 11889, 0]"]
184["Segment<br>[11920, 11954, 0]"]
185["Segment<br>[11976, 12007, 0]"]
186["Segment<br>[12037, 12081, 0]"]
187["Segment<br>[12113, 12160, 0]"]
188["Segment<br>[12191, 12224, 0]"]
189["Segment<br>[12256, 12289, 0]"]
190["Segment<br>[12320, 12354, 0]"]
191["Segment<br>[12386, 12420, 0]"]
192["Segment<br>[12450, 12483, 0]"]
193["Segment<br>[12515, 12548, 0]"]
194["Segment<br>[12578, 12612, 0]"]
195["Segment<br>[12644, 12678, 0]"]
196["Segment<br>[12708, 12742, 0]"]
197["Segment<br>[12774, 12814, 0]"]
198["Segment<br>[12844, 12884, 0]"]
199["Segment<br>[12916, 12950, 0]"]
200["Segment<br>[12980, 13014, 0]"]
201["Segment<br>[13046, 13080, 0]"]
202["Segment<br>[13110, 13143, 0]"]
203["Segment<br>[13175, 13208, 0]"]
204["Segment<br>[13238, 13272, 0]"]
205["Segment<br>[13304, 13338, 0]"]
206["Segment<br>[13368, 13401, 0]"]
207["Segment<br>[13433, 13466, 0]"]
208["Segment<br>[13496, 13529, 0]"]
209["Segment<br>[13551, 13581, 0]"]
210["Segment<br>[13611, 13641, 0]"]
211["Segment<br>[13673, 13706, 0]"]
212["Segment<br>[13736, 13768, 0]"]
213["Segment<br>[13800, 13832, 0]"]
214["Segment<br>[13862, 13895, 0]"]
215["Segment<br>[13927, 13960, 0]"]
216["Segment<br>[13990, 14022, 0]"]
217["Segment<br>[14054, 14086, 0]"]
218["Segment<br>[14116, 14149, 0]"]
219["Segment<br>[14181, 14214, 0]"]
220["Segment<br>[14244, 14277, 0]"]
221["Segment<br>[14309, 14348, 0]"]
222["Segment<br>[14378, 14417, 0]"]
223["Segment<br>[14449, 14482, 0]"]
224["Segment<br>[14512, 14545, 0]"]
225["Segment<br>[14577, 14610, 0]"]
226["Segment<br>[14640, 14672, 0]"]
227["Segment<br>[14704, 14736, 0]"]
228["Segment<br>[14766, 14799, 0]"]
229["Segment<br>[14831, 14864, 0]"]
230["Segment<br>[14894, 14926, 0]"]
231["Segment<br>[14958, 14990, 0]"]
232["Segment<br>[15020, 15054, 0]"]
233["Segment<br>[15076, 15110, 0]"]
234["Segment<br>[15140, 15174, 0]"]
235["Segment<br>[15206, 15239, 0]"]
236["Segment<br>[15269, 15302, 0]"]
237["Segment<br>[15334, 15368, 0]"]
238["Segment<br>[15399, 15446, 0]"]
239["Segment<br>[15478, 15525, 0]"]
240["Segment<br>[15556, 15589, 0]"]
241["Segment<br>[15611, 15643, 0]"]
242["Segment<br>[15673, 15705, 0]"]
243["Segment<br>[15737, 15770, 0]"]
244["Segment<br>[15800, 15833, 0]"]
245["Segment<br>[15865, 15898, 0]"]
246["Segment<br>[15928, 15961, 0]"]
247["Segment<br>[15993, 16026, 0]"]
248["Segment<br>[16056, 16090, 0]"]
249["Segment<br>[16112, 16146, 0]"]
250["Segment<br>[16176, 16209, 0]"]
251["Segment<br>[16241, 16273, 0]"]
252["Segment<br>[16303, 16336, 0]"]
253["Segment<br>[16368, 16402, 0]"]
254["Segment<br>[16433, 16467, 0]"]
255["Segment<br>[16499, 16533, 0]"]
256["Segment<br>[16564, 16597, 0]"]
257["Segment<br>[16619, 16652, 0]"]
258["Segment<br>[16682, 16715, 0]"]
259["Segment<br>[16747, 16780, 0]"]
260["Segment<br>[16810, 16843, 0]"]
261["Segment<br>[16875, 16907, 0]"]
262["Segment<br>[16937, 16968, 0]"]
263["Segment<br>[17000, 17032, 0]"]
264["Segment<br>[17063, 17094, 0]"]
265["Segment<br>[17116, 17148, 0]"]
266["Segment<br>[17180, 17213, 0]"]
267["Segment<br>[17244, 17278, 0]"]
268["Segment<br>[17310, 17344, 0]"]
269["Segment<br>[17374, 17407, 0]"]
270["Segment<br>[17439, 17472, 0]"]
271["Segment<br>[17502, 17534, 0]"]
272["Segment<br>[17566, 17599, 0]"]
273["Segment<br>[17621, 17653, 0]"]
274["Segment<br>[17685, 17718, 0]"]
275["Segment<br>[17748, 17782, 0]"]
276["Segment<br>[17814, 17848, 0]"]
277["Segment<br>[17878, 17912, 0]"]
278["Segment<br>[17944, 17978, 0]"]
279["Segment<br>[18008, 18042, 0]"]
280["Segment<br>[18074, 18109, 0]"]
281["Segment<br>[18131, 18166, 0]"]
282["Segment<br>[18198, 18233, 0]"]
283["Segment<br>[18264, 18299, 0]"]
284["Segment<br>[18331, 18339, 0]"]
21["Segment<br>[1201, 1235, 0]"]
22["Segment<br>[1267, 1301, 0]"]
23["Segment<br>[1333, 1367, 0]"]
24["Segment<br>[1399, 1433, 0]"]
25["Segment<br>[1463, 1494, 0]"]
26["Segment<br>[1526, 1558, 0]"]
27["Segment<br>[1590, 1625, 0]"]
28["Segment<br>[1657, 1691, 0]"]
29["Segment<br>[1723, 1757, 0]"]
30["Segment<br>[1789, 1824, 0]"]
31["Segment<br>[1856, 1891, 0]"]
32["Segment<br>[1923, 1958, 0]"]
33["Segment<br>[1990, 2024, 0]"]
34["Segment<br>[2056, 2090, 0]"]
35["Segment<br>[2122, 2157, 0]"]
36["Segment<br>[2189, 2224, 0]"]
37["Segment<br>[2254, 2288, 0]"]
38["Segment<br>[2320, 2354, 0]"]
39["Segment<br>[2384, 2417, 0]"]
40["Segment<br>[2449, 2482, 0]"]
41["Segment<br>[2514, 2548, 0]"]
42["Segment<br>[2580, 2614, 0]"]
43["Segment<br>[2646, 2679, 0]"]
44["Segment<br>[2711, 2744, 0]"]
45["Segment<br>[2776, 2810, 0]"]
46["Segment<br>[2842, 2876, 0]"]
47["Segment<br>[2908, 2946, 0]"]
48["Segment<br>[2968, 3006, 0]"]
49["Segment<br>[3038, 3072, 0]"]
50["Segment<br>[3104, 3137, 0]"]
51["Segment<br>[3169, 3203, 0]"]
52["Segment<br>[3235, 3270, 0]"]
53["Segment<br>[3302, 3337, 0]"]
54["Segment<br>[3369, 3404, 0]"]
55["Segment<br>[3452, 3486, 0]"]
56["Segment<br>[3508, 3542, 0]"]
57["Segment<br>[3574, 3609, 0]"]
58["Segment<br>[3641, 3676, 0]"]
59["Segment<br>[3708, 3742, 0]"]
60["Segment<br>[3764, 3798, 0]"]
61["Segment<br>[3830, 3864, 0]"]
62["Segment<br>[3896, 3930, 0]"]
63["Segment<br>[3962, 3996, 0]"]
64["Segment<br>[4018, 4052, 0]"]
65["Segment<br>[4084, 4118, 0]"]
66["Segment<br>[4150, 4184, 0]"]
67["Segment<br>[4216, 4251, 0]"]
68["Segment<br>[4273, 4308, 0]"]
69["Segment<br>[4340, 4388, 0]"]
70["Segment<br>[4420, 4468, 0]"]
71["Segment<br>[4500, 4534, 0]"]
72["Segment<br>[4556, 4590, 0]"]
73["Segment<br>[4622, 4657, 0]"]
74["Segment<br>[4689, 4724, 0]"]
75["Segment<br>[4756, 4791, 0]"]
76["Segment<br>[4813, 4848, 0]"]
77["Segment<br>[4880, 4915, 0]"]
78["Segment<br>[4947, 4982, 0]"]
79["Segment<br>[5014, 5049, 0]"]
80["Segment<br>[5071, 5106, 0]"]
81["Segment<br>[5138, 5173, 0]"]
82["Segment<br>[5205, 5240, 0]"]
83["Segment<br>[5272, 5306, 0]"]
84["Segment<br>[5328, 5362, 0]"]
85["Segment<br>[5392, 5426, 0]"]
86["Segment<br>[5458, 5491, 0]"]
87["Segment<br>[5521, 5553, 0]"]
88["Segment<br>[5585, 5618, 0]"]
89["Segment<br>[5648, 5681, 0]"]
90["Segment<br>[5713, 5746, 0]"]
91["Segment<br>[5776, 5809, 0]"]
92["Segment<br>[5841, 5874, 0]"]
93["Segment<br>[5904, 5941, 0]"]
94["Segment<br>[5973, 6009, 0]"]
95["Segment<br>[6039, 6072, 0]"]
96["Segment<br>[6104, 6138, 0]"]
97["Segment<br>[6168, 6202, 0]"]
98["Segment<br>[6234, 6268, 0]"]
99["Segment<br>[6298, 6332, 0]"]
100["Segment<br>[6354, 6391, 0]"]
101["Segment<br>[6423, 6461, 0]"]
102["Segment<br>[6491, 6526, 0]"]
103["Segment<br>[6558, 6592, 0]"]
104["Segment<br>[6614, 6650, 0]"]
105["Segment<br>[6680, 6717, 0]"]
106["Segment<br>[6749, 6784, 0]"]
107["Segment<br>[6814, 6849, 0]"]
108["Segment<br>[6881, 6915, 0]"]
109["Segment<br>[6947, 6981, 0]"]
110["Segment<br>[7013, 7048, 0]"]
111["Segment<br>[7080, 7114, 0]"]
112["Segment<br>[7146, 7179, 0]"]
113["Segment<br>[7209, 7242, 0]"]
114["Segment<br>[7274, 7321, 0]"]
115["Segment<br>[7353, 7388, 0]"]
116["Segment<br>[7410, 7445, 0]"]
117["Segment<br>[7477, 7512, 0]"]
118["Segment<br>[7544, 7579, 0]"]
119["Segment<br>[7611, 7646, 0]"]
120["Segment<br>[7678, 7712, 0]"]
121["Segment<br>[7734, 7769, 0]"]
122["Segment<br>[7801, 7836, 0]"]
123["Segment<br>[7868, 7903, 0]"]
124["Segment<br>[7940, 7988, 0]"]
125["Segment<br>[8020, 8068, 0]"]
126["Segment<br>[8100, 8135, 0]"]
127["Segment<br>[8167, 8202, 0]"]
128["Segment<br>[8234, 8282, 0]"]
129["Segment<br>[8314, 8362, 0]"]
130["Segment<br>[8394, 8428, 0]"]
131["Segment<br>[8458, 8491, 0]"]
132["Segment<br>[8523, 8557, 0]"]
133["Segment<br>[8587, 8621, 0]"]
134["Segment<br>[8653, 8700, 0]"]
135["Segment<br>[8732, 8779, 0]"]
136["Segment<br>[8811, 8845, 0]"]
137["Segment<br>[8877, 8912, 0]"]
138["Segment<br>[8944, 8979, 0]"]
139["Segment<br>[9009, 9043, 0]"]
140["Segment<br>[9075, 9108, 0]"]
141["Segment<br>[9130, 9164, 0]"]
142["Segment<br>[9194, 9228, 0]"]
143["Segment<br>[9260, 9293, 0]"]
144["Segment<br>[9323, 9355, 0]"]
145["Segment<br>[9387, 9420, 0]"]
146["Segment<br>[9452, 9486, 0]"]
147["Segment<br>[9518, 9552, 0]"]
148["Segment<br>[9584, 9632, 0]"]
149["Segment<br>[9664, 9712, 0]"]
150["Segment<br>[9744, 9777, 0]"]
151["Segment<br>[9809, 9841, 0]"]
152["Segment<br>[9873, 9906, 0]"]
153["Segment<br>[9928, 9961, 0]"]
154["Segment<br>[9991, 10023, 0]"]
155["Segment<br>[10055, 10087, 0]"]
156["Segment<br>[10117, 10150, 0]"]
157["Segment<br>[10182, 10215, 0]"]
158["Segment<br>[10245, 10278, 0]"]
159["Segment<br>[10310, 10349, 0]"]
160["Segment<br>[10379, 10418, 0]"]
161["Segment<br>[10450, 10483, 0]"]
162["Segment<br>[10513, 10546, 0]"]
163["Segment<br>[10578, 10611, 0]"]
164["Segment<br>[10641, 10673, 0]"]
165["Segment<br>[10705, 10737, 0]"]
166["Segment<br>[10769, 10802, 0]"]
167["Segment<br>[10834, 10867, 0]"]
168["Segment<br>[10899, 10933, 0]"]
169["Segment<br>[10955, 10989, 0]"]
170["Segment<br>[11019, 11053, 0]"]
171["Segment<br>[11085, 11119, 0]"]
172["Segment<br>[11149, 11182, 0]"]
173["Segment<br>[11214, 11247, 0]"]
174["Segment<br>[11277, 11311, 0]"]
175["Segment<br>[11343, 11377, 0]"]
176["Segment<br>[11407, 11441, 0]"]
177["Segment<br>[11473, 11513, 0]"]
178["Segment<br>[11543, 11583, 0]"]
179["Segment<br>[11615, 11649, 0]"]
180["Segment<br>[11679, 11726, 0]"]
181["Segment<br>[11758, 11805, 0]"]
182["Segment<br>[11837, 11870, 0]"]
183["Segment<br>[11902, 11935, 0]"]
184["Segment<br>[11967, 12001, 0]"]
185["Segment<br>[12023, 12054, 0]"]
186["Segment<br>[12084, 12128, 0]"]
187["Segment<br>[12160, 12207, 0]"]
188["Segment<br>[12239, 12272, 0]"]
189["Segment<br>[12304, 12337, 0]"]
190["Segment<br>[12369, 12403, 0]"]
191["Segment<br>[12435, 12469, 0]"]
192["Segment<br>[12499, 12532, 0]"]
193["Segment<br>[12564, 12597, 0]"]
194["Segment<br>[12627, 12661, 0]"]
195["Segment<br>[12693, 12727, 0]"]
196["Segment<br>[12757, 12791, 0]"]
197["Segment<br>[12823, 12863, 0]"]
198["Segment<br>[12893, 12933, 0]"]
199["Segment<br>[12965, 12999, 0]"]
200["Segment<br>[13029, 13063, 0]"]
201["Segment<br>[13095, 13129, 0]"]
202["Segment<br>[13159, 13192, 0]"]
203["Segment<br>[13224, 13257, 0]"]
204["Segment<br>[13287, 13321, 0]"]
205["Segment<br>[13353, 13387, 0]"]
206["Segment<br>[13417, 13450, 0]"]
207["Segment<br>[13482, 13515, 0]"]
208["Segment<br>[13545, 13578, 0]"]
209["Segment<br>[13600, 13630, 0]"]
210["Segment<br>[13660, 13690, 0]"]
211["Segment<br>[13722, 13755, 0]"]
212["Segment<br>[13785, 13817, 0]"]
213["Segment<br>[13849, 13881, 0]"]
214["Segment<br>[13911, 13944, 0]"]
215["Segment<br>[13976, 14009, 0]"]
216["Segment<br>[14039, 14071, 0]"]
217["Segment<br>[14103, 14135, 0]"]
218["Segment<br>[14165, 14198, 0]"]
219["Segment<br>[14230, 14263, 0]"]
220["Segment<br>[14293, 14326, 0]"]
221["Segment<br>[14358, 14397, 0]"]
222["Segment<br>[14427, 14466, 0]"]
223["Segment<br>[14498, 14531, 0]"]
224["Segment<br>[14561, 14594, 0]"]
225["Segment<br>[14626, 14659, 0]"]
226["Segment<br>[14689, 14721, 0]"]
227["Segment<br>[14753, 14785, 0]"]
228["Segment<br>[14815, 14848, 0]"]
229["Segment<br>[14880, 14913, 0]"]
230["Segment<br>[14943, 14975, 0]"]
231["Segment<br>[15007, 15039, 0]"]
232["Segment<br>[15069, 15103, 0]"]
233["Segment<br>[15125, 15159, 0]"]
234["Segment<br>[15189, 15223, 0]"]
235["Segment<br>[15255, 15288, 0]"]
236["Segment<br>[15318, 15351, 0]"]
237["Segment<br>[15383, 15417, 0]"]
238["Segment<br>[15449, 15496, 0]"]
239["Segment<br>[15528, 15575, 0]"]
240["Segment<br>[15607, 15640, 0]"]
241["Segment<br>[15662, 15694, 0]"]
242["Segment<br>[15724, 15756, 0]"]
243["Segment<br>[15788, 15821, 0]"]
244["Segment<br>[15851, 15884, 0]"]
245["Segment<br>[15916, 15949, 0]"]
246["Segment<br>[15979, 16012, 0]"]
247["Segment<br>[16044, 16077, 0]"]
248["Segment<br>[16107, 16141, 0]"]
249["Segment<br>[16163, 16197, 0]"]
250["Segment<br>[16227, 16260, 0]"]
251["Segment<br>[16292, 16324, 0]"]
252["Segment<br>[16354, 16387, 0]"]
253["Segment<br>[16419, 16453, 0]"]
254["Segment<br>[16485, 16519, 0]"]
255["Segment<br>[16551, 16585, 0]"]
256["Segment<br>[16617, 16650, 0]"]
257["Segment<br>[16672, 16705, 0]"]
258["Segment<br>[16735, 16768, 0]"]
259["Segment<br>[16800, 16833, 0]"]
260["Segment<br>[16863, 16896, 0]"]
261["Segment<br>[16928, 16960, 0]"]
262["Segment<br>[16990, 17021, 0]"]
263["Segment<br>[17053, 17085, 0]"]
264["Segment<br>[17117, 17148, 0]"]
265["Segment<br>[17170, 17202, 0]"]
266["Segment<br>[17234, 17267, 0]"]
267["Segment<br>[17299, 17333, 0]"]
268["Segment<br>[17365, 17399, 0]"]
269["Segment<br>[17429, 17462, 0]"]
270["Segment<br>[17494, 17527, 0]"]
271["Segment<br>[17557, 17589, 0]"]
272["Segment<br>[17621, 17654, 0]"]
273["Segment<br>[17676, 17708, 0]"]
274["Segment<br>[17740, 17773, 0]"]
275["Segment<br>[17803, 17837, 0]"]
276["Segment<br>[17869, 17903, 0]"]
277["Segment<br>[17933, 17967, 0]"]
278["Segment<br>[17999, 18033, 0]"]
279["Segment<br>[18063, 18097, 0]"]
280["Segment<br>[18129, 18164, 0]"]
281["Segment<br>[18186, 18221, 0]"]
282["Segment<br>[18253, 18288, 0]"]
283["Segment<br>[18320, 18355, 0]"]
284["Segment<br>[18387, 18395, 0]"]
285[Solid2d]
end
1["Plane<br>[6, 23, 0]"]
286["Sweep Extrusion<br>[18345, 18364, 0]"]
286["Sweep Extrusion<br>[18401, 18420, 0]"]
287[Wall]
288[Wall]
289[Wall]

View File

@ -21791,7 +21791,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -21817,7 +21817,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -21869,7 +21869,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -21895,7 +21895,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -21921,7 +21921,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -21947,7 +21947,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -21973,7 +21973,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -22051,7 +22051,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -22077,7 +22077,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -22103,7 +22103,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -22129,7 +22129,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -22155,7 +22155,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -22181,7 +22181,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -22207,7 +22207,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -22270,7 +22270,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -22296,7 +22296,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -22322,7 +22322,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -22348,7 +22348,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -22374,7 +22374,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -22400,7 +22400,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -22426,7 +22426,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -22452,7 +22452,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -22478,7 +22478,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -22504,7 +22504,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -22530,7 +22530,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -22556,7 +22556,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -22582,7 +22582,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -22608,7 +22608,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -22946,7 +22946,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -22972,7 +22972,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -23024,7 +23024,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -23050,7 +23050,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -23076,7 +23076,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -23128,7 +23128,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -23154,7 +23154,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -23180,7 +23180,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -23206,7 +23206,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -23284,7 +23284,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -23310,7 +23310,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -23427,7 +23427,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -23453,7 +23453,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -23479,7 +23479,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -23505,7 +23505,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -23687,7 +23687,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -23713,7 +23713,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -23895,7 +23895,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -23921,7 +23921,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -23973,7 +23973,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -23999,7 +23999,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -24623,7 +24623,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -24649,7 +24649,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -24831,7 +24831,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -24857,7 +24857,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -24961,7 +24961,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -25000,7 +25000,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}
@ -25208,7 +25208,7 @@ description: Result of parsing kittycad_svg.kcl
"type": "NonCodeNode",
"value": {
"type": "inlineComment",
"value": "VerticalLineHorizonal",
"value": "VerticalLineHorizontal",
"style": "line"
}
}

View File

@ -17,70 +17,70 @@ svg = startSketchOn(XY)
|> line(endAbsolute = [17.64, -3.36]) // HorizontalLineAbsolute
|> line(endAbsolute = [17.64, -4.2]) // VerticalLineAbsolute
|> line(endAbsolute = [18.48, -4.2]) // HorizontalLineRelative
|> line(endAbsolute = [18.48, -5.04]) // VerticalLineHorizonal
|> line(endAbsolute = [18.48, -5.04]) // VerticalLineHorizontal
|> line(endAbsolute = [19.32, -5.04]) // HorizontalLineRelative
|> line(endAbsolute = [19.32, -5.88]) // VerticalLineHorizonal
|> line(endAbsolute = [19.32, -5.88]) // VerticalLineHorizontal
|> line(endAbsolute = [20.16, -5.88]) // HorizontalLineRelative
|> line(endAbsolute = [20.16, -6.72]) // VerticalLineAbsolute
|> line(endAbsolute = [21, -6.72]) // HorizontalLineAbsolute
|> line(endAbsolute = [21, -24.36]) // VerticalLineHorizonal
|> line(endAbsolute = [21, -24.36]) // VerticalLineHorizontal
|> line(endAbsolute = [20.16, -24.36]) // HorizontalLineRelative
|> line(endAbsolute = [20.16, -25.2]) // VerticalLineHorizonal
|> line(endAbsolute = [20.16, -25.2]) // VerticalLineHorizontal
|> line(endAbsolute = [18.48, -25.2]) // HorizontalLineRelative
|> line(endAbsolute = [18.48, -26.04]) // VerticalLineHorizonal
|> line(endAbsolute = [18.48, -26.04]) // VerticalLineHorizontal
|> line(endAbsolute = [15.96, -26.04]) // HorizontalLineRelative
|> line(endAbsolute = [15.96, -26.88]) // VerticalLineHorizonal
|> line(endAbsolute = [15.96, -26.88]) // VerticalLineHorizontal
|> line(endAbsolute = [16.8, -26.88]) // HorizontalLineRelative
|> line(endAbsolute = [16.8, -28.56]) // VerticalLineHorizonal
|> line(endAbsolute = [16.8, -28.56]) // VerticalLineHorizontal
|> line(endAbsolute = [11.76, -28.56]) // HorizontalLineAbsolute
|> line(endAbsolute = [11.76, -26.88]) // VerticalLineAbsolute
|> line(endAbsolute = [12.6, -26.88]) // HorizontalLineAbsolute
|> line(endAbsolute = [12.6, -26.04]) // VerticalLineAbsolute
|> line(endAbsolute = [8.4, -26.04]) // HorizontalLineAbsolute
|> line(endAbsolute = [8.4, -26.88]) // VerticalLineHorizonal
|> line(endAbsolute = [8.4, -26.88]) // VerticalLineHorizontal
|> line(endAbsolute = [9.24, -26.88]) // HorizontalLineRelative
|> line(endAbsolute = [9.24, -28.56]) // VerticalLineHorizonal
|> line(endAbsolute = [9.24, -28.56]) // VerticalLineHorizontal
|> line(endAbsolute = [4.2, -28.56]) // HorizontalLineAbsolute
|> line(endAbsolute = [4.2, -26.88]) // VerticalLineHorizonal
|> line(endAbsolute = [4.2, -26.88]) // VerticalLineHorizontal
|> line(endAbsolute = [5.04, -26.88]) // HorizontalLineRelative
|> line(endAbsolute = [5.04, -26.04]) // VerticalLineHorizonal
|> line(endAbsolute = [5.04, -26.04]) // VerticalLineHorizontal
|> line(endAbsolute = [0.839996, -20.58]) // MoveRelative
|> line(endAbsolute = [0.839996, -24.36]) // VerticalLineHorizonal
|> line(endAbsolute = [0.839996, -24.36]) // VerticalLineHorizontal
|> line(endAbsolute = [2.52, -24.36]) // HorizontalLineAbsolute
|> line(endAbsolute = [2.52, -25.2]) // VerticalLineHorizonal
|> line(endAbsolute = [2.52, -25.2]) // VerticalLineHorizontal
|> line(endAbsolute = [18.48, -25.2]) // HorizontalLineRelative
|> line(endAbsolute = [18.48, -24.36]) // VerticalLineHorizonal
|> line(endAbsolute = [18.48, -24.36]) // VerticalLineHorizontal
|> line(endAbsolute = [20.16, -24.36]) // HorizontalLineRelative
|> line(endAbsolute = [20.16, -20.58]) // VerticalLineAbsolute
// StopAbsolute
|> line(endAbsolute = [7.56, -24.36]) // MoveAbsolute
|> line(endAbsolute = [7.56, -22.68]) // VerticalLineHorizonal
|> line(endAbsolute = [7.56, -22.68]) // VerticalLineHorizontal
|> line(endAbsolute = [13.44, -22.68]) // HorizontalLineRelative
|> line(endAbsolute = [13.44, -24.36]) // VerticalLineHorizonal
|> line(endAbsolute = [13.44, -24.36]) // VerticalLineHorizontal
|> line(endAbsolute = [1.68, -22.68]) // MoveRelative
|> line(endAbsolute = [1.68, -21.84]) // VerticalLineHorizonal
|> line(endAbsolute = [1.68, -21.84]) // VerticalLineHorizontal
|> line(endAbsolute = [5.88, -21.84]) // HorizontalLineRelative
|> line(endAbsolute = [5.88, -22.68]) // VerticalLineHorizonal
|> line(endAbsolute = [5.88, -22.68]) // VerticalLineHorizontal
|> line(endAbsolute = [3.36, -24.36]) // MoveRelative
|> line(endAbsolute = [3.36, -23.52]) // VerticalLineHorizonal
|> line(endAbsolute = [3.36, -23.52]) // VerticalLineHorizontal
|> line(endAbsolute = [5.88, -23.52]) // HorizontalLineRelative
|> line(endAbsolute = [5.88, -24.36]) // VerticalLineHorizonal
|> line(endAbsolute = [5.88, -24.36]) // VerticalLineHorizontal
|> line(endAbsolute = [15.12, -22.68]) // MoveRelative
|> line(endAbsolute = [15.12, -21.84]) // VerticalLineHorizonal
|> line(endAbsolute = [15.12, -21.84]) // VerticalLineHorizontal
|> line(endAbsolute = [15.959999999999999, -21.84]) // HorizontalLineRelative
|> line(endAbsolute = [15.959999999999999, -22.68]) // VerticalLineHorizonal
|> line(endAbsolute = [15.959999999999999, -22.68]) // VerticalLineHorizontal
|> line(endAbsolute = [16.8, -22.68]) // MoveRelative
|> line(endAbsolute = [16.8, -21.84]) // VerticalLineHorizonal
|> line(endAbsolute = [16.8, -21.84]) // VerticalLineHorizontal
|> line(endAbsolute = [17.64, -21.84]) // HorizontalLineRelative
|> line(endAbsolute = [17.64, -22.68]) // VerticalLineHorizonal
|> line(endAbsolute = [17.64, -22.68]) // VerticalLineHorizontal
|> line(endAbsolute = [18.48, -22.68]) // MoveRelative
|> line(endAbsolute = [18.48, -21.84]) // VerticalLineHorizonal
|> line(endAbsolute = [18.48, -21.84]) // VerticalLineHorizontal
|> line(endAbsolute = [19.32, -21.84]) // HorizontalLineRelative
|> line(endAbsolute = [19.32, -22.68]) // VerticalLineHorizonal
|> line(endAbsolute = [19.32, -22.68]) // VerticalLineHorizontal
|> line(endAbsolute = [15.12, -24.36]) // MoveRelative
|> line(endAbsolute = [15.12, -23.52]) // VerticalLineHorizonal
|> line(endAbsolute = [15.12, -23.52]) // VerticalLineHorizontal
|> line(endAbsolute = [17.64, -23.52]) // HorizontalLineRelative
|> line(endAbsolute = [17.64, -24.36]) // VerticalLineHorizonal
|> line(endAbsolute = [17.64, -24.36]) // VerticalLineHorizontal
|> line(endAbsolute = [18.48, -5.88]) // MoveAbsolute
|> line(endAbsolute = [18.48, -5.04]) // VerticalLineAbsolute
|> line(endAbsolute = [17.64, -5.04]) // HorizontalLineAbsolute
@ -106,35 +106,35 @@ svg = startSketchOn(XY)
|> line(endAbsolute = [17.64, -9.24001]) // HorizontalLineAbsolute
|> line(endAbsolute = [17.64, -10.08]) // VerticalLineAbsolute
|> line(endAbsolute = [18.48, -10.08]) // HorizontalLineRelative
|> line(endAbsolute = [18.48, -16.8]) // VerticalLineHorizonal
|> line(endAbsolute = [18.48, -16.8]) // VerticalLineHorizontal
|> line(endAbsolute = [17.64, -16.8]) // HorizontalLineRelative
|> line(endAbsolute = [17.64, -17.64]) // VerticalLineHorizonal
|> line(endAbsolute = [17.64, -17.64]) // VerticalLineHorizontal
|> line(endAbsolute = [3.36, -17.64]) // HorizontalLineAbsolute
|> line(endAbsolute = [3.36, -16.8]) // VerticalLineAbsolute
|> line(endAbsolute = [2.52, -16.8]) // HorizontalLineAbsolute
|> line(endAbsolute = [2.52, -10.080000000000002]) // VerticalLineHorizonal
|> line(endAbsolute = [2.52, -10.080000000000002]) // VerticalLineHorizontal
|> line(endAbsolute = [13.44, -10.92]) // MoveRelative
|> line(endAbsolute = [13.44, -10.08]) // VerticalLineHorizonal
|> line(endAbsolute = [13.44, -10.08]) // VerticalLineHorizontal
|> line(endAbsolute = [15.12, -10.08]) // HorizontalLineRelative
|> line(endAbsolute = [15.12, -13.44]) // VerticalLineHorizonal
|> line(endAbsolute = [15.12, -13.44]) // VerticalLineHorizontal
|> line(endAbsolute = [14.28, -13.44]) // HorizontalLineRelative
|> line(endAbsolute = [9.24, -13.44]) // MoveRelative
|> line(endAbsolute = [11.76, -13.44]) // HorizontalLineRelative
|> line(endAbsolute = [11.76, -14.28]) // VerticalLineHorizonal
|> line(endAbsolute = [11.76, -14.28]) // VerticalLineHorizontal
|> line(endAbsolute = [10.92, -14.28]) // HorizontalLineRelative here
|> line(endAbsolute = [10.92, -15.959999999999999]) // VerticalLineHorizonal
|> line(endAbsolute = [10.92, -15.959999999999999]) // VerticalLineHorizontal
|> line(endAbsolute = [13.44, -15.959999999999999]) // HorizontalLineRelative
|> line(endAbsolute = [13.44, -15.12]) // VerticalLineHorizonal
|> line(endAbsolute = [13.44, -15.12]) // VerticalLineHorizontal
|> line(endAbsolute = [14.28, -15.12]) // HorizontalLineRelative
|> line(endAbsolute = [14.28, -15.959999999999999]) // VerticalLineHorizonal
|> line(endAbsolute = [14.28, -15.959999999999999]) // VerticalLineHorizontal
|> line(endAbsolute = [13.44, -15.959999999999999]) // HorizontalLineAbsolute
|> line(endAbsolute = [13.44, -16.8]) // VerticalLineAbsolute
|> line(endAbsolute = [7.56, -16.8]) // HorizontalLineAbsolute
|> line(endAbsolute = [7.56, -15.96]) // VerticalLineAbsolute
|> line(endAbsolute = [6.72, -15.96]) // HorizontalLineAbsolute
|> line(endAbsolute = [6.72, -15.120000000000001]) // VerticalLineHorizonal
|> line(endAbsolute = [6.72, -15.120000000000001]) // VerticalLineHorizontal
|> line(endAbsolute = [7.56, -15.120000000000001]) // HorizontalLineRelative
|> line(endAbsolute = [7.56, -15.96]) // VerticalLineHorizonal
|> line(endAbsolute = [7.56, -15.96]) // VerticalLineHorizontal
|> line(endAbsolute = [10.08, -15.96]) // HorizontalLineRelative
|> line(endAbsolute = [10.08, -14.28]) // VerticalLineAbsolute
|> line(endAbsolute = [9.24, -14.28]) // HorizontalLineAbsolute
@ -143,13 +143,13 @@ svg = startSketchOn(XY)
|> line(endAbsolute = [5.04, -11.76]) // HorizontalLineAbsolute
|> line(endAbsolute = [5.04, -12.6]) // VerticalLineAbsolute
|> line(endAbsolute = [4.2, -12.6]) // HorizontalLineAbsolute
|> line(endAbsolute = [4.2, -11.76]) // VerticalLineHorizonal
|> line(endAbsolute = [4.2, -11.76]) // VerticalLineHorizontal
|> line(endAbsolute = [5.04, -11.76]) // HorizontalLineRelative
|> line(endAbsolute = [5.04, -10.92]) // VerticalLineHorizonal
|> line(endAbsolute = [5.04, -10.92]) // VerticalLineHorizontal
|> line(endAbsolute = [7.5600000000000005, -10.92]) // HorizontalLineRelative
|> line(endAbsolute = [7.5600000000000005, -11.76]) // VerticalLineHorizonal
|> line(endAbsolute = [7.5600000000000005, -11.76]) // VerticalLineHorizontal
|> line(endAbsolute = [8.4, -11.76]) // HorizontalLineAbsolute
|> line(endAbsolute = [8.4, -12.6]) // VerticalLineHorizonal
|> line(endAbsolute = [8.4, -12.6]) // VerticalLineHorizontal
|> line(endAbsolute = [3.36, -5.88]) // MoveAbsolute
|> line(endAbsolute = [3.36, -5.04]) // VerticalLineAbsolute
|> line(endAbsolute = [4.2, -5.04]) // HorizontalLineAbsolute
@ -163,9 +163,9 @@ svg = startSketchOn(XY)
|> line(endAbsolute = [7.56, -1.68]) // HorizontalLineAbsolute
|> line(endAbsolute = [7.56, -3.36]) // VerticalLineAbsolute
|> line(endAbsolute = [8.4, -3.36]) // HorizontalLineAbsolute
|> line(endAbsolute = [8.4, -5.04]) // VerticalLineHorizonal
|> line(endAbsolute = [8.4, -5.04]) // VerticalLineHorizontal
|> line(endAbsolute = [9.24, -5.04]) // HorizontalLineRelative
|> line(endAbsolute = [9.24, -5.88]) // VerticalLineHorizonal
|> line(endAbsolute = [9.24, -5.88]) // VerticalLineHorizontal
|> line(endAbsolute = [17.64, -5.04]) // MoveAbsolute
|> line(endAbsolute = [17.64, -5.88]) // VerticalLineAbsolute
|> line(endAbsolute = [11.76, -5.88]) // HorizontalLineAbsolute
@ -179,15 +179,15 @@ svg = startSketchOn(XY)
|> line(endAbsolute = [15.12, -0.83999599]) // HorizontalLineRelative
|> line(endAbsolute = [15.12, -1.68]) // VerticalLineAbsolute
|> line(endAbsolute = [15.959999999999999, -1.68]) // HorizontalLineRelative
|> line(endAbsolute = [15.959999999999999, -3.36]) // VerticalLineHorizonal
|> line(endAbsolute = [15.959999999999999, -3.36]) // VerticalLineHorizontal
|> line(endAbsolute = [16.8, -3.36]) // HorizontalLineRelative
|> line(endAbsolute = [16.8, -5.04]) // VerticalLineHorizonal
|> line(endAbsolute = [16.8, -5.04]) // VerticalLineHorizontal
|> line(endAbsolute = [13.44, -1.68]) // MoveAbsolute
|> line(endAbsolute = [13.44, -0]) // VerticalLineAbsolute
|> line(endAbsolute = [15.959999999999999, -0]) // HorizontalLineRelative
|> line(endAbsolute = [15.959999999999999, -1.68]) // VerticalLineHorizonal
|> line(endAbsolute = [15.959999999999999, -1.68]) // VerticalLineHorizontal
|> line(endAbsolute = [16.8, -1.68]) // HorizontalLineRelative
|> line(endAbsolute = [16.8, -3.36]) // VerticalLineHorizonal
|> line(endAbsolute = [16.8, -3.36]) // VerticalLineHorizontal
|> line(endAbsolute = [17.64, -3.36]) // HorizontalLineRelative
|> line(endAbsolute = [17.64, -4.62]) // VerticalLineAbsolute
|> line(endAbsolute = [16.8, -4.62]) // HorizontalLineAbsolute
@ -235,9 +235,9 @@ svg = startSketchOn(XY)
|> line(endAbsolute = [14.28, -5.04]) // HorizontalLineRelative
|> line(endAbsolute = [14.28, -4.2]) // VerticalLineAbsolute
|> line(endAbsolute = [15.12, -4.2]) // HorizontalLineRelative
|> line(endAbsolute = [15.12, -5.04]) // VerticalLineHorizonal
|> line(endAbsolute = [15.12, -5.04]) // VerticalLineHorizontal
|> line(endAbsolute = [15.959999999999999, -5.04]) // HorizontalLineRelative
|> line(endAbsolute = [15.959999999999999, -5.88]) // VerticalLineHorizonal
|> line(endAbsolute = [15.959999999999999, -5.88]) // VerticalLineHorizontal
|> line(endAbsolute = [5.88, -5.04]) // MoveAbsolute
|> line(endAbsolute = [5.88, -4.2]) // VerticalLineAbsolute
|> line(endAbsolute = [6.72, -4.2]) // HorizontalLineAbsolute
@ -251,9 +251,9 @@ svg = startSketchOn(XY)
|> line(endAbsolute = [16.8, -5.04]) // HorizontalLineAbsolute
|> line(endAbsolute = [16.8, -4.2]) // VerticalLineAbsolute
|> line(endAbsolute = [17.64, -4.2]) // HorizontalLineRelative
|> line(endAbsolute = [17.64, -5.04]) // VerticalLineHorizonal
|> line(endAbsolute = [17.64, -5.04]) // VerticalLineHorizontal
|> line(endAbsolute = [18.48, -5.04]) // HorizontalLineRelative
|> line(endAbsolute = [18.48, -5.88]) // VerticalLineHorizonal
|> line(endAbsolute = [18.48, -5.88]) // VerticalLineHorizontal
|> line(endAbsolute = [3.36, -5.04]) // MoveAbsolute
|> line(endAbsolute = [3.36, -5.88]) // VerticalLineAbsolute
|> line(endAbsolute = [2.52, -5.88]) // HorizontalLineAbsolute
@ -261,10 +261,10 @@ svg = startSketchOn(XY)
|> line(endAbsolute = [3.36, -5.04]) // HorizontalLineAbsolute
|> line(endAbsolute = [3.36, -4.2]) // VerticalLineAbsolute
|> line(endAbsolute = [4.2, -4.2]) // HorizontalLineAbsolute
|> line(endAbsolute = [4.2, -5.04]) // VerticalLineHorizonal
|> line(endAbsolute = [4.2, -5.04]) // VerticalLineHorizontal
|> line(endAbsolute = [8.4, -4.2]) // MoveRelative
|> line(endAbsolute = [9.24, -4.2]) // HorizontalLineRelative
|> line(endAbsolute = [9.24, -5.04]) // VerticalLineHorizonal
|> line(endAbsolute = [9.24, -5.04]) // VerticalLineHorizontal
|> line(endAbsolute = [10.08, -5.04]) // HorizontalLineRelative
|> line(endAbsolute = [10.08, -5.88]) // VerticalLineAbsolute
|> line(endAbsolute = [9.24, -5.88]) // HorizontalLineAbsolute
@ -280,7 +280,7 @@ svg = startSketchOn(XY)
|> line(endAbsolute = [11.76, -5.04]) // HorizontalLineRelative
|> line(endAbsolute = [14.28, -10.92]) // MoveRelative
|> line(endAbsolute = [13.44, -10.92]) // HorizontalLineRelative
|> line(endAbsolute = [13.44, -13.44]) // VerticalLineHorizonal
|> line(endAbsolute = [13.44, -13.44]) // VerticalLineHorizontal
|> line(endAbsolute = [14.28, -13.44]) // HorizontalLineRelative
|> close(%)
|> extrude(length = 1)

View File

@ -21,70 +21,70 @@ svg = startSketchOn(XY)
|> line(endAbsolute = [17.64, -3.36]) // HorizontalLineAbsolute
|> line(endAbsolute = [17.64, -4.2]) // VerticalLineAbsolute
|> line(endAbsolute = [18.48, -4.2]) // HorizontalLineRelative
|> line(endAbsolute = [18.48, -5.04]) // VerticalLineHorizonal
|> line(endAbsolute = [18.48, -5.04]) // VerticalLineHorizontal
|> line(endAbsolute = [19.32, -5.04]) // HorizontalLineRelative
|> line(endAbsolute = [19.32, -5.88]) // VerticalLineHorizonal
|> line(endAbsolute = [19.32, -5.88]) // VerticalLineHorizontal
|> line(endAbsolute = [20.16, -5.88]) // HorizontalLineRelative
|> line(endAbsolute = [20.16, -6.72]) // VerticalLineAbsolute
|> line(endAbsolute = [21, -6.72]) // HorizontalLineAbsolute
|> line(endAbsolute = [21, -24.36]) // VerticalLineHorizonal
|> line(endAbsolute = [21, -24.36]) // VerticalLineHorizontal
|> line(endAbsolute = [20.16, -24.36]) // HorizontalLineRelative
|> line(endAbsolute = [20.16, -25.2]) // VerticalLineHorizonal
|> line(endAbsolute = [20.16, -25.2]) // VerticalLineHorizontal
|> line(endAbsolute = [18.48, -25.2]) // HorizontalLineRelative
|> line(endAbsolute = [18.48, -26.04]) // VerticalLineHorizonal
|> line(endAbsolute = [18.48, -26.04]) // VerticalLineHorizontal
|> line(endAbsolute = [15.96, -26.04]) // HorizontalLineRelative
|> line(endAbsolute = [15.96, -26.88]) // VerticalLineHorizonal
|> line(endAbsolute = [15.96, -26.88]) // VerticalLineHorizontal
|> line(endAbsolute = [16.8, -26.88]) // HorizontalLineRelative
|> line(endAbsolute = [16.8, -28.56]) // VerticalLineHorizonal
|> line(endAbsolute = [16.8, -28.56]) // VerticalLineHorizontal
|> line(endAbsolute = [11.76, -28.56]) // HorizontalLineAbsolute
|> line(endAbsolute = [11.76, -26.88]) // VerticalLineAbsolute
|> line(endAbsolute = [12.6, -26.88]) // HorizontalLineAbsolute
|> line(endAbsolute = [12.6, -26.04]) // VerticalLineAbsolute
|> line(endAbsolute = [8.4, -26.04]) // HorizontalLineAbsolute
|> line(endAbsolute = [8.4, -26.88]) // VerticalLineHorizonal
|> line(endAbsolute = [8.4, -26.88]) // VerticalLineHorizontal
|> line(endAbsolute = [9.24, -26.88]) // HorizontalLineRelative
|> line(endAbsolute = [9.24, -28.56]) // VerticalLineHorizonal
|> line(endAbsolute = [9.24, -28.56]) // VerticalLineHorizontal
|> line(endAbsolute = [4.2, -28.56]) // HorizontalLineAbsolute
|> line(endAbsolute = [4.2, -26.88]) // VerticalLineHorizonal
|> line(endAbsolute = [4.2, -26.88]) // VerticalLineHorizontal
|> line(endAbsolute = [5.04, -26.88]) // HorizontalLineRelative
|> line(endAbsolute = [5.04, -26.04]) // VerticalLineHorizonal
|> line(endAbsolute = [5.04, -26.04]) // VerticalLineHorizontal
|> line(endAbsolute = [0.839996, -20.58]) // MoveRelative
|> line(endAbsolute = [0.839996, -24.36]) // VerticalLineHorizonal
|> line(endAbsolute = [0.839996, -24.36]) // VerticalLineHorizontal
|> line(endAbsolute = [2.52, -24.36]) // HorizontalLineAbsolute
|> line(endAbsolute = [2.52, -25.2]) // VerticalLineHorizonal
|> line(endAbsolute = [2.52, -25.2]) // VerticalLineHorizontal
|> line(endAbsolute = [18.48, -25.2]) // HorizontalLineRelative
|> line(endAbsolute = [18.48, -24.36]) // VerticalLineHorizonal
|> line(endAbsolute = [18.48, -24.36]) // VerticalLineHorizontal
|> line(endAbsolute = [20.16, -24.36]) // HorizontalLineRelative
|> line(endAbsolute = [20.16, -20.58]) // VerticalLineAbsolute
// StopAbsolute
|> line(endAbsolute = [7.56, -24.36]) // MoveAbsolute
|> line(endAbsolute = [7.56, -22.68]) // VerticalLineHorizonal
|> line(endAbsolute = [7.56, -22.68]) // VerticalLineHorizontal
|> line(endAbsolute = [13.44, -22.68]) // HorizontalLineRelative
|> line(endAbsolute = [13.44, -24.36]) // VerticalLineHorizonal
|> line(endAbsolute = [13.44, -24.36]) // VerticalLineHorizontal
|> line(endAbsolute = [1.68, -22.68]) // MoveRelative
|> line(endAbsolute = [1.68, -21.84]) // VerticalLineHorizonal
|> line(endAbsolute = [1.68, -21.84]) // VerticalLineHorizontal
|> line(endAbsolute = [5.88, -21.84]) // HorizontalLineRelative
|> line(endAbsolute = [5.88, -22.68]) // VerticalLineHorizonal
|> line(endAbsolute = [5.88, -22.68]) // VerticalLineHorizontal
|> line(endAbsolute = [3.36, -24.36]) // MoveRelative
|> line(endAbsolute = [3.36, -23.52]) // VerticalLineHorizonal
|> line(endAbsolute = [3.36, -23.52]) // VerticalLineHorizontal
|> line(endAbsolute = [5.88, -23.52]) // HorizontalLineRelative
|> line(endAbsolute = [5.88, -24.36]) // VerticalLineHorizonal
|> line(endAbsolute = [5.88, -24.36]) // VerticalLineHorizontal
|> line(endAbsolute = [15.12, -22.68]) // MoveRelative
|> line(endAbsolute = [15.12, -21.84]) // VerticalLineHorizonal
|> line(endAbsolute = [15.12, -21.84]) // VerticalLineHorizontal
|> line(endAbsolute = [15.959999999999999, -21.84]) // HorizontalLineRelative
|> line(endAbsolute = [15.959999999999999, -22.68]) // VerticalLineHorizonal
|> line(endAbsolute = [15.959999999999999, -22.68]) // VerticalLineHorizontal
|> line(endAbsolute = [16.8, -22.68]) // MoveRelative
|> line(endAbsolute = [16.8, -21.84]) // VerticalLineHorizonal
|> line(endAbsolute = [16.8, -21.84]) // VerticalLineHorizontal
|> line(endAbsolute = [17.64, -21.84]) // HorizontalLineRelative
|> line(endAbsolute = [17.64, -22.68]) // VerticalLineHorizonal
|> line(endAbsolute = [17.64, -22.68]) // VerticalLineHorizontal
|> line(endAbsolute = [18.48, -22.68]) // MoveRelative
|> line(endAbsolute = [18.48, -21.84]) // VerticalLineHorizonal
|> line(endAbsolute = [18.48, -21.84]) // VerticalLineHorizontal
|> line(endAbsolute = [19.32, -21.84]) // HorizontalLineRelative
|> line(endAbsolute = [19.32, -22.68]) // VerticalLineHorizonal
|> line(endAbsolute = [19.32, -22.68]) // VerticalLineHorizontal
|> line(endAbsolute = [15.12, -24.36]) // MoveRelative
|> line(endAbsolute = [15.12, -23.52]) // VerticalLineHorizonal
|> line(endAbsolute = [15.12, -23.52]) // VerticalLineHorizontal
|> line(endAbsolute = [17.64, -23.52]) // HorizontalLineRelative
|> line(endAbsolute = [17.64, -24.36]) // VerticalLineHorizonal
|> line(endAbsolute = [17.64, -24.36]) // VerticalLineHorizontal
|> line(endAbsolute = [18.48, -5.88]) // MoveAbsolute
|> line(endAbsolute = [18.48, -5.04]) // VerticalLineAbsolute
|> line(endAbsolute = [17.64, -5.04]) // HorizontalLineAbsolute
@ -110,35 +110,35 @@ svg = startSketchOn(XY)
|> line(endAbsolute = [17.64, -9.24001]) // HorizontalLineAbsolute
|> line(endAbsolute = [17.64, -10.08]) // VerticalLineAbsolute
|> line(endAbsolute = [18.48, -10.08]) // HorizontalLineRelative
|> line(endAbsolute = [18.48, -16.8]) // VerticalLineHorizonal
|> line(endAbsolute = [18.48, -16.8]) // VerticalLineHorizontal
|> line(endAbsolute = [17.64, -16.8]) // HorizontalLineRelative
|> line(endAbsolute = [17.64, -17.64]) // VerticalLineHorizonal
|> line(endAbsolute = [17.64, -17.64]) // VerticalLineHorizontal
|> line(endAbsolute = [3.36, -17.64]) // HorizontalLineAbsolute
|> line(endAbsolute = [3.36, -16.8]) // VerticalLineAbsolute
|> line(endAbsolute = [2.52, -16.8]) // HorizontalLineAbsolute
|> line(endAbsolute = [2.52, -10.080000000000002]) // VerticalLineHorizonal
|> line(endAbsolute = [2.52, -10.080000000000002]) // VerticalLineHorizontal
|> line(endAbsolute = [13.44, -10.92]) // MoveRelative
|> line(endAbsolute = [13.44, -10.08]) // VerticalLineHorizonal
|> line(endAbsolute = [13.44, -10.08]) // VerticalLineHorizontal
|> line(endAbsolute = [15.12, -10.08]) // HorizontalLineRelative
|> line(endAbsolute = [15.12, -13.44]) // VerticalLineHorizonal
|> line(endAbsolute = [15.12, -13.44]) // VerticalLineHorizontal
|> line(endAbsolute = [14.28, -13.44]) // HorizontalLineRelative
|> line(endAbsolute = [9.24, -13.44]) // MoveRelative
|> line(endAbsolute = [11.76, -13.44]) // HorizontalLineRelative
|> line(endAbsolute = [11.76, -14.28]) // VerticalLineHorizonal
|> line(endAbsolute = [11.76, -14.28]) // VerticalLineHorizontal
|> line(endAbsolute = [10.92, -14.28]) // HorizontalLineRelative here
|> line(endAbsolute = [10.92, -15.959999999999999]) // VerticalLineHorizonal
|> line(endAbsolute = [10.92, -15.959999999999999]) // VerticalLineHorizontal
|> line(endAbsolute = [13.44, -15.959999999999999]) // HorizontalLineRelative
|> line(endAbsolute = [13.44, -15.12]) // VerticalLineHorizonal
|> line(endAbsolute = [13.44, -15.12]) // VerticalLineHorizontal
|> line(endAbsolute = [14.28, -15.12]) // HorizontalLineRelative
|> line(endAbsolute = [14.28, -15.959999999999999]) // VerticalLineHorizonal
|> line(endAbsolute = [14.28, -15.959999999999999]) // VerticalLineHorizontal
|> line(endAbsolute = [13.44, -15.959999999999999]) // HorizontalLineAbsolute
|> line(endAbsolute = [13.44, -16.8]) // VerticalLineAbsolute
|> line(endAbsolute = [7.56, -16.8]) // HorizontalLineAbsolute
|> line(endAbsolute = [7.56, -15.96]) // VerticalLineAbsolute
|> line(endAbsolute = [6.72, -15.96]) // HorizontalLineAbsolute
|> line(endAbsolute = [6.72, -15.120000000000001]) // VerticalLineHorizonal
|> line(endAbsolute = [6.72, -15.120000000000001]) // VerticalLineHorizontal
|> line(endAbsolute = [7.56, -15.120000000000001]) // HorizontalLineRelative
|> line(endAbsolute = [7.56, -15.96]) // VerticalLineHorizonal
|> line(endAbsolute = [7.56, -15.96]) // VerticalLineHorizontal
|> line(endAbsolute = [10.08, -15.96]) // HorizontalLineRelative
|> line(endAbsolute = [10.08, -14.28]) // VerticalLineAbsolute
|> line(endAbsolute = [9.24, -14.28]) // HorizontalLineAbsolute
@ -147,13 +147,13 @@ svg = startSketchOn(XY)
|> line(endAbsolute = [5.04, -11.76]) // HorizontalLineAbsolute
|> line(endAbsolute = [5.04, -12.6]) // VerticalLineAbsolute
|> line(endAbsolute = [4.2, -12.6]) // HorizontalLineAbsolute
|> line(endAbsolute = [4.2, -11.76]) // VerticalLineHorizonal
|> line(endAbsolute = [4.2, -11.76]) // VerticalLineHorizontal
|> line(endAbsolute = [5.04, -11.76]) // HorizontalLineRelative
|> line(endAbsolute = [5.04, -10.92]) // VerticalLineHorizonal
|> line(endAbsolute = [5.04, -10.92]) // VerticalLineHorizontal
|> line(endAbsolute = [7.5600000000000005, -10.92]) // HorizontalLineRelative
|> line(endAbsolute = [7.5600000000000005, -11.76]) // VerticalLineHorizonal
|> line(endAbsolute = [7.5600000000000005, -11.76]) // VerticalLineHorizontal
|> line(endAbsolute = [8.4, -11.76]) // HorizontalLineAbsolute
|> line(endAbsolute = [8.4, -12.6]) // VerticalLineHorizonal
|> line(endAbsolute = [8.4, -12.6]) // VerticalLineHorizontal
|> line(endAbsolute = [3.36, -5.88]) // MoveAbsolute
|> line(endAbsolute = [3.36, -5.04]) // VerticalLineAbsolute
|> line(endAbsolute = [4.2, -5.04]) // HorizontalLineAbsolute
@ -167,9 +167,9 @@ svg = startSketchOn(XY)
|> line(endAbsolute = [7.56, -1.68]) // HorizontalLineAbsolute
|> line(endAbsolute = [7.56, -3.36]) // VerticalLineAbsolute
|> line(endAbsolute = [8.4, -3.36]) // HorizontalLineAbsolute
|> line(endAbsolute = [8.4, -5.04]) // VerticalLineHorizonal
|> line(endAbsolute = [8.4, -5.04]) // VerticalLineHorizontal
|> line(endAbsolute = [9.24, -5.04]) // HorizontalLineRelative
|> line(endAbsolute = [9.24, -5.88]) // VerticalLineHorizonal
|> line(endAbsolute = [9.24, -5.88]) // VerticalLineHorizontal
|> line(endAbsolute = [17.64, -5.04]) // MoveAbsolute
|> line(endAbsolute = [17.64, -5.88]) // VerticalLineAbsolute
|> line(endAbsolute = [11.76, -5.88]) // HorizontalLineAbsolute
@ -183,15 +183,15 @@ svg = startSketchOn(XY)
|> line(endAbsolute = [15.12, -0.83999599]) // HorizontalLineRelative
|> line(endAbsolute = [15.12, -1.68]) // VerticalLineAbsolute
|> line(endAbsolute = [15.959999999999999, -1.68]) // HorizontalLineRelative
|> line(endAbsolute = [15.959999999999999, -3.36]) // VerticalLineHorizonal
|> line(endAbsolute = [15.959999999999999, -3.36]) // VerticalLineHorizontal
|> line(endAbsolute = [16.8, -3.36]) // HorizontalLineRelative
|> line(endAbsolute = [16.8, -5.04]) // VerticalLineHorizonal
|> line(endAbsolute = [16.8, -5.04]) // VerticalLineHorizontal
|> line(endAbsolute = [13.44, -1.68]) // MoveAbsolute
|> line(endAbsolute = [13.44, -0]) // VerticalLineAbsolute
|> line(endAbsolute = [15.959999999999999, -0]) // HorizontalLineRelative
|> line(endAbsolute = [15.959999999999999, -1.68]) // VerticalLineHorizonal
|> line(endAbsolute = [15.959999999999999, -1.68]) // VerticalLineHorizontal
|> line(endAbsolute = [16.8, -1.68]) // HorizontalLineRelative
|> line(endAbsolute = [16.8, -3.36]) // VerticalLineHorizonal
|> line(endAbsolute = [16.8, -3.36]) // VerticalLineHorizontal
|> line(endAbsolute = [17.64, -3.36]) // HorizontalLineRelative
|> line(endAbsolute = [17.64, -4.62]) // VerticalLineAbsolute
|> line(endAbsolute = [16.8, -4.62]) // HorizontalLineAbsolute
@ -239,9 +239,9 @@ svg = startSketchOn(XY)
|> line(endAbsolute = [14.28, -5.04]) // HorizontalLineRelative
|> line(endAbsolute = [14.28, -4.2]) // VerticalLineAbsolute
|> line(endAbsolute = [15.12, -4.2]) // HorizontalLineRelative
|> line(endAbsolute = [15.12, -5.04]) // VerticalLineHorizonal
|> line(endAbsolute = [15.12, -5.04]) // VerticalLineHorizontal
|> line(endAbsolute = [15.959999999999999, -5.04]) // HorizontalLineRelative
|> line(endAbsolute = [15.959999999999999, -5.88]) // VerticalLineHorizonal
|> line(endAbsolute = [15.959999999999999, -5.88]) // VerticalLineHorizontal
|> line(endAbsolute = [5.88, -5.04]) // MoveAbsolute
|> line(endAbsolute = [5.88, -4.2]) // VerticalLineAbsolute
|> line(endAbsolute = [6.72, -4.2]) // HorizontalLineAbsolute
@ -255,9 +255,9 @@ svg = startSketchOn(XY)
|> line(endAbsolute = [16.8, -5.04]) // HorizontalLineAbsolute
|> line(endAbsolute = [16.8, -4.2]) // VerticalLineAbsolute
|> line(endAbsolute = [17.64, -4.2]) // HorizontalLineRelative
|> line(endAbsolute = [17.64, -5.04]) // VerticalLineHorizonal
|> line(endAbsolute = [17.64, -5.04]) // VerticalLineHorizontal
|> line(endAbsolute = [18.48, -5.04]) // HorizontalLineRelative
|> line(endAbsolute = [18.48, -5.88]) // VerticalLineHorizonal
|> line(endAbsolute = [18.48, -5.88]) // VerticalLineHorizontal
|> line(endAbsolute = [3.36, -5.04]) // MoveAbsolute
|> line(endAbsolute = [3.36, -5.88]) // VerticalLineAbsolute
|> line(endAbsolute = [2.52, -5.88]) // HorizontalLineAbsolute
@ -265,10 +265,10 @@ svg = startSketchOn(XY)
|> line(endAbsolute = [3.36, -5.04]) // HorizontalLineAbsolute
|> line(endAbsolute = [3.36, -4.2]) // VerticalLineAbsolute
|> line(endAbsolute = [4.2, -4.2]) // HorizontalLineAbsolute
|> line(endAbsolute = [4.2, -5.04]) // VerticalLineHorizonal
|> line(endAbsolute = [4.2, -5.04]) // VerticalLineHorizontal
|> line(endAbsolute = [8.4, -4.2]) // MoveRelative
|> line(endAbsolute = [9.24, -4.2]) // HorizontalLineRelative
|> line(endAbsolute = [9.24, -5.04]) // VerticalLineHorizonal
|> line(endAbsolute = [9.24, -5.04]) // VerticalLineHorizontal
|> line(endAbsolute = [10.08, -5.04]) // HorizontalLineRelative
|> line(endAbsolute = [10.08, -5.88]) // VerticalLineAbsolute
|> line(endAbsolute = [9.24, -5.88]) // HorizontalLineAbsolute
@ -284,7 +284,7 @@ svg = startSketchOn(XY)
|> line(endAbsolute = [11.76, -5.04]) // HorizontalLineRelative
|> line(endAbsolute = [14.28, -10.92]) // MoveRelative
|> line(endAbsolute = [13.44, -10.92]) // HorizontalLineRelative
|> line(endAbsolute = [13.44, -13.44]) // VerticalLineHorizonal
|> line(endAbsolute = [13.44, -13.44]) // VerticalLineHorizontal
|> line(endAbsolute = [14.28, -13.44]) // HorizontalLineRelative
|> close(%)
|> extrude(length = 1)

View File

@ -95,8 +95,8 @@ export async function applyUnionFromTargetOperatorSelections(
)
const lastVars: VariableDeclaration[] = []
for (const orderedArtifactLeafs of orderedChildrenEach) {
const lastVar = getLastVariable(orderedArtifactLeafs, ast)
for (const orderedArtifactLeaves of orderedChildrenEach) {
const lastVar = getLastVariable(orderedArtifactLeaves, ast)
if (!lastVar) continue
lastVars.push(lastVar.variableDeclaration.node)
}
@ -142,8 +142,8 @@ export async function applyIntersectFromTargetOperatorSelections(
)
const lastVars: VariableDeclaration[] = []
for (const orderedArtifactLeafs of orderedChildrenEach) {
const lastVar = getLastVariable(orderedArtifactLeafs, ast)
for (const orderedArtifactLeaves of orderedChildrenEach) {
const lastVar = getLastVariable(orderedArtifactLeaves, ast)
if (!lastVar) continue
lastVars.push(lastVar.variableDeclaration.node)
}

View File

@ -150,7 +150,7 @@ yo2 = hmm([identifierGuy + 5])`
// because the unlabeled arg will default to %. However, the `isNodeSafeToReplacePath`
// function doesn't yet check for this (because it cannot differentiate between
// a function that relies on this default unlabeled arg, and a function with no unlabeled arg)
const rangeStart = code.indexOf('ine(%, end = [2.8,')
const rangeStart = code.indexOf('line(%, end = [2.8,')
expect(rangeStart).toBeGreaterThanOrEqual(0)
const result = isNodeSafeToReplace(
ast,

View File

@ -620,14 +620,14 @@ const setAngledIntersectLineForLines: CreateStdLibSketchCallExpr = ({
angle = asNum(args[0].expr.value)
if (err(val) || err(angle)) return REF_NUM_ERR
const valueUsedInTransform = roundOff(val, 2)
const varNamMap: { [key: number]: string } = {
const varNameMap: { [key: number]: string } = {
0: 'ZERO',
90: 'QUARTER_TURN',
180: 'HALF_TURN',
270: 'THREE_QUARTER_TURN',
}
const angleVal = [0, 90, 180, 270].includes(angle)
? createName(['turns'], varNamMap[angle])
? createName(['turns'], varNameMap[angle])
: createLiteral(angle)
return intersectCallWrapper({
fnName: 'angledLineThatIntersects',
@ -660,7 +660,7 @@ const setAngledIntersectForAngledLines: CreateStdLibSketchCallExpr = ({
}
const setAngleBetweenCreateNode =
(tranformToType: 'none' | 'xAbs' | 'yAbs'): CreateStdLibSketchCallExpr =>
(transformToType: 'none' | 'xAbs' | 'yAbs'): CreateStdLibSketchCallExpr =>
({
referenceSegName,
tag,
@ -689,14 +689,14 @@ const setAngleBetweenCreateNode =
forceValueUsedInTransform || createLiteral(valueUsedInTransform),
])
return createCallWrapper(
tranformToType === 'none'
transformToType === 'none'
? 'angledLine'
: tranformToType === 'xAbs'
: transformToType === 'xAbs'
? 'angledLineToX'
: 'angledLineToY',
tranformToType === 'none'
transformToType === 'none'
? [binExp, args[1].expr]
: tranformToType === 'xAbs'
: transformToType === 'xAbs'
? [binExp, inputs[0].expr]
: [binExp, inputs[1].expr],
tag,

View File

@ -82,7 +82,7 @@ export type SegmentInputs =
*
* @property segmentInput - The input segment data, which can be either a straight segment or an arc segment.
* @property replaceExistingCallback - An optional callback function to replace an existing call expression,
* if not provided, a new call expression will be added using segMentInput values.
* if not provided, a new call expression will be added using segmentInput values.
* @property referencedSegment - An optional path to a referenced segment.
* @property spliceBetween=false - Defaults to false. Normal behavior is to add a new callExpression to the end of the pipeExpression.
*/

View File

@ -289,14 +289,14 @@ export function createNamedViewsCommand() {
},
})
const isPerpsective = !engineViewData.is_ortho
const isPerspective = !engineViewData.is_ortho
// Update the GUI for orthographic and projection
settingsActor.send({
type: 'set.modeling.cameraProjection',
data: {
level: 'user',
value: isPerpsective ? 'perspective' : 'orthographic',
value: isPerspective ? 'perspective' : 'orthographic',
},
})

View File

@ -462,7 +462,7 @@ const getAppFolderName = () => {
return APP_ID
}
// TODO: we need to make linux use the same convention this is weird
// This variable below gets the -nightly suffix on nighly too thru scripts/flip-files-to-nightly.sh
// This variable below gets the -nightly suffix on nightly too thru scripts/flip-files-to-nightly.sh
// But it should be consistent with the reserve domain app id we use on Windows and Linux
return window.electron.packageJson.name
}

View File

@ -2232,7 +2232,7 @@ export const modelingMachine = setup({
return new Error('Bad artifact from selection')
}
// Check on the selection, and handle the wall vs cap casees
// Check on the selection, and handle the wall vs cap cases
let expr: Expr
if (selectedArtifact.type === 'cap') {
expr = createLiteral(selectedArtifact.subType)

View File

@ -17,7 +17,7 @@ import type { AppMachineContext } from '@src/lib/types'
* report = fileNameWithoutExtension
* report.csv = fileNameWithExtension
* /some/dir/report.csv = absolutePathToFileNameWithExtension
* /some/dir/report = aboslutePathTOFileNameWithoutExtension
* /some/dir/report = absolutePathTOFileNameWithoutExtension
* /some/dir/dreport = absolutePathToDirectory
* some/dir/report = relativePathToDirectory
* some/dir/report = relativePathFileWithoutExtension