changes and whatnot
This commit is contained in:
35
src/app.ts
35
src/app.ts
@@ -1,43 +1,10 @@
|
||||
import { Renderer, UiState } from './engine/renderer'
|
||||
import { Input } from './ui/input'
|
||||
import { DomOverlay } from './ui/overlay'
|
||||
import { SCENES } from './data/scenes'
|
||||
|
||||
const DPR_CAP = 2
|
||||
|
||||
interface SceneContent {
|
||||
title: string
|
||||
subtitle: string
|
||||
body: string
|
||||
}
|
||||
|
||||
const SCENES: SceneContent[] = [
|
||||
{
|
||||
title: 'Ahmed A. Mohamed',
|
||||
subtitle: 'Creative Developer & Graphics Engineer',
|
||||
body: 'Welcome to my personal website, there\'s a lot going on in my life that I will be sharing here randomly over time so take a look.'
|
||||
},
|
||||
{
|
||||
title: 'ABOUT',
|
||||
subtitle: 'Who I am',
|
||||
body: 'I build creative web experiences\nusing cutting-edge graphics technology.'
|
||||
},
|
||||
{
|
||||
title: 'PROJECTS',
|
||||
subtitle: 'Things I have built',
|
||||
body: 'A collection of work exploring\nWebGPU, shaders, and generative art.'
|
||||
},
|
||||
{
|
||||
title: 'CONTACT',
|
||||
subtitle: 'Get in touch',
|
||||
body: 'Reach me at hello@example.com\nor find me on GitHub.'
|
||||
},
|
||||
{
|
||||
title: 'RESUME',
|
||||
subtitle: 'Ahmed Mohamed',
|
||||
body: 'Graphics & Systems Engineer'
|
||||
}
|
||||
]
|
||||
|
||||
export class App {
|
||||
private canvas: HTMLCanvasElement
|
||||
private renderer = new Renderer()
|
||||
|
||||
@@ -34,9 +34,9 @@ export const RESUME: ResumeData = {
|
||||
{ label: 'linkedin.com/in/inedited/', href: 'https://linkedin.com/in/inedited/' },
|
||||
{ label: 'github.com/inedited', href: 'https://github.com/inedited' },
|
||||
],
|
||||
location: 'Gustav-Schwab-Str., 4, 81673 München, Germany',
|
||||
location: 'München, Germany',
|
||||
summary:
|
||||
'Experienced software developer with a strong background in graphics programming, real-time rendering, XR development and AI engineering. Experienced in developing high-performance applications and specializing in low-level optimizations.',
|
||||
'Experienced software developer with a strong background in graphics programming, real-time rendering, XR development, Game development and AI engineering. Experienced in developing high-performance applications and specializing in low-level optimizations.',
|
||||
education: [
|
||||
{
|
||||
role: 'Master of Science in Informatics: Games Engineering',
|
||||
|
||||
7
src/data/scenes/about.ts
Normal file
7
src/data/scenes/about.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
import type { SceneContent } from './index'
|
||||
|
||||
export const about: SceneContent = {
|
||||
title: 'ABOUT',
|
||||
subtitle: 'Who I am',
|
||||
body: 'My name is Ahmed Alaa Ahmed Mohamed (aka Djoser/Djosen/Inedited), I\'m a passionate creative software engineer and game developer. ',
|
||||
}
|
||||
7
src/data/scenes/contact.ts
Normal file
7
src/data/scenes/contact.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
import type { SceneContent } from './index'
|
||||
|
||||
export const contact: SceneContent = {
|
||||
title: 'CONTACT',
|
||||
subtitle: 'Get in touch',
|
||||
body: 'Reach me at hello@example.com\nor find me on GitHub.',
|
||||
}
|
||||
7
src/data/scenes/hero.ts
Normal file
7
src/data/scenes/hero.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
import type { SceneContent } from './index'
|
||||
|
||||
export const hero: SceneContent = {
|
||||
title: 'Ahmed A. Mohamed',
|
||||
subtitle: 'Creative Developer & Graphics Engineer',
|
||||
body: 'Welcome to my personal website, there\'s a lot going on in my life that I will be sharing here randomly over time so take a look.',
|
||||
}
|
||||
19
src/data/scenes/index.ts
Normal file
19
src/data/scenes/index.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
// ---------- types ----------
|
||||
|
||||
export interface SceneContent {
|
||||
title: string
|
||||
subtitle: string
|
||||
body: string
|
||||
}
|
||||
|
||||
// ---------- scene files ----------
|
||||
|
||||
import { hero } from './hero'
|
||||
import { about } from './about'
|
||||
import { projects } from './projects'
|
||||
import { contact } from './contact'
|
||||
import { resume } from './resume'
|
||||
|
||||
// ---------- scene registry ----------
|
||||
|
||||
export const SCENES: SceneContent[] = [hero, about, projects, contact, resume]
|
||||
7
src/data/scenes/projects.ts
Normal file
7
src/data/scenes/projects.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
import type { SceneContent } from './index'
|
||||
|
||||
export const projects: SceneContent = {
|
||||
title: 'PROJECTS',
|
||||
subtitle: 'Things I have built',
|
||||
body: 'A collection of work exploring\nWebGPU, shaders, and generative art.',
|
||||
}
|
||||
7
src/data/scenes/resume.ts
Normal file
7
src/data/scenes/resume.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
import type { SceneContent } from './index'
|
||||
|
||||
export const resume: SceneContent = {
|
||||
title: 'RESUME',
|
||||
subtitle: 'Ahmed Mohamed',
|
||||
body: 'Graphics & Systems Engineer',
|
||||
}
|
||||
@@ -1,11 +1,6 @@
|
||||
import { RESUME, ResumeData, ResumeEntry, SkillGroup } from '../data/resume'
|
||||
import { PROJECTS, CATEGORIES, ProjectPage, ProjectCategory } from '../data/projects/index'
|
||||
|
||||
interface SceneContent {
|
||||
title: string
|
||||
subtitle: string
|
||||
body: string
|
||||
}
|
||||
import type { SceneContent } from '../data/scenes'
|
||||
|
||||
export interface OverlayCallbacks {
|
||||
onNavClick: (scene: number) => void
|
||||
|
||||
Reference in New Issue
Block a user