Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
60864fc
docs: New homepage design
lursz Oct 7, 2025
738aba7
docs: Homepage BG Effect
iwoplaza Mar 31, 2026
3e27daf
Rework landing example grid
iwoplaza Mar 31, 2026
d6e8950
Brought back legacy get started button
iwoplaza Jul 19, 2026
5cfc2f9
Reformat
iwoplaza Jul 20, 2026
ff44ee0
Adhering more to the design
iwoplaza Jul 20, 2026
38a9477
More maintainable example showcase
iwoplaza Jul 21, 2026
7a96bab
Use thumbnails for example grid
iwoplaza Jul 21, 2026
29bbb74
Better placement of hero effect
iwoplaza Jul 22, 2026
e37c96f
More updates
iwoplaza Jul 22, 2026
eef6df0
[wip] webgpu fallback
iwoplaza Jul 23, 2026
c6a7772
Better videos, split secondary button into reusable component, not in…
iwoplaza Jul 28, 2026
9305744
Improved fallback for example grid, better colors
iwoplaza Jul 28, 2026
60e420d
Better code showcase
iwoplaza Jul 28, 2026
76a6474
Better overscroll behavior
iwoplaza Jul 28, 2026
b041c1a
No mismatch between server and client
iwoplaza Jul 28, 2026
b8974a1
Make the hero effect visible again
iwoplaza Jul 28, 2026
8ad2cc9
Small fixes
iwoplaza Jul 28, 2026
fe2d94a
Use the same gradient end colors as the overscroll fallback
iwoplaza Jul 28, 2026
7b7a6b5
Fix onResize in Jelly Slider example
iwoplaza Jul 28, 2026
e8a7b14
Using theme explicitly
iwoplaza Jul 28, 2026
9fcfb75
Style fixes
iwoplaza Jul 29, 2026
da7bbe1
No more backdrop blur when WebGPU isn't supported, simpler logic
iwoplaza Jul 29, 2026
cae3f78
Review fixes
iwoplaza Jul 29, 2026
49967b7
Cleanup
iwoplaza Jul 31, 2026
2d25577
Better TODOs
iwoplaza Jul 31, 2026
d6f393a
Even more fixes, how is this possible
iwoplaza Jul 31, 2026
80614a9
Review fixes
iwoplaza Jul 31, 2026
4f20f2e
Use d import instead of star import
iwoplaza Jul 31, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion apps/typegpu-docs/astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -343,6 +343,10 @@ export default defineConfig({
]),
}),
react(),
sitemap(),
sitemap({
// TODO(#2775): Remove this once the new homepage is live
// Match on the path so this keeps working regardless of deploy host/base.
filter: (page) => new URL(page).pathname.replace(/\/$/, '') !== '/TypeGPU/new',
}),
],
});
1 change: 1 addition & 0 deletions apps/typegpu-docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@
},
"devDependencies": {
"@observablehq/plot": "^0.6.17",
"@shikijs/themes": "^4.0.0",
"@types/babel__standalone": "^7.1.9",
"@types/babel__template": "^7.4.4",
"@types/babel__traverse": "^7.20.7",
Expand Down
Binary file added apps/typegpu-docs/public/assets/plum.glb
Binary file not shown.
9 changes: 9 additions & 0 deletions apps/typegpu-docs/src/assets/externalopen.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions apps/typegpu-docs/src/assets/github-icon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions apps/typegpu-docs/src/assets/hero/book-opened.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions apps/typegpu-docs/src/assets/hero/brackets.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions apps/typegpu-docs/src/assets/hero/plus-circle.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions apps/typegpu-docs/src/assets/moon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 11 additions & 0 deletions apps/typegpu-docs/src/assets/sun.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 13 additions & 0 deletions apps/typegpu-docs/src/assets/swm-logomark-top-right.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 5 additions & 5 deletions apps/typegpu-docs/src/assets/swm-logomark.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions apps/typegpu-docs/src/assets/youtube.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
49 changes: 49 additions & 0 deletions apps/typegpu-docs/src/components/CallToActionButton.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
interface Props {
title: string;
href: string;
size: 'lg' | 'base';
class?: string;
}

const {
title = 'Get started',
href = '/TypeGPU/getting-started',
size,
class: className,
} = Astro.props;
---

<a
class:list={[
'text-grayscale-0 relative box-border flex h-fit w-auto items-center justify-center gap-3 overflow-hidden font-medium no-underline transition-all duration-200 ease-out hover:duration-500',
'from-gradient-blue via-gradient-purple bg-gradient-to-tl to-[#f8f7dd] bg-size-[200%_200%] bg-position-[100%_100%] hover:bg-position-[50%_50%]',
'before:animate-scroll-bg-y-slow before:absolute before:inset-0 before:block before:skew-x-16 before:bg-gradient-to-tr before:from-white/20 before:to-white/0 before:bg-size-[3rem_2rem] before:bg-center before:opacity-0 before:mix-blend-color-dodge before:transition-opacity before:duration-200 before:ease-out before:content-[""] hover:before:opacity-100 hover:before:delay-200 hover:before:duration-[1s]',
size === 'lg' ? 'px-10 py-6 text-2xl' : 'px-6 py-4 text-xl',
className,
]}
{href}
>
{title}
<svg
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
class="w-6"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M20 12H4"
stroke="#FCFCFF"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"></path>
<path
d="M14 18L20 12L14 6"
stroke="#FCFCFF"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"></path>
</svg>
</a>
39 changes: 39 additions & 0 deletions apps/typegpu-docs/src/components/CodeButton.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
interface Props {
title: string;
message: string;
icon: ((_props: astroHTML.JSX.SVGAttributes) => any) & ImageMetadata;
}

const { title, message, icon: Icon } = Astro.props as Props;
---

<div
class="relative isolate box-border flex aspect-square flex-col items-start bg-gradient-to-tl p-6 lg:p-8"
>
<div
class="from-gradient-blue to-gradient-purple absolute inset-0 -z-10 bg-gradient-to-tl"
>
<div
class="bg-tameplum-80 absolute inset-0 scale-100 transition-all duration-200 ease-out will-change-transform in-[[data-active=true]]:scale-[98.5%] dark:bg-[#30354A]"
>
</div>
</div>
<div
class="from-gradient-blue to-gradient-purple mb-6 flex h-12 w-12 items-center justify-center bg-gradient-to-tl"
>
{Icon && <Icon class="h-8 w-8" />}
</div>

<h3
class="dark:text-almost-white text-navy-100 text-2xl font-medium tracking-[1%] lg:text-2xl"
>
{title}
</h3>

<div class="flex-1">{/* Spacing */}</div>

<p class="dark:text-almost-white text-navy-100 text-base leading-relaxed">
{message}
</p>
</div>
56 changes: 56 additions & 0 deletions apps/typegpu-docs/src/components/CodePen.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
import { Code } from 'astro:components';
import catppuccinMocha from '@shikijs/themes/catppuccin-mocha';

type SupportedLanguages =
| 'typescript'
| 'javascript'
| 'jsx'
| 'tsx'
| 'html'
| 'css'
| 'json'
| 'yaml'
| 'markdown'
| 'bash'
| 'shell';

interface Props {
code: string;
language?: SupportedLanguages;
}

const { code, language = 'typescript' } = Astro.props as Props;

const formattedCode = code.trim();
---

<div class="w-full">
<div class:list={['overflow-x-auto', 'font-mono text-[0.5rem] md:text-sm']}>
<Code
code={formattedCode}
lang={language}
theme={catppuccinMocha}
class={'p-4'}
/>
</div>
</div>
<style>
code {
counter-reset: line;
font-family: 'JetBrains Mono', monospace;
}

:global(code) {
counter-reset: step;
counter-increment: step 0;
}

:global(code .line::before) {
content: counter(step);
counter-increment: step;
width: 1rem;
margin-right: 1rem;
display: inline-block;
}
</style>
Loading
Loading