diff --git a/.gitignore b/.gitignore
index 05024a0..1268ade 100644
--- a/.gitignore
+++ b/.gitignore
@@ -21,4 +21,4 @@
npm-debug.log*
yarn-debug.log*
yarn-error.log*
-.tar
+*.tar
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 0000000..8fdf3e5
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index d379bce..6280c05 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -21,9 +21,11 @@
"@types/node": "^16.18.126",
"@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3",
+ "motion": "^12.34.3",
"react": "^19.2.4",
"react-dom": "^19.2.4",
"react-scripts": "5.0.1",
+ "three": "^0.183.2",
"typescript": "^4.9.5",
"web-vitals": "^2.1.4"
},
@@ -8699,6 +8701,33 @@
"url": "https://github.com/sponsors/rawify"
}
},
+ "node_modules/framer-motion": {
+ "version": "12.34.3",
+ "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.34.3.tgz",
+ "integrity": "sha512-v81ecyZKYO/DfpTwHivqkxSUBzvceOpoI+wLfgCgoUIKxlFKEXdg0oR9imxwXumT4SFy8vRk9xzJ5l3/Du/55Q==",
+ "license": "MIT",
+ "dependencies": {
+ "motion-dom": "^12.34.3",
+ "motion-utils": "^12.29.2",
+ "tslib": "^2.4.0"
+ },
+ "peerDependencies": {
+ "@emotion/is-prop-valid": "*",
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@emotion/is-prop-valid": {
+ "optional": true
+ },
+ "react": {
+ "optional": true
+ },
+ "react-dom": {
+ "optional": true
+ }
+ }
+ },
"node_modules/fresh": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
@@ -11800,6 +11829,47 @@
"mkdirp": "bin/cmd.js"
}
},
+ "node_modules/motion": {
+ "version": "12.34.3",
+ "resolved": "https://registry.npmjs.org/motion/-/motion-12.34.3.tgz",
+ "integrity": "sha512-xZIkBGO7v/Uvm+EyaqYd+9IpXu0sZqLywVlGdCFrrMiaO9JI4Kx51mO9KlHSWwll+gZUVY5OJsWgYI5FywJ/tw==",
+ "license": "MIT",
+ "dependencies": {
+ "framer-motion": "^12.34.3",
+ "tslib": "^2.4.0"
+ },
+ "peerDependencies": {
+ "@emotion/is-prop-valid": "*",
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@emotion/is-prop-valid": {
+ "optional": true
+ },
+ "react": {
+ "optional": true
+ },
+ "react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/motion-dom": {
+ "version": "12.34.3",
+ "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-12.34.3.tgz",
+ "integrity": "sha512-sYgFe+pR9aIM7o4fhs2aXtOI+oqlUd33N9Yoxcgo1Fv7M20sRkHtCmzE/VRNIcq7uNJ+qio+Xubt1FXH3pQ+eQ==",
+ "license": "MIT",
+ "dependencies": {
+ "motion-utils": "^12.29.2"
+ }
+ },
+ "node_modules/motion-utils": {
+ "version": "12.29.2",
+ "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-12.29.2.tgz",
+ "integrity": "sha512-G3kc34H2cX2gI63RqU+cZq+zWRRPSsNIOjpdl9TN4AQwC4sgwYPl/Q/Obf/d53nOm569T0fYK+tcoSV50BWx8A==",
+ "license": "MIT"
+ },
"node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
@@ -16242,6 +16312,12 @@
"node": ">=0.8"
}
},
+ "node_modules/three": {
+ "version": "0.183.2",
+ "resolved": "https://registry.npmjs.org/three/-/three-0.183.2.tgz",
+ "integrity": "sha512-di3BsL2FEQ1PA7Hcvn4fyJOlxRRgFYBpMTcyOgkwJIaDOdJMebEFPA+t98EvjuljDx4hNulAGwF6KIjtwI5jgQ==",
+ "license": "MIT"
+ },
"node_modules/throat": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz",
diff --git a/package.json b/package.json
index 0f728d1..98f1033 100644
--- a/package.json
+++ b/package.json
@@ -16,9 +16,11 @@
"@types/node": "^16.18.126",
"@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3",
+ "motion": "^12.34.3",
"react": "^19.2.4",
"react-dom": "^19.2.4",
"react-scripts": "5.0.1",
+ "three": "^0.183.2",
"typescript": "^4.9.5",
"web-vitals": "^2.1.4"
},
diff --git a/src/App.scss b/src/App.scss
deleted file mode 100644
index 0b89a36..0000000
--- a/src/App.scss
+++ /dev/null
@@ -1,34 +0,0 @@
-$padding: 15px;
-
-.header {
- background-color: #282c34;
- padding: $padding;
- display: flex;
- justify-items: center;
- font-size: calc(10px + 2vmin);
- color: white;
-}
-
-.menu {
- position: absolute;
-
- background: none;
- border: none;
- color: white;
- text-decoration: underline;
- cursor: pointer;
-}
-
-button {
-
-}
-
-.name {
- margin: auto;
-}
-
-.main {
- display: flex;
- flex-direction: column;
- align-items: center;
-}
\ No newline at end of file
diff --git a/src/App.tsx b/src/App.tsx
deleted file mode 100644
index ec76284..0000000
--- a/src/App.tsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import React from 'react';
-import './App.scss';
-import {Canvas} from "./index/Canvas";
-import {Nav} from "./Nav";
-
-function App() {
- return (
-
-
-
-
- );
-}
-
-export default App;
\ No newline at end of file
diff --git a/src/Nav.tsx b/src/Nav.tsx
deleted file mode 100644
index 039f4b8..0000000
--- a/src/Nav.tsx
+++ /dev/null
@@ -1,13 +0,0 @@
-import React from "react";
-import {FontAwesomeIcon} from "@fortawesome/react-fontawesome";
-import {faBars} from "@fortawesome/free-solid-svg-icons/faBars";
-
-export function Nav() {
- return ;
-}
\ No newline at end of file
diff --git a/src/index.css b/src/index.css
index ec2585e..2a9c3c8 100644
--- a/src/index.css
+++ b/src/index.css
@@ -1,5 +1,8 @@
body {
margin: 0;
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
sans-serif;
@@ -11,3 +14,10 @@ code {
font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
monospace;
}
+
+button {
+ background: none;
+ border: none;
+ color: white;
+ cursor: pointer;
+}
\ No newline at end of file
diff --git a/src/index.tsx b/src/index.tsx
index 032464f..beba40a 100644
--- a/src/index.tsx
+++ b/src/index.tsx
@@ -1,15 +1,18 @@
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
-import App from './App';
import reportWebVitals from './reportWebVitals';
+import {Canvas} from "./index/Canvas";
+import {Nav} from "./nav/Nav";
const root = ReactDOM.createRoot(
document.getElementById('root') as HTMLElement
);
+
root.render(
-
+
+
);