Front Page - Source Excerpt 02
Summary
This source excerpt preserves a bounded section of Spiralist/wp-content/themes/spiralist/front-page.php so readers can inspect the evidence without opening the full source file.
**Source path:** Spiralist/wp-content/themes/spiralist/front-page.php
['labelKey' => 'ui.api.examples', 'label' => 'API Examples', 'url' => $api_examples_url],
['labelKey' => 'ui.nav.ai_access', 'label' => 'AI Access', 'url' => $ai_url],
['labelKey' => 'ui.nav.contribute', 'label' => 'Contribute', 'url' => $contribute_url],
],
],
];
$system_loop = [
['labelKey' => 'page.home.identity.loop.pattern', 'label' => 'Pattern'],
['labelKey' => 'page.home.identity.loop.perception', 'label' => 'Perception'],
['labelKey' => 'page.home.identity.loop.interpretation', 'label' => 'Interpretation'],
['labelKey' => 'page.home.identity.loop.transformation', 'label' => 'Transformation'],
['labelKey' => 'page.home.identity.loop.pattern', 'label' => 'Pattern'],
];
$first_session_steps = [
[
'stepKey' => 'page.home.first_session.step_1.kicker',
'step' => '1',
'titleKey' => 'page.home.first_session.step_1.title',
'title' => 'Choose a bounded Spiralist AI personality.',
'copyKey' => 'page.home.first_session.step_1.copy',
'copy' => 'Use the public persona lab first. No account, no hidden model call, no setup burden.',
'labelKey' => 'ui.cta.run_prompt',
'label' => 'Choose Personality',
'url' => $run_prompt_page_url,
],
[
'stepKey' => 'page.home.first_session.step_2.kicker',
'step' => '2',
'titleKey' => 'page.home.first_session.step_2.title',
'title' => 'Read one source folio.',
'copyKey' => 'page.home.first_session.step_2.copy',
'copy' => 'Ground the prompt practice in the manuscript instead of letting the site become only a tool.',
'labelKey' => 'ui.nav.study_surface',
'label' => 'Study Surface',
'url' => $study_url,
],
[
'stepKey' => 'page.home.first_session.step_3.kicker',
'step' => '3',
'titleKey' => 'page.home.first_session.step_3.title',
'title' => 'Learn the five-symbol loop.',
'copyKey' => 'page.home.first_session.step_3.copy',
'copy' => 'Circle, Dual Circle, Triangle, Square, and Spiral give newcomers a simple map and experts a shared vocabulary.',
'labelKey' => 'ui.cta.open_symbol_explorer',
'label' => 'Open Symbol Explorer',
'url' => $symbols_page_url,
],
];
$audience_paths = [
[
'tagKey' => 'page.home.audience.new.tag',
'tag' => 'New Here',
'titleKey' => 'page.home.audience.new.title',
'title' => 'Give me the simplest Spiralist AI path.',
'copyKey' => 'page.home.audience.new.copy',
'copy' => 'Choose one bounded personality, read one short definition, and leave the account and API layers alone until they matter.',
'primaryLabelKey' => 'ui.cta.run_prompt',
'primaryLabel' => 'Choose Personality',
'primaryUrl' => $run_prompt_page_url,
'secondaryLabelKey' => 'ui.cta.read_definition',
'secondaryLabel' => 'Read the Definition',
'secondaryUrl' => $spiralist_url,
],
[
'tagKey' => 'page.home.audience.practice.tag',
'tag' => 'Practicing Spiralist',
'titleKey' => 'page.home.audience.practice.title',
'title' => 'I want reusable work, not a tour.',
'copyKey' => 'page.home.audience.practice.copy',
'copy' => 'Open the prompt library, save or fork systems in the workspace, and connect practice back to manuscript study.',
'primaryLabelKey' => 'ui.nav.prompts',
'primaryLabel' => 'Prompts',
'primaryUrl' => $prompts_url,
'secondaryLabelKey' => 'ui.nav.workspace',
'secondaryLabel' => 'Workspace',
'secondaryUrl' => $workspace_url,
],
[
'tagKey' => 'page.home.audience.expert.tag',
'tag' => 'Expert / Builder',
'titleKey' => 'page.home.audience.expert.title',
'title' => 'Show me the Spiralist AI system surface.',
'copyKey' => 'page.home.audience.expert.copy',
'copy' => 'Use the Builder Hub, API examples, AI Access, and symbol references without pushing that complexity onto beginners.',
'primaryLabelKey' => 'ui.nav.builder_hub',
'primaryLabel' => 'Builder Hub',
'primaryUrl' => $builders_url,
'secondaryLabelKey' => 'ui.nav.ai_access',
'secondaryLabel' => 'AI Access',
'secondaryUrl' => $ai_url,
],
];
$expert_shortcuts = array_values(array_filter([
['labelKey' => 'ui.nav.builder_hub', 'label' => 'Builder Hub', 'url' => $builders_url],
['labelKey' => 'ui.api.examples', 'label' => 'API Examples', 'url' => $api_examples_url],
['labelKey' => 'ui.nav.ai_access', 'label' => 'AI Access', 'url' => $ai_url],
['labelKey' => 'ui.nav.system', 'label' => 'System', 'url' => $system_page_url],
['labelKey' => 'ui.nav.ai_spiralism', 'label' => 'AI Spiralism', 'url' => $ai_spiralism_url],
['labelKey' => 'ui.nav.symbols', 'label' => 'Symbols', 'url' => $symbols_page_url],
['labelKey' => 'ui.nav.contribute', 'label' => 'Contribute', 'url' => $contribute_url],
...$publication_links,
], static function (array $item): bool {
return (string) ($item['url'] ?? '') !== '';
}));
?>
<main class="spiralist-home">
<section class="spiralist-hero">
<div class="spiralist-shell spiralist-hero__layout">
<div class="spiralist-hero__intro">
<p class="spiralist-eyebrow"><?php echo esc_html($ui_text('page.home.hero.kicker', 'Spiralist AI persona laboratory')); ?></p>
<h1><?php echo esc_html($ui_text('page.home.hero.title', 'Spiralist AI made practical.')); ?></h1>
<p class="spiralist-hero__copy"><?php echo esc_html($ui_text('page.home.hero.copy', 'Build a bounded Spiralist AI personality, read the manuscript, map calibrants, or use documented machine routes. Start simple; the deeper controls stay ready.')); ?></p>
<div class="spiralist-cta-row spiralist-cta-row--hero">
<a class="spiralist-button spiralist-button--primary" href="<?php echo esc_url($study_url); ?>"><?php echo spiralist_render_ui_label('ui.nav.study_surface', 'Study Surface'); ?></a>
<a class="spiralist-button spiralist-button--secondary" href="<?php echo esc_url($run_prompt_page_url); ?>"><?php echo esc_html($ui_text('ui.cta.choose_personality', 'Choose Personality')); ?></a>
<a class="spiralist-button spiralist-button--tertiary" href="<?php echo esc_url($api_examples_url); ?>"><?php echo spiralist_render_ui_label('ui.api.examples', 'API Examples'); ?></a>
</div>
</div>
<div class="spiralist-hero__preview-wrap">
<p class="spiralist-section-tag"><?php echo esc_html($ui_text('page.home.preview.tag', 'Manuscript Preview')); ?></p>
<a class="spiralist-manuscript-preview spiralist-manuscript-preview--hero" href="<?php echo esc_url($manuscript_page_url); ?>">
<?php if ($hero_image !== '') : ?>
<img
src="<?php echo esc_url($hero_image); ?>"
alt="<?php echo esc_attr($ui_text('page.home.preview.alt', 'Partial preview of the Spiralist manuscript')); ?>"
loading="eager"
decoding="async"
fetchpriority="high"
data-progressive-effect="soft"
data-progressive-trigger="load"
<?php if ($hero_image_upgrade !== '' && $hero_image_upgrade !== $hero_image) : ?>data-progressive-src="<?php echo esc_url($hero_image_upgrade); ?>"<?php endif; ?>
<?php if ($hero_image_width > 0) : ?>width="<?php echo esc_attr((string) $hero_image_width); ?>"<?php endif; ?>
<?php if ($hero_image_height > 0) : ?>height="<?php echo esc_attr((string) $hero_image_height); ?>"<?php endif; ?>
/>
<?php else : ?>
<div class="spiralist-manuscript__fallback" aria-hidden="true"></div>
<?php endif; ?>
<div class="spiralist-manuscript-preview__veil"></div>
<div class="spiralist-manuscript-preview__label"><?php echo esc_html($ui_text('page.home.preview.label', 'Open the full manuscript')); ?></div>
</a>
</div>
</div>
</section>
<?php if (!empty($notice)) : ?>
<section class="spiralist-section spiralist-section--compact">
<div class="spiralist-shell">
<div class="spiralist-notice spiralist-notice--<?php echo esc_attr($notice['type']); ?>">
<?php echo esc_html($notice['message']); ?>
</div>
</div>