Skip to content
View Glitch-guy0's full-sized avatar
  • 03:16 (UTC +05:30)

Block or report Glitch-guy0

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Glitch-guy0/README.md

React + TypeScript + Vite + 3D Portfolio

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules, expanded to serve as an interactive 3D portfolio using @react-three/fiber and @react-three/drei.

3D Assets

The portfolio includes custom 3D models stored in the public/3d/ directory:

  • mahoraga_wheel.glb: Used as the central interactive navigation element. It is loaded via the useGLTF hook within the MahoragaWheel.tsx component, replacing the previous programmatic geometry. The model retains its interactive rotation features and orientation (horizontal view, 0-degree X-axis tilt).
  • malevolent_shrine.glb: Currently present for future use (intended for the footer section).

Technical Details

Currently, two official plugins are available:

React Compiler

The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see this documentation.

Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:

export default defineConfig([
  globalIgnores(['dist']),
  {
    files: ['**/*.{ts,tsx}'],
    extends: [
      // Other configs...

      // Remove tseslint.configs.recommended and replace with this
      tseslint.configs.recommendedTypeChecked,
      // Alternatively, use this for stricter rules
      tseslint.configs.strictTypeChecked,
      // Optionally, add this for stylistic rules
      tseslint.configs.stylisticTypeChecked,

      // Other configs...
    ],
    languageOptions: {
      parserOptions: {
        project: ['./tsconfig.node.json', './tsconfig.app.json'],
        tsconfigRootDir: import.meta.dirname,
      },
      // other options...
    },
  },
])

You can also install eslint-plugin-react-x and eslint-plugin-react-dom for React-specific lint rules:

// eslint.config.js
import reactX from 'eslint-plugin-react-x'
import reactDom from 'eslint-plugin-react-dom'

export default defineConfig([
  globalIgnores(['dist']),
  {
    files: ['**/*.{ts,tsx}'],
    extends: [
      // Other configs...
      // Enable lint rules for React
      reactX.configs['recommended-typescript'],
      // Enable lint rules for React DOM
      reactDom.configs.recommended,
    ],
    languageOptions: {
      parserOptions: {
        project: ['./tsconfig.node.json', './tsconfig.app.json'],
        tsconfigRootDir: import.meta.dirname,
      },
      // other options...
    },
  },
])

Popular repositories Loading

  1. Glitch-guy0 Glitch-guy0 Public

    Repo of my profile

    TypeScript

  2. frontend-project1 frontend-project1 Public

    first front-end project

    CSS

  3. csschallenges csschallenges Public

    css practice problems

    CSS

  4. bash-script bash-script Public

    me learning bash scripts

    Shell

  5. todoapp todoapp Public

    TypeScript

  6. todoCLI todoCLI Public archive

    my python beginner project

    Python