d25d482dc2
CI / Migrate Dev DB (push) Has been skipped
CI / Detect Version (push) Has been cancelled
CI / Migrate DB (push) Has been cancelled
CI / Build Dev ECR (./docker/app.Dockerfile, ECR_APP) (push) Has been cancelled
CI / Build Dev ECR (./docker/db.Dockerfile, ECR_MIGRATIONS) (push) Has been cancelled
CI / Build Dev ECR (./docker/pii.Dockerfile, ECR_PII) (push) Has been cancelled
CI / Build Dev ECR (./docker/realtime.Dockerfile, ECR_REALTIME) (push) Has been cancelled
CI / Deploy Trigger.dev (Dev) (push) Has been cancelled
CI / Build AMD64 (./docker/app.Dockerfile, ECR_APP, ghcr.io/simstudioai/simstudio) (push) Has been cancelled
CI / Build AMD64 (./docker/db.Dockerfile, ECR_MIGRATIONS, ghcr.io/simstudioai/migrations) (push) Has been cancelled
CI / Build AMD64 (./docker/pii.Dockerfile, ECR_PII, ghcr.io/simstudioai/pii) (push) Has been cancelled
CI / Build AMD64 (./docker/realtime.Dockerfile, ECR_REALTIME, ghcr.io/simstudioai/realtime) (push) Has been cancelled
CI / Build ARM64 (GHCR Only) (./docker/app.Dockerfile, ghcr.io/simstudioai/simstudio) (push) Has been cancelled
CI / Build ARM64 (GHCR Only) (./docker/db.Dockerfile, ghcr.io/simstudioai/migrations) (push) Has been cancelled
CI / Build ARM64 (GHCR Only) (./docker/pii.Dockerfile, ghcr.io/simstudioai/pii) (push) Has been cancelled
CI / Build ARM64 (GHCR Only) (./docker/realtime.Dockerfile, ghcr.io/simstudioai/realtime) (push) Has been cancelled
CI / Create GHCR Manifests (ghcr.io/simstudioai/migrations) (push) Has been cancelled
CI / Create GHCR Manifests (ghcr.io/simstudioai/pii) (push) Has been cancelled
CI / Create GHCR Manifests (ghcr.io/simstudioai/realtime) (push) Has been cancelled
CI / Create GHCR Manifests (ghcr.io/simstudioai/simstudio) (push) Has been cancelled
CI / Check Docs Changes (push) Has been cancelled
CI / Process Docs (push) Has been cancelled
CI / Create GitHub Release (push) Has been cancelled
CI / Test and Build (push) Has been cancelled
Publish CLI Package / publish-npm (push) Has been cancelled
Publish Python SDK / publish-pypi (push) Has been cancelled
Publish TypeScript SDK / publish-npm (push) Has been cancelled
109 lines
3.7 KiB
TypeScript
109 lines
3.7 KiB
TypeScript
import type { ComponentType, ReactNode } from 'react'
|
|
import {
|
|
IsoBuildIllustration,
|
|
IsoIngestIllustration,
|
|
IsoIntegrateIllustration,
|
|
IsoMonitorIllustration,
|
|
} from '@/app/(landing)/components/mothership/components/iso-marks'
|
|
|
|
/**
|
|
* Landing Sim section - the high-level "how Sim works" overview that sets up the
|
|
* {@link Features} deep-dive. A two-line heading frames Sim as one workspace for
|
|
* the whole platform; below, four columns call out its main areas (Integrate ·
|
|
* Context · Build · Monitor), each paired with an abstract circle "goo"
|
|
* mark and a one-line definition. These are the same four areas Features then
|
|
* shows in real product UI, framed here in fewer words, from the "what it is"
|
|
* angle, so the overview and the deep-dive don't repeat each other.
|
|
*
|
|
* The marks are the only client islands in this section: interactive brand
|
|
* glyphs (subtle hover breathe/rotate); the section itself stays server-rendered.
|
|
*
|
|
* Inter-section spacing is owned by the `<main>` flex `gap` in `landing.tsx`;
|
|
* this section carries no vertical padding. Horizontal padding (`px-20`) matches
|
|
* the sections above, and the section is capped at the shared `max-w-[1460px]`.
|
|
*/
|
|
|
|
type GooMark = ComponentType<{ size?: number; className?: string }>
|
|
|
|
interface Area {
|
|
word: string
|
|
/** Abstract circle goo-mark paired with the area. */
|
|
Mark: GooMark
|
|
/**
|
|
* Per-mark render size, tuned so the collection reads as one optical weight.
|
|
* The marks have different shape ratios (a full cube vs a flat lattice), so a
|
|
* uniform size makes some look bigger; these equalize their visual footprint.
|
|
*/
|
|
size: number
|
|
definition: ReactNode
|
|
}
|
|
|
|
const AREAS: Area[] = [
|
|
{
|
|
word: 'Integrate',
|
|
Mark: IsoIntegrateIllustration,
|
|
size: 180,
|
|
definition: (
|
|
<>
|
|
One catalog of 1,000+ integrations
|
|
<br />
|
|
your agents act through.
|
|
</>
|
|
),
|
|
},
|
|
{
|
|
word: 'Context',
|
|
Mark: IsoIngestIllustration,
|
|
size: 170,
|
|
definition: 'Your data, stored semantically as the memory your agents reason over.',
|
|
},
|
|
{
|
|
word: 'Build',
|
|
Mark: IsoBuildIllustration,
|
|
size: 176,
|
|
definition: 'Compose agent logic in the visual builder, or just describe it to Sim.',
|
|
},
|
|
{
|
|
word: 'Monitor',
|
|
Mark: IsoMonitorIllustration,
|
|
size: 174,
|
|
definition: 'See inside every run with live traces, logs, and real cost.',
|
|
},
|
|
]
|
|
|
|
export function Mothership() {
|
|
return (
|
|
<section
|
|
id='mothership'
|
|
aria-labelledby='mothership-heading'
|
|
className='mx-auto w-full max-w-[1460px] px-20 max-sm:px-5 max-lg:px-8'
|
|
>
|
|
<h2
|
|
id='mothership-heading'
|
|
className='max-w-[1200px] text-balance text-[28px] leading-[1.2] max-sm:text-[22px]'
|
|
>
|
|
<span className='block text-[var(--text-primary)]'>
|
|
Everything your agents need, in one workspace.
|
|
</span>
|
|
<span className='block text-[var(--text-body)]'>Build, run, and watch every agent.</span>
|
|
</h2>
|
|
|
|
<ul className='mt-16 grid grid-cols-4 gap-8 max-sm:mt-8 max-sm:grid-cols-1 max-sm:gap-10 max-lg:mt-12 max-lg:grid-cols-2 max-lg:gap-x-8 max-lg:gap-y-12'>
|
|
{AREAS.map(({ word, Mark, size, definition }) => (
|
|
<li key={word} className='flex flex-col gap-[22px]'>
|
|
<div className='flex size-[148px] items-center justify-center'>
|
|
<Mark size={size} />
|
|
</div>
|
|
<div className='flex flex-col gap-2'>
|
|
<h3 className='text-[var(--text-primary)] text-lg'>{word}</h3>
|
|
<p className='max-w-[250px] text-pretty text-[var(--text-body)] text-sm leading-[1.5]'>
|
|
{definition}
|
|
</p>
|
|
</div>
|
|
</li>
|
|
))}
|
|
</ul>
|
|
</section>
|
|
)
|
|
}
|