diff --git a/LICENSE b/LICENSE index 199e55b6f..c97c826f5 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2023 The KittyCAD Authors +Copyright (c) 2023 The Zoo Authors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 4e6cc6cfd..a8f92655c 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,17 @@ -![KittyCAD Modeling App](/public/kcma-logomark-outlined.png) +![Zoo Modeling App](/public/zma-logomark-outlined.png) -## KittyCAD Modeling App +## Zoo Modeling App -live at [app.kittycad.io](https://app.kittycad.io/) +live at [app.zoo.dev](https://app.zoo.dev/) -A CAD application from the future, brought to you by the [KittyCAD team](https://kittycad.io). +A CAD application from the future, brought to you by the [Zoo team](https://zoo.dev). -The KittyCAD modeling app is our take on what a modern modelling experience can be. It is applying several lessons learned in the decades since most major CAD tools came into existence: +Modeling App is our take on what a modern modelling experience can be. It is applying several lessons learned in the decades since most major CAD tools came into existence: - All artifacts—including parts and assemblies—should be represented as human-readable code. At the end of the day, your CAD project should be "plain text" - This makes version control—which is a solved problem in software engineering—trivial for CAD - All GUI (or point-and-click) interactions should be actions performed on this code representation under the hood - - This unlocks a hybrid approach to modeling. Whether you point-and-click as you always have or you write your own KCL code, you are performing the same action in KittyCAD Modeling App + - This unlocks a hybrid approach to modeling. Whether you point-and-click as you always have or you write your own KCL code, you are performing the same action in Modeling App - Everything graphics _has_ to be built for the GPU - Most CAD applications have had to retrofit support for GPUs, but our geometry engine is made for GPUs (primarily Nvidia's Vulkan), getting the order of magnitude rendering performance boost with it - Make the resource-intensive pieces of an application auto-scaling @@ -19,9 +19,9 @@ The KittyCAD modeling app is our take on what a modern modelling experience can We are excited about what a small team of people could build in a short time with our API. We welcome you to try our API, build your own applications, or contribute to ours! -KittyCAD Modeling App is a _hybrid_ user interface for CAD modeling. You can point-and-click to design parts (and soon assemblies), but everything you make is really just [`kcl` code](https://github.com/KittyCAD/kcl-experiments) under the hood. All of your CAD models can be checked into source control such as GitHub and responsibly versioned, rolled back, and more. +Modeling App is a _hybrid_ user interface for CAD modeling. You can point-and-click to design parts (and soon assemblies), but everything you make is really just [`kcl` code](https://github.com/KittyCAD/kcl-experiments) under the hood. All of your CAD models can be checked into source control such as GitHub and responsibly versioned, rolled back, and more. -The 3D view in KittyCAD Modeling App is just a video stream from our hosted geometry engine. The app sends new modeling commands to the engine via WebSockets, which returns back video frames of the view within the engine. +The 3D view in Modeling App is just a video stream from our hosted geometry engine. The app sends new modeling commands to the engine via WebSockets, which returns back video frames of the view within the engine. ## Tools @@ -185,7 +185,7 @@ First time running plawright locally, you'll need to add the secrets file touch ./e2e/playwright/playwright-secrets.env echo 'token="your-token"\nsnapshottoken="your-snapshot-token"' > ./e2e/playwright/playwright-secrets2.env ``` -then replace "your-token" with a dev token from dev.kittycad.io/account/api-tokens +then replace "your-token" with a dev token from dev.zoo.dev/account/api-tokens then: run playwright diff --git a/e2e/playwright/snapshot-tests.spec.ts b/e2e/playwright/snapshot-tests.spec.ts index 7babbea94..3129747e0 100644 --- a/e2e/playwright/snapshot-tests.spec.ts +++ b/e2e/playwright/snapshot-tests.spec.ts @@ -6,6 +6,7 @@ import { getUtils } from './test-utils' import { Models } from '@kittycad/lib' import fsp from 'fs/promises' import { spawn } from 'child_process' +import { APP_NAME } from 'lib/constants' test.beforeEach(async ({ context, page }) => { await context.addInitScript(async (token) => { @@ -196,7 +197,7 @@ const part001 = startSketchOn('-XZ') await page.waitForTimeout(1000) await u.clearAndCloseDebugPanel() - await page.getByRole('button', { name: 'KittyCAD Modeling App' }).click() + await page.getByRole('button', { name: APP_NAME }).click() interface Paths { modelPath: string diff --git a/e2e/playwright/snapshot-tests.spec.ts-snapshots/change-camera-show-planes-1-Google-Chrome-linux.png b/e2e/playwright/snapshot-tests.spec.ts-snapshots/change-camera-show-planes-1-Google-Chrome-linux.png index 705493fae..13765f3b4 100644 Binary files a/e2e/playwright/snapshot-tests.spec.ts-snapshots/change-camera-show-planes-1-Google-Chrome-linux.png and b/e2e/playwright/snapshot-tests.spec.ts-snapshots/change-camera-show-planes-1-Google-Chrome-linux.png differ diff --git a/e2e/playwright/snapshot-tests.spec.ts-snapshots/change-camera-show-planes-2-Google-Chrome-linux.png b/e2e/playwright/snapshot-tests.spec.ts-snapshots/change-camera-show-planes-2-Google-Chrome-linux.png index d4bc9a09d..fc5477ea0 100644 Binary files a/e2e/playwright/snapshot-tests.spec.ts-snapshots/change-camera-show-planes-2-Google-Chrome-linux.png and b/e2e/playwright/snapshot-tests.spec.ts-snapshots/change-camera-show-planes-2-Google-Chrome-linux.png differ diff --git a/e2e/playwright/snapshot-tests.spec.ts-snapshots/change-camera-show-planes-3-Google-Chrome-linux.png b/e2e/playwright/snapshot-tests.spec.ts-snapshots/change-camera-show-planes-3-Google-Chrome-linux.png index 5652a902b..08c21900f 100644 Binary files a/e2e/playwright/snapshot-tests.spec.ts-snapshots/change-camera-show-planes-3-Google-Chrome-linux.png and b/e2e/playwright/snapshot-tests.spec.ts-snapshots/change-camera-show-planes-3-Google-Chrome-linux.png differ diff --git a/index.html b/index.html index c26aafda2..7d1082204 100644 --- a/index.html +++ b/index.html @@ -7,12 +7,12 @@ - KittyCAD Modeling App + Modeling App diff --git a/public/roadmap.md b/public/roadmap.md index 440913ad5..bc1192903 100644 --- a/public/roadmap.md +++ b/public/roadmap.md @@ -1,4 +1,4 @@ -## KittyCAD Modeling App Roadmap +## Zoo Modeling App Roadmap This document ties into our [GH Discussions Feature List](https://github.com/KittyCAD/modeling-app/discussions). Please upvote any features that you want to see next, or add ones that are not listed and we will review. diff --git a/public/zma-logomark-dark.svg b/public/zma-logomark-dark.svg new file mode 100644 index 000000000..b655ac151 --- /dev/null +++ b/public/zma-logomark-dark.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/public/zma-logomark-outlined.png b/public/zma-logomark-outlined.png new file mode 100644 index 000000000..311f4f6c5 Binary files /dev/null and b/public/zma-logomark-outlined.png differ diff --git a/public/zma-logomark.svg b/public/zma-logomark.svg new file mode 100644 index 000000000..a992b57c2 --- /dev/null +++ b/public/zma-logomark.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/public/zoo-logo.svg b/public/zoo-logo.svg new file mode 100644 index 000000000..63bef0129 --- /dev/null +++ b/public/zoo-logo.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/Auth.tsx b/src/Auth.tsx index 0f5522097..8b1b188a9 100644 --- a/src/Auth.tsx +++ b/src/Auth.tsx @@ -8,7 +8,7 @@ export const Auth = ({ children }: React.PropsWithChildren) => { return isLoggingIn ? ( - Loading KittyCAD Modeling App... + Loading Modeling App... ) : ( <>{children} diff --git a/src/components/AppHeader.tsx b/src/components/AppHeader.tsx index c0f652995..dd3086f1d 100644 --- a/src/components/AppHeader.tsx +++ b/src/components/AppHeader.tsx @@ -33,7 +33,7 @@ export const AppHeader = ({ className={ 'w-full grid ' + styles.header + - ' overlaid-panes sticky top-0 z-20 py-1 px-5 bg-chalkboard-10/70 dark:bg-chalkboard-100/50 border-b dark:border-b-2 border-chalkboard-30 dark:border-chalkboard-90 items-center ' + + ' overlaid-panes sticky top-0 z-20 py-1 px-2 bg-chalkboard-10/70 dark:bg-chalkboard-100/50 border-b dark:border-b-2 border-chalkboard-30 dark:border-chalkboard-90 items-center ' + className } > diff --git a/src/components/DownloadAppBanner.tsx b/src/components/DownloadAppBanner.tsx index a5ac67036..08f62aec7 100644 --- a/src/components/DownloadAppBanner.tsx +++ b/src/components/DownloadAppBanner.tsx @@ -19,7 +19,7 @@ const DownloadAppBanner = () => {

