Move the pure-header utilities shared by app/ and engine/ out of
engine/common/ into a new shared/include/oakutil/ layer (define, lerp,
decibel, digit, range, crashpadutils, autoscroll, qtutils, filefunctions
declarations, and a trimmed xmlutils exposing a CancelAtom-free void*
overload). engine/common/ keeps forwarding headers so internal include
paths are unchanged; app/ now includes oakutil/* directly.
engine/node/project.h gains an explicit NodeGroup forward declaration
previously obtained transitively through the old xmlutils.h.
Every app module now reaches liboakengine exclusively through
oakengine_* C calls, EngineEventBridge subscriptions and app-side
handle headers (cliphandle/keyframehandle/nodevaluehandle/oakvaluehelper).
Direct C++ command construction, engine signal connect()s, and engine
type usage in MOC-visible signatures are gone: 557 -> 0 undefined
olive:: symbols in oak-editor.
- Add explicit QTabBar::tab styles to olive-dark/style.css so inactive
KDDockWidgets tabs render with a dark background and white text instead
of falling back to the native macOS light tab appearance.
- Update macOS CD to stage Oak.app alongside an Applications symlink
before creating the DMG, matching standard macOS installer disk images.
- Extract libolive-rendercore static library to minimize backend link boundary.
- Add DynamicRenderer adapter with C ABI (oakgl/oakvulkan shared libs).
- Make OAK_ENABLE_DYNAMIC_RENDER_BACKEND default ON with OpenGL fallback.
- Implement VulkanRenderer prototype (textures, shaders, UBO blit, readback).
- Add backend-neutral viewer readback path (offscreen -> QImage -> QPainter).
- Refactor PluginRenderer to be renderer-agnostic; OFX plugins fall back to CPU
path on non-OpenGL backends while preserving OpenGL render path.
- Add Renderer::AttachOutputTexture/DetachOutputTexture and C ABI forwards.
- Update docs/zh/render-backend-dynamic-plan.md for Phase 3/4/5.
- Move QRC generation to CMake so they can be generated automatically rather than with generate-style.sh
- Removed QRC generation from generate-style.sh
- Added extra "disabled icon" generation in generate-style.sh
- Added disabled icon loading to main code
* full icon review, simplification and standarization:
- all icons share the same template (with grid and guides)
- simplified svg code
- changed names for better organization:
- italic > text-italic
- justify-center > align-justify-left
- underline > text-underline
- updated previous design with Olive icons guideline
- created new icon for text-bold in case it is needed
- updated design for align-center, right and left to follow Olive icons guideline
- created new icons for alignements in case they are needed:
- align-justify-all
- align-justify-center
- align-justify-left
- align-justify-right
- updated .qrc files
- updated all .png files
* added missing "mini-map" icon
* fixed SVGs docnames and default export-filenames
* more cleanup and standarization to recently updated icons:
- align-justify-all
- align-justify-center
- align-justify-left
- align-justify-right
- text-bold
- text-italic
- text-underline
* changed some unused colors to #212121 in case the files are edited in the future, now they are set to the correct color
The macro defined namespaces confused the hell out of lupdate and more or less broke translations permanently. Looks like the only way we can do it is to have a hardcoded namespace, which goes against my instinct, but honestly how likely is it that we'll change the namespace anyway (I guess forks might want to do it, but that's their problem ;) )