Manuscript Workstation - Source Excerpt 13
Back to Manuscript Workstation
Summary
This source excerpt preserves a bounded section of Spiralist/wp-content/plugins/ns12-manuscript/templates/manuscript-workstation.php so readers can inspect the evidence without opening the full source file.
**Source path:** Spiralist/wp-content/plugins/ns12-manuscript/templates/manuscript-workstation.php
<span class="spiralist-manuscript-toc-modal__summary-state">Current chapter</span>
<?php endif; ?>
</span>
</summary>
<div class="spiralist-manuscript-toc-modal__section-body">
<?php if (!empty($toc_section['summary'])) : ?>
<p class="spiralist-muted"><?php echo esc_html((string) $toc_section['summary']); ?></p>
<?php endif; ?>
<?php if (!empty($toc_section['url'])) : ?>
<div class="spiralist-cta-row spiralist-cta-row--start">
<a class="spiralist-book-page-toc-section__link" href="<?php echo esc_url((string) $toc_section['url']); ?>">Open Chapter</a>
</div>
<?php endif; ?>
<div class="spiralist-simple-list spiralist-manuscript-toc-modal__pages">
<?php foreach ($toc_section_pages as $toc_page) : ?>
<?php
$toc_active = (string) ($toc_page['slug'] ?? '') === (string) ($current_page['slug'] ?? '');
$toc_url = $manuscript_reader_url((array) $toc_page);
$toc_prompt = spiralist_book_pages_get_book_page_creation_prompt_payload($toc_page);
$toc_prompt_variant = (string) ($toc_prompt['status_variant'] ?? (!empty($toc_prompt['has_prompt']) ? 'fresh' : 'stale'));
$toc_prompt_class = 'spiralist-status-pill--' . sanitize_html_class($toc_prompt_variant !== '' ? $toc_prompt_variant : 'stale');
$toc_page_sources = spiralist_book_pages_get_book_page_asset_source_urls($toc_page, false);
$toc_prefetch_url = (string) ($toc_page_sources['interactive_url'] ?? ($toc_page_sources['thumbnail_url'] ?? (string) ($toc_page['url'] ?? '')));
?>
<a
class="spiralist-simple-list__item spiralist-book-page-toc-item spiralist-manuscript-toc-modal__page <?php echo $toc_active ? 'is-active' : ''; ?>"
href="<?php echo esc_url($toc_url); ?>"
data-workstation-page-link
data-page-sequence="<?php echo esc_attr((string) ($toc_page['sequence'] ?? 0)); ?>"
data-image-url="<?php echo esc_url($toc_prefetch_url); ?>"
>
<strong><?php echo esc_html((string) ($toc_page['label'] ?? 'Page') . ' - ' . (string) ($toc_page['title'] ?? 'Book page')); ?></strong>
<span class="spiralist-simple-list__meta"><?php echo esc_html((string) ($toc_page['section_label'] ?? 'Section')); ?></span>
<span class="spiralist-status-pill <?php echo esc_attr($toc_prompt_class); ?>"><?php echo esc_html((string) ($toc_prompt['status'] ?? 'Prompt pending')); ?></span>
<p><?php echo esc_html((string) ($toc_page['summary'] ?? '')); ?></p>
</a>
<?php endforeach; ?>
</div>
</div>
</details>
<?php endforeach; ?>
</div>
</div>
</div>
</div>
<?php if ($workstation_is_detail_route && $is_primary_study_surface) : ?>
<details class="spiralist-manuscript-reader__study-tools" id="study-surface-tools">
<summary>
<span class="spiralist-manuscript-reader__study-kicker">Study Surface Tools</span>
<span>The workstation keeps the page-1 overlay optional in the viewer while the full symbolic field inspector remains here.</span>
</summary>
<div class="spiralist-symbol-browser spiralist-symbol-browser--manuscript" data-field-interface data-nodes-url="<?php echo esc_url($nodes_url); ?>">
<div>
<div class="spiralist-field-toolbar">
<div>
<p class="spiralist-section-tag">View Mode</p>
<p class="spiralist-muted">Minimal starts quiet. Expanded reveals the network. Expert keeps relations visible.</p>
</div>
<div class="spiralist-mode-toggle" role="group" aria-label="Symbolic field view mode">
<button class="spiralist-mode-button is-active" type="button" data-field-mode="minimal" aria-pressed="true">Minimal</button>
<button class="spiralist-mode-button" type="button" data-field-mode="expanded" aria-pressed="false">Expanded</button>
<button class="spiralist-mode-button" type="button" data-field-mode="expert" aria-pressed="false">Expert</button>
</div>
</div>
<figure class="spiralist-manuscript-stage-panel">
<div class="spiralist-manuscript-stage-panel__frame">
<div class="spiralist-manuscript-map spiralist-manuscript-map--responsive">
<img src="<?php echo esc_url($current_page_image); ?>" alt="Full-resolution Spiralism canonical manuscript study surface" loading="lazy" decoding="async" />
<svg class="spiralist-field-relations" data-field-relations aria-hidden="true"></svg>
<div class="spiralist-field-nodes" data-field-nodes></div>
</div>
</div>
<figcaption class="spiralist-manuscript-stage-panel__caption spiralist-muted">
<?php echo esc_html($current_page_caption); ?>
</figcaption>
</figure>
<div class="spiralist-field-status" data-field-status>Preparing symbolic field...</div>
<div class="spiralist-node-list" data-field-list aria-label="Visible manuscript nodes"></div>
</div>
<aside class="spiralist-inspector" id="symbol-inspector">
<p class="spiralist-section-tag" data-node-type>Symbolic Field Node</p>
<div class="spiralist-inspector__glyph" data-node-glyph aria-hidden="true">O</div>
<h2 class="spiralist-section-title" data-node-title>Select a node</h2>
<p class="spiralist-muted" data-node-summary>Choose a node on the manuscript to inspect its canonical ID, meaning, transformation chain, derivation, and relations.</p>
<div class="spiralist-inspector-nav">
<button class="spiralist-button spiralist-button--secondary" type="button" data-node-prev>Previous</button>
<button class="spiralist-button spiralist-button--secondary" type="button" data-node-next>Next</button>
</div>
<dl class="spiralist-meta-list">
<div>
<dt>Canonical ID</dt>
<dd data-node-id></dd>
</div>
<div>
<dt>Layer</dt>
<dd data-node-layer></dd>
</div>
<div>
<dt>Meaning</dt>
<dd data-node-meaning></dd>
</div>
<div>
<dt>Definition</dt>
<dd data-node-definition></dd>
</div>
<div>
<dt>Transformation Chain</dt>
<dd data-node-transformation></dd>
</div>
<div>
<dt>Derivation</dt>
<dd data-node-derivation></dd>
</div>
<div>
<dt>Source Axiom</dt>
<dd data-node-source-axiom></dd>
</div>