Compare commits
	
		
			3 commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| ce3ec5bbc8 | |||
| 22dd43b6ed | |||
| a9d4c896dd | 
					 4 changed files with 4 additions and 153 deletions
				
			
		| 
						 | 
					@ -2,7 +2,7 @@
 | 
				
			||||||
<html lang="en">
 | 
					<html lang="en">
 | 
				
			||||||
	<head>
 | 
						<head>
 | 
				
			||||||
		<meta charset="utf-8" />
 | 
							<meta charset="utf-8" />
 | 
				
			||||||
		<link rel="icon" href="%sveltekit.assets%/favicon.png" />
 | 
							<link rel="icon" href="/signature.svg" />
 | 
				
			||||||
		<meta name="viewport" content="width=device-width, initial-scale=1" />
 | 
							<meta name="viewport" content="width=device-width, initial-scale=1" />
 | 
				
			||||||
		%sveltekit.head%
 | 
							%sveltekit.head%
 | 
				
			||||||
	</head>
 | 
						</head>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -81,102 +81,3 @@
 | 
				
			||||||
		<br />
 | 
							<br />
 | 
				
			||||||
	</main>
 | 
						</main>
 | 
				
			||||||
</div>
 | 
					</div>
 | 
				
			||||||
<!-- Brief Bio
 | 
					 | 
				
			||||||
-->
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<!--OPEN SOURCE PROJECTS -->
 | 
					 | 
				
			||||||
<!-- Description
 | 
					 | 
				
			||||||
-->
 | 
					 | 
				
			||||||
<!-- Gallery 
 | 
					 | 
				
			||||||
<...images...>
 | 
					 | 
				
			||||||
-->
 | 
					 | 
				
			||||||
<!-- Technical Details 
 | 
					 | 
				
			||||||
Technology behind Dazzle:
 | 
					 | 
				
			||||||
-->
 | 
					 | 
				
			||||||
<!-- Source Code 
 | 
					 | 
				
			||||||
Check out the source code on any of the official mirrors or on the main self-hosted repo.
 | 
					 | 
				
			||||||
    Self-hosted with <3 using Forgejo (a fork of Gittea)
 | 
					 | 
				
			||||||
    CodeBerg mirror
 | 
					 | 
				
			||||||
    GitLab mirror
 | 
					 | 
				
			||||||
    GitHub mirror
 | 
					 | 
				
			||||||
    <Commit_Tiles/>
 | 
					 | 
				
			||||||
-->
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<!-- Brief Light
 | 
					 | 
				
			||||||
Light is an awesome bleeding-edge, *all the buzzwords* game-engine...
 | 
					 | 
				
			||||||
-->
 | 
					 | 
				
			||||||
<!-- Gallery 
 | 
					 | 
				
			||||||
    * Insert awesome renders here *
 | 
					 | 
				
			||||||
-->
 | 
					 | 
				
			||||||
<!-- Technical Details 
 | 
					 | 
				
			||||||
Features:
 | 
					 | 
				
			||||||
    MSAA
 | 
					 | 
				
			||||||
    SSAO
 | 
					 | 
				
			||||||
    PBR Lighting
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Technology behind Light:
 | 
					 | 
				
			||||||
    Languages:
 | 
					 | 
				
			||||||
        C++23, CMake, Shell-script, Lua, Python
 | 
					 | 
				
			||||||
    Graphics APIs:
 | 
					 | 
				
			||||||
        OpenGL, Vulkan, Metal, DirectX12
 | 
					 | 
				
			||||||
    CICD: 
 | 
					 | 
				
			||||||
        Drone, Docker, 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Check out the source code on any of the official mirrors or on the main self-hosted repo.
 | 
					 | 
				
			||||||
    Self-hosted with <3 using Forgejo (a fork of Gittea)
 | 
					 | 
				
			||||||
    CodeBerg mirror
 | 
					 | 
				
			||||||
    GitLab mirror
 | 
					 | 
				
			||||||
    GitHub mirror
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <Commit_Tiles/>
 | 
					 | 
				
			||||||
-->
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<!-- Brief Bonfire
 | 
					 | 
				
			||||||
You're enjoying its warmth on your eyes! It's my portfolio v2.0 rebuilt from scratch using the rightfully
 | 
					 | 
				
			||||||
