Add Nebula Browser app, UI and assets

Add initial Nebula Browser project skeleton: CMakeLists to configure and link CEF (including post-build steps to copy runtime and UI files), a Windows CEF-based entry (app/main.cpp) that initializes CEF and loads the bundled UI, and a full ui/ and assets/ tree (HTML, CSS, JS, fonts, icons, and branding images). Update .gitignore to ignore build/out, thirdparty/cef, IDE and common OS artifacts.
This commit is contained in:
Andrew Zambazos
2026-05-13 22:17:58 +12:00
parent 79565f2ef3
commit 207a849f06
52 changed files with 13906 additions and 109 deletions
+72
View File
@@ -0,0 +1,72 @@
/* Performance optimizations for renderer CSS - GPU Error 18 compatible */
/* Conservative hardware acceleration for animations */
.tab, .bookmark, .icon-item {
/* Only enable will-change when actually needed */
transform: translateZ(0);
}
.tab:hover, .bookmark:hover, .icon-item:hover {
will-change: transform;
}
.tab:not(:hover), .bookmark:not(:hover), .icon-item:not(:hover) {
will-change: auto;
}
/* Optimize scrolling - more conservative approach */
#webviews, #bookmarkList, #iconGrid {
-webkit-overflow-scrolling: touch;
/* Use layout containment only, avoid paint containment which can cause GPU issues */
contain: layout style;
}
/* Use CSS containment for better performance - conservative approach */
.tab-content {
contain: layout style;
}
/* Optimize transitions - reduced complexity */
.tab {
transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
/* Reduce paint areas - more conservative transforms */
.tab:hover, .bookmark:hover {
transform: scale(1.01); /* Reduced scale to minimize GPU load */
}
/* Use efficient selectors */
.material-symbols-outlined {
font-display: swap;
}
/* Optimize text rendering - conservative settings */
body {
text-rendering: optimizeSpeed;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* Conditional subpixel rendering for retina displays */
@media (-webkit-min-device-pixel-ratio: 2) {
body {
-webkit-font-smoothing: subpixel-antialiased;
}
}
/* Additional GPU-safe optimizations */
* {
/* Prevent unnecessary repaints */
backface-visibility: hidden;
}
/* Safe animation performance */
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
.fade-in {
animation: fadeIn 0.3s ease-in-out;
}