- KittyCAD Modeling App is better as a desktop app! + Zoo Modeling App is better as a desktop app!

{ , and isn't backed up anywhere! Visit{' '} ) => ( + + + + + + + +) diff --git a/src/components/ProjectSidebarMenu.test.tsx b/src/components/ProjectSidebarMenu.test.tsx index 77da01c1f..0f880d718 100644 --- a/src/components/ProjectSidebarMenu.test.tsx +++ b/src/components/ProjectSidebarMenu.test.tsx @@ -4,6 +4,7 @@ import ProjectSidebarMenu from './ProjectSidebarMenu' import { ProjectWithEntryPointMetadata } from '../Router' import { GlobalStateProvider } from './GlobalStateProvider' import CommandBarProvider from './CommandBar/CommandBar' +import { APP_NAME } from 'lib/constants' const now = new Date() const projectWellFormed = { @@ -71,9 +72,7 @@ describe('ProjectSidebarMenu tests', () => { fireEvent.click(screen.getByTestId('project-sidebar-toggle')) - expect(screen.getByTestId('projectName')).toHaveTextContent( - 'KittyCAD Modeling App' - ) + expect(screen.getByTestId('projectName')).toHaveTextContent(APP_NAME) }) test('Renders as a link if set to do so', () => { diff --git a/src/components/ProjectSidebarMenu.tsx b/src/components/ProjectSidebarMenu.tsx index b8a5ed70c..a123bd7ab 100644 --- a/src/components/ProjectSidebarMenu.tsx +++ b/src/components/ProjectSidebarMenu.tsx @@ -8,6 +8,8 @@ import { ExportButton } from './ExportButton' import { Fragment } from 'react' import { FileTree } from './FileTree' import { sep } from '@tauri-apps/api/path' +import { Logo } from './Logo' +import { APP_NAME } from 'lib/constants' const ProjectSidebarMenu = ({ project, @@ -21,37 +23,29 @@ const ProjectSidebarMenu = ({ return renderAsLink ? ( - KittyCAD App + - {project?.name ? project.name : 'KittyCAD Modeling App'} + {project?.name ? project.name : APP_NAME} ) : ( - KittyCAD App +
{isTauri() && file?.name ? file.name.slice(file.name.lastIndexOf(sep) + 1) - : 'KittyCAD Modeling App'} + : APP_NAME} {isTauri() && project?.name && ( @@ -88,18 +82,13 @@ const ProjectSidebarMenu = ({ {({ close }) => ( <>
- KittyCAD App - +

- {project?.name ? project.name : 'KittyCAD Modeling App'} + {project?.name ? project.name : APP_NAME}

{project?.entrypointMetadata && (

diff --git a/src/routes/Onboarding/CmdK.tsx b/src/routes/Onboarding/CmdK.tsx index 945dfec5b..b266653a3 100644 --- a/src/routes/Onboarding/CmdK.tsx +++ b/src/routes/Onboarding/CmdK.tsx @@ -14,7 +14,7 @@ export default function CmdK() {
diff --git a/src/routes/Onboarding/Export.tsx b/src/routes/Onboarding/Export.tsx index 8012a41c5..9913dc0c7 100644 --- a/src/routes/Onboarding/Export.tsx +++ b/src/routes/Onboarding/Export.tsx @@ -1,3 +1,4 @@ +import { APP_NAME } from 'lib/constants' import { OnboardingButtons, onboardingPaths, useDismiss, useNextClick } from '.' import { useStore } from '../../useStore' @@ -12,7 +13,7 @@ export default function Export() {
@@ -22,9 +23,9 @@ export default function Export() { Try opening the project menu and clicking "Export Model".

- KittyCAD Modeling App uses{' '} + {APP_NAME} uses{' '} @@ -32,7 +33,7 @@ export default function Export() { {' '} for the GLTF file format.{' '} diff --git a/src/routes/Onboarding/FutureWork.tsx b/src/routes/Onboarding/FutureWork.tsx index bc9773c53..c9ac4e518 100644 --- a/src/routes/Onboarding/FutureWork.tsx +++ b/src/routes/Onboarding/FutureWork.tsx @@ -3,6 +3,7 @@ import { useEffect } from 'react' import { bracket } from 'lib/exampleKcl' import { kclManager } from 'lang/KclSinglton' import { useModelingContext } from 'hooks/useModelingContext' +import { APP_NAME } from 'lib/constants' export default function FutureWork() { const { send } = useModelingContext() @@ -22,7 +23,7 @@ export default function FutureWork() { return (

-
+

Future Work

We have curves, cuts, and many more CAD features coming soon. We want @@ -32,10 +33,10 @@ export default function FutureWork() {

If you make anything with the app we'd love to see it! Thank you for - taking time to try out KittyCAD Modeling App, and build the future of - hardware design with us 💚. + taking time to try out {APP_NAME}, and build the future of hardware + design with us.

-

— The KittyCAD Team

+

💚 The Zoo Team

diff --git a/src/routes/Onboarding/Introduction.tsx b/src/routes/Onboarding/Introduction.tsx index 95d1d24dd..33a60c450 100644 --- a/src/routes/Onboarding/Introduction.tsx +++ b/src/routes/Onboarding/Introduction.tsx @@ -21,6 +21,7 @@ import { paths } from 'Router' import { useEffect } from 'react' import { kclManager } from 'lang/KclSinglton' import { sep } from '@tauri-apps/api/path' +import { APP_NAME } from 'lib/constants' function OnboardingWithNewFile() { const navigate = useNavigate() @@ -129,8 +130,8 @@ export default function Introduction() {

KittyCAD Modeling App @@ -139,11 +140,11 @@ export default function Introduction() {

- Welcome to KittyCAD Modeling App! This is a hardware design tool - that lets you edit visually, with code, or both. It's powered by the - first API created for anyone to build hardware design tools. The 3D - view is not running on your computer, but is instead being streamed - to you from a remote GPU as video. + Welcome to {APP_NAME}! This is a hardware design tool that lets you + edit visually, with code, or both. It's powered by the first API + created for anyone to build hardware design tools. The 3D view is + not running on your computer, but is instead being streamed to you + from a remote GPU as video.

This is an alpha release, so you will encounter bugs and missing diff --git a/src/routes/Onboarding/ParametricModeling.tsx b/src/routes/Onboarding/ParametricModeling.tsx index 9531a017a..8d54695eb 100644 --- a/src/routes/Onboarding/ParametricModeling.tsx +++ b/src/routes/Onboarding/ParametricModeling.tsx @@ -29,7 +29,7 @@ export default function ParametricModeling() { >

diff --git a/src/routes/Onboarding/ProjectMenu.tsx b/src/routes/Onboarding/ProjectMenu.tsx index 32211ee9b..81f06d400 100644 --- a/src/routes/Onboarding/ProjectMenu.tsx +++ b/src/routes/Onboarding/ProjectMenu.tsx @@ -13,7 +13,7 @@ export default function ProjectMenu() {
diff --git a/src/routes/Onboarding/Sketching.tsx b/src/routes/Onboarding/Sketching.tsx index 1fda68701..83c158c28 100644 --- a/src/routes/Onboarding/Sketching.tsx +++ b/src/routes/Onboarding/Sketching.tsx @@ -22,7 +22,7 @@ export default function Sketching() {
@@ -35,7 +35,7 @@ export default function Sketching() {

Watch the code pane as you click. Point-and-click interactions are - always just modifying and generating code in KittyCAD Modeling App. + always just modifying and generating code in Zoo Modeling App.

@@ -20,18 +20,18 @@ export default function Streaming() {

Streaming Video

The 3D view is not running on your computer. Instead, our - infrastructure spins up the KittyCAD Geometry Engine on a remote - GPU, KittyCAD Modeling App sends it a series of commands via - Websockets and WebRTC, and the Geometry Engine sends back a video - stream of the 3D view. + infrastructure spins up the Zoo Geometry Engine on a remote GPU, Zoo + Modeling App sends it a series of commands via Websockets and + WebRTC, and the Geometry Engine sends back a video stream of the 3D + view.

- This means that you could run KittyCAD Modeling App on a Chromebook, - a tablet, or even a phone, as long as you have a good internet + This means that you could run Zoo Modeling App on a Chromebook, a + tablet, or even a phone, as long as you have a good internet connection.

- It also means that whatever tools you build on top of the KittyCAD + It also means that whatever tools you build on top of the Zoo Geometry Engine will be able to run on any device with a browser, and you won't have to worry about the performance of the device.

diff --git a/src/routes/Onboarding/UserMenu.tsx b/src/routes/Onboarding/UserMenu.tsx index 1a3605966..95e11ede4 100644 --- a/src/routes/Onboarding/UserMenu.tsx +++ b/src/routes/Onboarding/UserMenu.tsx @@ -12,7 +12,7 @@ export default function UserMenu() {
diff --git a/src/routes/SignIn.tsx b/src/routes/SignIn.tsx index 53b98d2cb..38cd3660f 100644 --- a/src/routes/SignIn.tsx +++ b/src/routes/SignIn.tsx @@ -5,6 +5,7 @@ import { VITE_KC_SITE_BASE_URL, VITE_KC_API_BASE_URL } from '../env' import { Themes, getSystemTheme } from '../lib/theme' import { paths } from '../Router' import { useGlobalStateContext } from 'hooks/useGlobalStateContext' +import { APP_NAME } from 'lib/constants' const SignIn = () => { const { @@ -45,20 +46,20 @@ const SignIn = () => {

- Sign in to get started with the KittyCAD Modeling App + Sign in to get started with the {APP_NAME}

- KCMA is an open-source CAD application for creating accurate 3D models - for use in manufacturing. It is built on top of the KittyCAD API. - KittyCAD is the first software infrastructure company built - specifically for the needs of the manufacturing industry. With KCMA we - are showing how the KittyCAD API can be used to build entirely new - kinds of software for manufacturing. + ZMA is an open-source CAD application for creating accurate 3D models + for use in manufacturing. It is built on top of KittyCAD, the design + API from Zoo. Zoo is the first software infrastructure company built + specifically for the needs of the manufacturing industry. With ZMA we + are showing how the KittyCAD API from Zoo can be used to build + entirely new kinds of software for manufacturing.

- KCMA is currently in development. If you would like to be notified - when KCMA is ready for production, please sign up for our mailing list - at kittycad.io. + ZMA is currently in development. If you would like to be notified when + ZMA is ready for production, please sign up for our mailing list at{' '} + zoo.dev.

{isTauri() ? (