From 35eb117c4eb724bd431cd0270c0091cfa0fd7900 Mon Sep 17 00:00:00 2001 From: neil Date: Thu, 12 Oct 2023 14:27:51 -0400 Subject: [PATCH] Initial commit --- .env.example | 1 + .eslintrc.json | 3 + .gitignore | 34 ++ README.md | 38 ++ components/canvascomponent.js | 150 +++++ components/textinput.js | 21 + components/textinput.module.css | 14 + image_proc_server/app.py | 149 +++++ image_proc_server/greenoutput.png | Bin 0 -> 69318 bytes image_proc_server/output.png | Bin 0 -> 79275 bytes image_proc_server/temp_mask_image.png | Bin 0 -> 58188 bytes .../temp_mask_image_grayscale.png | Bin 0 -> 21585 bytes jsconfig.json | 7 + next.config.js | 29 + package.json | 31 ++ pages/_app.js | 5 + pages/_document.js | 13 + pages/api/hello.js | 5 + pages/api/predictions/[id].js | 20 + pages/api/predictions/index.js | 33 ++ pages/index.js | 520 ++++++++++++++++++ public/favicon.ico | Bin 0 -> 25931 bytes public/next.svg | 1 + public/sneaker.glb | Bin 0 -> 12905060 bytes public/thirteen.svg | 1 + public/vercel.svg | 1 + styles/Home.module.css | 35 ++ styles/globals.css | 111 ++++ styles/studio.module.css | 176 ++++++ 29 files changed, 1398 insertions(+) create mode 100644 .env.example create mode 100644 .eslintrc.json create mode 100644 .gitignore create mode 100644 README.md create mode 100644 components/canvascomponent.js create mode 100644 components/textinput.js create mode 100644 components/textinput.module.css create mode 100644 image_proc_server/app.py create mode 100644 image_proc_server/greenoutput.png create mode 100644 image_proc_server/output.png create mode 100644 image_proc_server/temp_mask_image.png create mode 100644 image_proc_server/temp_mask_image_grayscale.png create mode 100644 jsconfig.json create mode 100644 next.config.js create mode 100644 package.json create mode 100644 pages/_app.js create mode 100644 pages/_document.js create mode 100644 pages/api/hello.js create mode 100644 pages/api/predictions/[id].js create mode 100644 pages/api/predictions/index.js create mode 100644 pages/index.js create mode 100644 public/favicon.ico create mode 100644 public/next.svg create mode 100644 public/sneaker.glb create mode 100644 public/thirteen.svg create mode 100644 public/vercel.svg create mode 100644 styles/Home.module.css create mode 100644 styles/globals.css create mode 100644 styles/studio.module.css diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..5bcf87d --- /dev/null +++ b/.env.example @@ -0,0 +1 @@ +REPLICATE_API_TOKEN=YOUR_API_TOKEN \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..bffb357 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": "next/core-web-vitals" +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..dc583c1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,34 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# local env files +.env*.local + +# vercel +.vercel + +/image_proc_server/__pycache__ diff --git a/README.md b/README.md new file mode 100644 index 0000000..ca8a3a2 --- /dev/null +++ b/README.md @@ -0,0 +1,38 @@ +This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). + +## Getting Started + +First, run the development server: + +```bash +npm run dev +# or +yarn dev +# or +pnpm dev +``` + +Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. + +You can start editing the page by modifying `pages/index.js`. The page auto-updates as you edit the file. + +[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.js`. + +The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages. + +This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font. + +## Learn More + +To learn more about Next.js, take a look at the following resources: + +- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. +- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. + +You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! + +## Deploy on Vercel + +The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. + +Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. diff --git a/components/canvascomponent.js b/components/canvascomponent.js new file mode 100644 index 0000000..1ee8568 --- /dev/null +++ b/components/canvascomponent.js @@ -0,0 +1,150 @@ +import React, { useRef, useState } from 'react' +import { Canvas, useFrame, useThree } from '@react-three/fiber' +import styles from "../styles/studio.module.css"; +import { OrbitControls } from '@react-three/drei' + +import { useLoader } from '@react-three/fiber' +import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader' +import { useGLTF, useGLB } from "@react-three/drei"; + +// export function CanvasComponent({setCanvasRef}) { + + +// return ( +// <> +// +// +// +// + +// +// ) +// } + +// function Scene({setCanvasRef}) { +// const gl = useThree((state) => state.gl) +// setCanvasRef(gl.domElement); + + +// return ( +// <> +// +// + +// +// +// ) +// } + + + +// function Model(props) { +// const { nodes, materials } = useGLTF("/sneaker.glb"); +// return ( +// +// +// +// +// +// +// +// +// +// ); +// } + +// useGLTF.preload("/sneaker.glb"); + + + +export function CanvasComponent({setCanvasRef, gltfModel}) { + + + return ( + <> + + + + + + + ) +} + + +// function Scene({ setCanvasRef, gltfModel }) { +// const gl = useThree((state) => state.gl) +// setCanvasRef(gl.domElement); + +// return ( +// <> + +// +// +// ) +// } + + +function Scene({ setCanvasRef, gltfModel }) { + const { gl, camera } = useThree(); + + // Set camera position closer to the object + // camera.position.set(0, 0, 5); // x, y, z + + setCanvasRef(gl.domElement); + + return ( + <> + + + // highlight-line + + + ); +} + + +function Model({ gltfModel, ...props }) { + + console.log(gltfModel) + + + const { nodes, materials } = gltfModel; + + console.log("model loaded") + return ( + + + + + ); +} + +function Light({ brightness, color }) { + return ( + + ); +} +// useGLTF.preload("/sneaker.glb"); \ No newline at end of file diff --git a/components/textinput.js b/components/textinput.js new file mode 100644 index 0000000..1cad6ad --- /dev/null +++ b/components/textinput.js @@ -0,0 +1,21 @@ +import React, { useState } from 'react'; +import styles from "./textinput.module.css"; + +function TextInput({ onTextChange }) { + const [text, setText] = useState(''); + + function handleTextChange(event) { + const newText = event.target.value; + setText(newText); + onTextChange(newText); + } + + return ( +
+ +