Gemini Hackathon approach: always-valid OMC, readable graph, and concept packages.
This page summarizes the core PRDs used for the hackathon build. The focus is simple: ship a judge-ready OMC 2.8 viewer that validates strictly, exports cleanly, and makes creative intent inspectable by humans and LLMs.
Objective
Build a hackathon-ready app that ingests text, PDF, or OMC JSON and renders a single CreativeWork with a hierarchy, graph, and screenplay view. Export must be valid OMC 2.8 and readable by judges.
Non-goals
- No accounts or collaboration features.
- No editing or writes inside the viewer.
- No custom extensions outside customData.
- No concept nodes in the graph.
Always-valid export
- Export as OMC 2.8 rootObject (type-grouped arrays).
- Preserve customData; strip only runtime/UI fields.
- Safe mode removes large base64 payloads.
- Ajv validation gates download and copy actions.
Schema-native relationships
- Context.ForEntity anchors concepts.
- Asset.Context links prompt assets to concepts.
- No non-schema fields like conceptFor or promptFor.
Core views
- Hierarchy: CreativeWork, scenes, characters, locations, objects, contexts, assets.
- Graph: inspectable links and dense relationships.
- Screenplay: readable script with clickable entities.
Judge demo flow
- Upload PDF or paste text.
- Graph + hierarchy populate.
- Select a node and copy its JSON.
- Download full OMC export (validated).