spikes/KniWeb (outside LittleSim.sln): a kni-blazor-gl template project (KNI 4.2.9001, net8.0) referencing MrGameEng.Core directly. A mini-host in the GameHost mold drives EngineContext/GameClock/Scene phases over KNI's Game; the scene moves 300 Friflo entities in the update phase and draws them with SpriteBatch (WebGL). Verified in a real browser: sprites render and animate, browser console is clean. Decision (docs/web-client.md): path A — KNI — is the primary route for the web client; the core runs in Blazor WASM unchanged thanks to the Core/Host split. Known follow-ups: per-platform compilation of the graphics libraries against nkast.* packages, shader compatibility for Renderer2D, HTTP-served content instead of the filesystem. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
99 lines
1.6 KiB
CSS
99 lines
1.6 KiB
CSS
.page
|
|
{
|
|
position: relative;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
main
|
|
{
|
|
flex: 1;
|
|
}
|
|
|
|
.sidebar
|
|
{
|
|
background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
|
|
}
|
|
|
|
.top-row
|
|
{
|
|
background-color: #f7f7f7;
|
|
border-bottom: 1px solid #d6d5d5;
|
|
justify-content: flex-end;
|
|
height: 3.5rem;
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
.top-row ::deep a, .top-row ::deep .btn-link
|
|
{
|
|
white-space: nowrap;
|
|
margin-left: 1.5rem;
|
|
text-decoration: none;
|
|
}
|
|
|
|
.top-row ::deep a:hover, .top-row ::deep .btn-link:hover
|
|
{
|
|
text-decoration: underline;
|
|
}
|
|
|
|
.top-row ::deep a:first-child
|
|
{
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
@media (max-width: 640.98px)
|
|
{
|
|
.top-row:not(.auth)
|
|
{
|
|
display: none;
|
|
}
|
|
|
|
.top-row.auth
|
|
{
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.top-row ::deep a, .top-row ::deep .btn-link
|
|
{
|
|
margin-left: 0;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 641px)
|
|
{
|
|
.page
|
|
{
|
|
flex-direction: row;
|
|
}
|
|
|
|
.sidebar
|
|
{
|
|
width: 250px;
|
|
height: 100vh;
|
|
position: sticky;
|
|
top: 0;
|
|
}
|
|
|
|
.top-row
|
|
{
|
|
position: sticky;
|
|
top: 0;
|
|
z-index: 1;
|
|
}
|
|
|
|
.top-row.auth ::deep a:first-child
|
|
{
|
|
flex: 1;
|
|
text-align: right;
|
|
width: 0;
|
|
}
|
|
|
|
.top-row, article
|
|
{
|
|
padding-left: 2rem !important;
|
|
padding-right: 1.5rem !important;
|
|
}
|
|
}
|