loved Svelte framework. 0 uninterresting information. 0 tabs/navigaroins, just scroll down :)
 | 
					 | 
				
			||||||
-->
 | 
					 | 
				
			||||||
<!-- Gallery 
 | 
					 | 
				
			||||||
-->
 | 
					 | 
				
			||||||
<!-- Technical Details 
 | 
					 | 
				
			||||||
Bonfire is powered by:
 | 
					 | 
				
			||||||
    Svelte,
 | 
					 | 
				
			||||||
    Tailwindcss,
 | 
					 | 
				
			||||||
    Nginx
 | 
					 | 
				
			||||||
    Segs
 | 
					 | 
				
			||||||
-->
 | 
					 | 
				
			||||||
<!-- Source Code 
 | 
					 | 
				
			||||||
    Self-hosted with <3 using Forgejo (a fork of Gittea)
 | 
					 | 
				
			||||||
    CodeBerg mirror
 | 
					 | 
				
			||||||
    GitLab mirror
 | 
					 | 
				
			||||||
    GitHub mirror
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <Commit_Tiles/>
 | 
					 | 
				
			||||||
-->
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<!-- Work Experience -->
 | 
					 | 
				
			||||||
<!-- Brief Bitwyre -->
 | 
					 | 
				
			||||||
<!-- Details -->
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<!-- Brief STG -->
 | 
					 | 
				
			||||||
<!-- Details -->
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<!-- Call to action (Got a problem?)
 | 
					 | 
				
			||||||
Let me have a shot at it!
 | 
					 | 
				
			||||||
...
 | 
					 | 
				
			||||||
-->
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<!-- Contact
 | 
					 | 
				
			||||||
Location: Iran - Tehran Province - Tehran
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Call: +________________
 | 
					 | 
				
			||||||
Mail: job@light7734.com
 | 
					 | 
				
			||||||
Mail: light7734@tuta.io
 | 
					 | 
				
			||||||
Message:
 | 
					 | 
				
			||||||
    Telegram: @Light7734
 | 
					 | 
				
			||||||
    Matrix: matrix.org:@light7734
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[Download] Resume (pdf)
 | 
					 | 
				
			||||||
[Download] Business Card (pdf)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
PS: I may not respond till Saturday (unless you call my phone) since I'm **locked in** on other days.
 | 
					 | 
				
			||||||
-->
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,36 +1,11 @@
 | 
				
			||||||
