This is the snapshot the production landing site (nibiru-framework.com) is deployed from. Brings together the recent splash + docs migration to the v4 "Cosmos" design system, the new in-framework AI module, and the framework groundwork that backs the framework-reference extraction. What lands: - docs/: Astro + Starlight site with the v4 dark cosmic palette, GalaxyHero canvas constellation, Mission Control chat (wired to /api/oracle → api.neuronetz.ai via providers.mjs Ollama), 5-panel MMVC stage (Model · AI · Module · Controller · View), translated EN/DE/JA/ES/FR content, PWA + sitemap + llms.txt + Umami analytics. - docs/design-system/: canonical mockup bundle (source/index-v2.html for splash, source/docs-system.html + preview/ for docs, SPEC.md, tokens). - docs/scripts/extraction/framework-reference-v2.md: deep framework reference (~1.6k lines, file:line citations, every public factory and idiom — basis for the LoRA training corpus. - application/module/ai/: AI module with chat / embed / RAG / agent plugins, plus pdoQuery / httpGet / fileRead tools and Modelfile + smoke-test in training/. - application/module/users/: user / ACL / form-factory traits used as the reference plugin pattern for the framework docs. - application/settings/config/database/: schema + seed migrations including the AI module tables (200–203). - Form factory + autogenerator changes the framework-reference-v2 covers. Production secrets stay out: docs/.env, settings.production.ini and ai.production.ini are all gitignored (.example files are in tree). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 line
3.2 KiB
CSS
1 line
3.2 KiB
CSS
.ytv-canvas{display:block;background:#282828;overflow:hidden;font-family:arial,sans-serif}.ytv-canvas ::-webkit-scrollbar{border-left:1px solid #000;width:10px}.ytv-canvas ::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1)}.ytv-video{position:absolute;top:0;right:300px;bottom:0;left:0;height:100%}.ytv-video iframe{width:100%;height:100%;border:0;outline:0;display:block}.ytv-list,.ytv-list-inner{position:absolute;right:0;bottom:0}.ytv-list{top:0;height:100%;width:300px}.ytv-list-inner{overflow:auto;top:52px;left:0;-webkit-overflow-scrolling:touch}.ytv-list ul{margin:0;padding:0;list-style-type:none}.ytv-list .ytv-active a{border-left:2px solid #fff;background:rgba(255,255,255,.05)}.ytv-list a{display:block;text-decoration:none;font-size:11px;color:#fefefe;padding:10px 10px 10px 8px;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(0,0,0,.5);border-left:2px solid transparent}.ytv-list a b{max-height:45px;overflow:hidden;display:block;text-overflow:ellipsis}.ytv-list li:first-child a{border-top:none}.ytv-list li:last-child a{border-bottom:none}.ytv-list a:hover,.ytv-list-header .ytv-playlists a:hover,.ytv-list-header a{background:rgba(255,255,255,.05)}.ytv-list a:active,.ytv-list-header .ytv-playlists a:active{background:rgba(0,0,0,.05)}.ytv-list .ytv-content{padding-left:125px}.ytv-list .ytv-thumb-stroke{position:absolute;top:1px;left:1px;bottom:1px;right:1px;z-index:2;outline:1px solid rgba(255,255,255,.1)}.ytv-list .ytv-thumb{float:left;position:relative;outline:1px solid rgba(0,0,0,.5)}.ytv-list .ytv-thumb img{width:120px;display:block}.ytv-list .ytv-thumb span{position:absolute;bottom:5px;right:5px;color:#eee;background:rgba(0,0,0,.7);font-size:11px;font-weight:700;padding:0 4px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.ytv-views{display:block;margin-top:5px;font-size:10px;font-weight:400;opacity:.3}.ytv-list-header{height:52px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2)}.ytv-list-header a{position:relative;z-index:10}.ytv-list .ytv-playlists .ytv-thumb img,.ytv-list-header img{width:30px;vertical-align:middle}.ytv-list-header span{padding-left:10px;font-size:12px;font-weight:700}.ytv-playlists{z-index:9;position:absolute;background:#282828;top:52px;left:0;right:0;bottom:0;overflow:auto;display:none}.ytv-list-header img,.ytv-playlists img{float:left}.ytv-list-header a span,.ytv-playlists a span{white-space:nowrap;padding-left:10px;display:block;overflow:hidden;text-overflow:ellipsis}.ytv-list-header>a span{line-height:30px}.ytv-list-header .ytv-playlists a{background:0 0}.ytv-playlist-open .ytv-playlists{display:block}.ytv-relative{position:relative;width:100%;height:100%}.ytv-full{position:fixed;top:0;left:0;width:100%!important;height:100%!important;margin:0!important}.ytv-arrow{height:10px;width:0;position:relative;top:10px;right:5px;border:10px solid transparent;float:right;border-top-color:rgba(0,0,0,.4);display:none}.ytv-has-playlists .ytv-arrow{display:inline-block}.ytv-playlist-open .ytv-arrow{border-color:transparent;border-bottom-color:rgba(0,0,0,.4);top:-10px}.ytv-clear:after,.ytv-list-header a:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0} |