Showcase Registry & Configuration
Relevant source files
The following files were used as context for generating this wiki page:
The Showcase Registry provides a centralized, canonical index for all interactive artifacts, exhibits, and live demos within the Portfolio. It governs how artifacts render in the showcase.html gallery and defines the configuration parameters for runtime-wired components. The system ensures that every claim made in the portfolio is backed by observable evidence, categorized as verified, staged, or planned.
Sources: showcase/registry.json:206-209, README.md:46-49
Showcase Architecture
The architecture relies on a "Source of Truth" JSON file that decouples the artifact metadata from the presentation layer. The showcase.html page consumes this registry to dynamically generate the gallery interface.
The diagram above illustrates the relationship between the central registry and the various output formats and live artifacts.
Sources: showcase/registry.json:207, showcase.html:62-65
Registry Structure
The registry defines two primary data arrays: entries and sections.
- Entries: Objects containing file paths, unique IDs, kind/type, and live status.
- Sections: Metadata for grouping entries, including titles and descriptive blurbs.
Sources: showcase/registry.json:2-205
| Field | Type | Description |
|---|---|---|
id | String | Unique identifier for the artifact (e.g., inner-world-exhibit). |
file | String | The relative path to the HTML artifact in the showcase/ directory. |
kind | String | The category of the item (e.g., exhibit, demo, package, ui-kit). |
live | Boolean | Indicates if the artifact is wired to the live runtime. |
evidence | String | The verification status: VERIFIED or STAGED. |
runtime_wired | Boolean | True if the component requires the showcase-proxy. |
Sources: showcase/registry.json:2-10, showcase/registry.md:3-20
Runtime Configuration
Live demos and interactive artifacts utilize a global configuration object, SHOWCASE_CONFIG, to interface with the GestaltView runtime. This configuration handles API proxying and session timeouts.
Configuration Object Logic
If the window.SHOWCASE_CONFIG object exists, the runtime-wired artifacts use its values; otherwise, they revert to hardcoded defaults.
// Example from render-engine.html logic
var cfg = window.SHOWCASE_CONFIG || {};
var PROXY = cfg.PROXY_PATH || "/api/showcase-proxy";
var TIMEOUT = cfg.TIMEOUT_MS || 20000;
Sources: showcase/render-engine.html:212-214
Proxy Communication
Artifacts like the Generative Render Engine and Billy — Live Chat communicate through a signing proxy. This architecture prevents the exposure of secrets within static HTML pages.
The sequence diagram shows the data flow for live synthesis requests initiated by showcase artifacts.
Sources: showcase.html:120-123, showcase/render-engine.html:21-25
Artifact Categorization
The registry organizes content into five distinct sections to manage user navigation and system scope.
| Section ID | Title | Description |
|---|---|---|
inner-world | Inner World Exhibits | Philosophies and platform invariants. |
systems-method | Systems & Method | Architecture maps and professional records. |
live-demos | Live Demos | Working pieces wired to the GestaltView runtime. |
product-package | Product Package | The Agent Trainer white-label AI scaffold. |
brand-kit | Brand Boards & Templates | Static HTML design tokens and Canva-ready templates. |
Sources: showcase/registry.json:185-205, showcase.html:67-160
Evidence Standards
Every entry in the registry must adhere to the project's evidence standards. This ensures technical accuracy and transparency for the user.
- VERIFIED: The artifact exists, is fully tested, and its behavior is observable.
- STAGED: The artifact is in the build phase or documented, but may have limited functionality (e.g., awaiting allowlisting).
- PLANNED: The item represents intent but is not yet built.
Sources: README.md:46-49, showcase/registry.json:69-72
Summary
The Showcase Registry and Configuration system acts as the backbone for the Portfolio's transparency. By centralizing metadata in registry.json and managing runtime behaviors through showcase-config.js, the project maintains a strict boundary between static exhibits and live, runtime-dependent demos. This structure allows for modular updates to artifacts without requiring changes to the core gallery logic.