<script lang="ts">
 | 
					<script lang="ts">
 | 
				
			||||||
	const bio = `
 | 
						const bio = `
 | 
				
			||||||
    `;
 | 
					    `;
 | 
				
			||||||
 | 
					 | 
				
			||||||
	let tiltX = 0;
 | 
					 | 
				
			||||||
	let tiltY = 0;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	function handleMouseMove(event: MouseEvent) {
 | 
					 | 
				
			||||||
		const card = event.currentTarget as HTMLElement;
 | 
					 | 
				
			||||||
		const rect = card.getBoundingClientRect();
 | 
					 | 
				
			||||||
		const x = event.clientX - rect.left;
 | 
					 | 
				
			||||||
		const y = event.clientY - rect.top;
 | 
					 | 
				
			||||||
		const centerX = rect.width / 2;
 | 
					 | 
				
			||||||
		const centerY = rect.height / 2;
 | 
					 | 
				
			||||||
		const percentX = (x - centerX) / centerX;
 | 
					 | 
				
			||||||
		const percentY = (centerY - y) / centerY; // Invert Y for natural tilt
 | 
					 | 
				
			||||||
		const maxTilt = 2;
 | 
					 | 
				
			||||||
		tiltX = percentY * maxTilt;
 | 
					 | 
				
			||||||
		tiltY = percentX * maxTilt;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	function handleMouseLeave() {
 | 
					 | 
				
			||||||
		tiltX = 0;
 | 
					 | 
				
			||||||
		tiltY = 0;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<!-- svelte-ignore a11y_no_static_element_interactions -->
 | 
					<!-- svelte-ignore a11y_no_static_element_interactions -->
 | 
				
			||||||
<div
 | 
					<div
 | 
				
			||||||
	class="bg-card border-border relative mx-auto w-full max-w-2xl rounded-lg border border-dark-muted transition-all duration-300 ease-out hover:scale-[1.01] hover:shadow-[5px_5px_5px_#000000]"
 | 
						class="bg-card border-border relative mx-auto w-full max-w-2xl rounded-lg border border-dark-muted transition-all duration-100 ease-out hover:scale-[1.01] hover:shadow-[5px_5px_5px_#000000]"
 | 
				
			||||||
	style="transform: perspective(1000px) rotateX({tiltX}deg) rotateY({tiltY}deg);"
 | 
					 | 
				
			||||||
	on:mousemove={handleMouseMove}
 | 
					 | 
				
			||||||
	on:mouseleave={handleMouseLeave}
 | 
					 | 
				
			||||||
>
 | 
					>
 | 
				
			||||||
	<div class="mx-auto flex max-w-2xl origin-center">
 | 
						<div class="mx-auto flex max-w-2xl origin-center">
 | 
				
			||||||
		<img
 | 
							<img
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -35,36 +35,11 @@
 | 
				
			||||||
	let expanded = false;
 | 
						let expanded = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	import { slide } from 'svelte/transition';
 | 
						import { slide } from 'svelte/transition';
 | 
				
			||||||
 | 
					 | 
				
			||||||
	let tiltX = 0;
 | 
					 | 
				
			||||||
	let tiltY = 0;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	function handleMouseMove(event: MouseEvent) {
 | 
					 | 
				
			||||||
		const card = event.currentTarget as HTMLElement;
 | 
					 | 
				
			||||||
		const rect = card.getBoundingClientRect();
 | 
					 | 
				
			||||||
		const x = event.clientX - rect.left;
 | 
					 | 
				
			||||||
		const y = event.clientY - rect.top;
 | 
					 | 
				
			||||||
		const centerX = rect.width / 2;
 | 
					 | 
				
			||||||
		const centerY = rect.height / 2;
 | 
					 | 
				
			||||||
		const percentX = (x - centerX) / centerX;
 | 
					 | 
				
			||||||
		const percentY = (centerY - y) / centerY; // Invert Y for natural tilt
 | 
					 | 
				
			||||||
		const maxTilt = 2;
 | 
					 | 
				
			||||||
		tiltX = percentY * maxTilt;
 | 
					 | 
				
			||||||
		tiltY = percentX * maxTilt;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	function handleMouseLeave() {
 | 
					 | 
				
			||||||
		tiltX = 0;
 | 
					 | 
				
			||||||
		tiltY = 0;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<!-- svelte-ignore a11y_no_static_element_interactions -->
 | 
					<!-- svelte-ignore a11y_no_static_element_interactions -->
 | 
				
			||||||
<div
 | 
					<div
 | 
				
			||||||
	class="bg-card border-border relative mx-auto w-full max-w-2xl rounded-lg border transition-all duration-300 ease-out hover:scale-[1.01] hover:shadow-[5px_5px_5px_#000000]"
 | 
						class="bg-card border-border relative mx-auto w-full max-w-2xl rounded-lg border transition-all duration-100 ease-out hover:scale-[1.01] hover:shadow-[5px_5px_5px_#000000]"
 | 
				
			||||||
	style="transform: perspective(1000px) rotateX({tiltX}deg) rotateY({tiltY}deg);"
 | 
					 | 
				
			||||||
	on:mousemove={handleMouseMove}
 | 
					 | 
				
			||||||
	on:mouseleave={handleMouseLeave}
 | 
					 | 
				
			||||||
>
 | 
					>
 | 
				
			||||||
	<div class="p-6">
 | 
						<div class="p-6">
 | 
				
			||||||
		<div class="mb-4 flex items-center gap-4">
 | 
							<div class="mb-4 flex items-center gap-4">
 | 
				
			||||||
| 
						 | 
					@ -156,7 +131,7 @@
 | 
				
			||||||
							</a>
 | 
												</a>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							<a
 | 
												<a
 | 
				
			||||||
								href={data.gitlab}
 | 
													href={data.codeberg}
 | 
				
			||||||
								target="_blank"
 | 
													target="_blank"
 | 
				
			||||||
								rel="noopener noreferrer"
 | 
													rel="noopener noreferrer"
 | 
				
			||||||
								class="text-accent-foreground flex items-center gap-1 transition-colors duration-200 hover:underline"
 | 
													class="text-accent-foreground flex items-center gap-1 transition-colors duration-200 hover:underline"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue