├── .eslintrc.cjs ├── .gitignore ├── .vite └── deps_temp_287c3439 │ └── package.json ├── README.md ├── index.html ├── package-lock.json ├── package.json ├── postcss.config.js ├── public ├── AI_HELPER.glb ├── barber.glb ├── dev7.glb ├── dev7_other.glb ├── house.glb ├── images │ ├── change_logo.png │ ├── change_me.png │ ├── favicon.svg │ ├── logo.png │ └── logo.psd ├── potsdamer_platz_1k.hdr └── vite.svg ├── rotating-cube-react.html ├── rotating-cube-webgl.html ├── rotating-cube.html ├── src ├── App.tsx ├── assets │ └── icons │ │ ├── IconAddImage.tsx │ │ ├── IconBeard.tsx │ │ ├── IconBeard1.tsx │ │ ├── IconBeard2.tsx │ │ ├── IconBeard3.tsx │ │ ├── IconBeard4.tsx │ │ ├── IconCamera.tsx │ │ ├── IconColor.tsx │ │ ├── IconContrast.tsx │ │ ├── IconFace.tsx │ │ ├── IconGlasses.tsx │ │ ├── IconGlasses2.tsx │ │ ├── IconHair1.tsx │ │ ├── IconHair2.tsx │ │ ├── IconHair3.tsx │ │ ├── IconHair4.tsx │ │ ├── IconHats.tsx │ │ ├── IconImage.tsx │ │ ├── IconLight.tsx │ │ ├── IconMenu.tsx │ │ ├── IconMoon.tsx │ │ ├── IconNo.tsx │ │ ├── IconPants1.tsx │ │ ├── IconPants2.tsx │ │ ├── IconPants3.tsx │ │ ├── IconPose.tsx │ │ ├── IconPose0.tsx │ │ ├── IconPose1.tsx │ │ ├── IconPose10.tsx │ │ ├── IconPose11.tsx │ │ ├── IconPose12.tsx │ │ ├── IconPose13.tsx │ │ ├── IconPose14.tsx │ │ ├── IconPose15.tsx │ │ ├── IconPose16.tsx │ │ ├── IconPose17.tsx │ │ ├── IconPose18.tsx │ │ ├── IconPose19.tsx │ │ ├── IconPose2.tsx │ │ ├── IconPose20.tsx │ │ ├── IconPose3.tsx │ │ ├── IconPose4.tsx │ │ ├── IconPose5.tsx │ │ ├── IconPose6.tsx │ │ ├── IconPose7.tsx │ │ ├── IconPose8.tsx │ │ ├── IconPose9.tsx │ │ ├── IconShoes1.tsx │ │ ├── IconShoes2.tsx │ │ ├── IconShoes3.tsx │ │ ├── IconSun.tsx │ │ ├── IconT1.tsx │ │ ├── IconT2.tsx │ │ ├── IconWatch.tsx │ │ └── Logo.tsx ├── components │ ├── BarberShop.tsx │ ├── Camera.tsx │ ├── Character.tsx │ ├── CharacterControls.tsx │ ├── CharacterMessage.tsx │ ├── Chatbox.tsx │ ├── ClothingShop.tsx │ ├── Ground.tsx │ ├── HelperCharacter.jsx │ ├── Lights.tsx │ ├── Loader.tsx │ ├── ManualPopup.tsx │ ├── MobileControls.tsx │ ├── MobileControlsProvider.tsx │ ├── MultiplayerManager.tsx │ ├── Portal.tsx │ ├── ProximityDetector.tsx │ ├── RemoteCharacter.tsx │ ├── RemoteCharactersManager.tsx │ ├── Roads.tsx │ ├── RotatingCube.tsx │ ├── RotatingCubePage.tsx │ ├── ShopCollision.tsx │ ├── StaticCharacterModel.tsx │ ├── SubToolbar.tsx │ ├── ThemeToggle.tsx │ ├── Toolbar.tsx │ └── ViewMode.tsx ├── contexts │ └── MultiplayerContext.tsx ├── helpers │ └── data.ts ├── hooks │ └── useMultiplayer.tsx ├── index.css ├── main.tsx ├── store │ ├── slices │ │ └── themeSlice.ts │ ├── store.ts │ └── types.ts ├── types │ └── window.d.ts └── vite-env.d.ts ├── tailwind.config.js ├── test.html ├── tsconfig.json ├── tsconfig.node.json └── vite.config.ts /.eslintrc.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { browser: true, es2020: true }, 4 | extends: [ 5 | 'eslint:recommended', 6 | 'plugin:@typescript-eslint/recommended', 7 | 'plugin:react-hooks/recommended', 8 | ], 9 | ignorePatterns: ['dist', '.eslintrc.cjs'], 10 | parser: '@typescript-eslint/parser', 11 | plugins: ['react-refresh'], 12 | rules: { 13 | 'react-refresh/only-export-components': [ 14 | 'warn', 15 | { allowConstantExport: true }, 16 | ], 17 | }, 18 | } 19 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | todo.txt 26 | -------------------------------------------------------------------------------- /.vite/deps_temp_287c3439/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "module" 3 | } 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | THREE.JS + React + TypeScript (React-Three-Fiber) 2 | 3 | I should update this, but fow now if you want to use it just: 4 | 1. npm install 5 | 2. npm run dev or npm run build 6 | 3. From "tsconfig.json", remove/comment out: 7 | "exclude": [ 8 | "src" 9 | ], 10 | 11 | This tells Vite to ignores all the typescript error messages and I can build/depoloy on Vercel. ( Should fix it in the future tho ) 12 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 6 | 7 | 8 |{message}
64 |76 | The easiest way to get talk to other Developers. 77 |
85 | The renders work great with the{" "} 86 | 92 | 3D Portfolio Template 93 | {" "} 94 | I made. Grab the code from{" "} 95 | 101 | GitHub 102 | {" "} 103 | and make your own Portfolio Website in minutes. 104 |
105 | 106 |107 | 113 | See the source code for Ready Developer Me. 114 | 115 |
116 | 117 |119 | Created by{" "} 120 | 126 | llo7d 127 | 128 |
129 |44 | {tool.label} 45 |
46 | )} 47 | 65 |124 | Front 125 |
126 |136 | Side 137 |
138 |148 | Close Up 149 |
150 |160 | Walk Mode 161 |
162 |