Mike-Solar
bff06e00e5
refactor: split Core into EngineCore (engine) and Core (UI)
...
EngineCore (new app/coreengine.{h,cpp}) owns every engine-safe part of
the old Core singleton: CoreParams, lifecycle of the engine managers,
UndoStack, tool/snapping/timecode state, locale, autorecovery, recent
projects, footage filters, clipboard, project registry, type
declarations, and the proxy toggle. UI dependencies are inverted
through hooks instead: status-bar/cache-full signals and std::function
handlers for image-sequence confirmation, footage relink, OTIO import,
project save/close and layout load (same pattern as
Config::ErrorHandler).
Core (app/) now derives from EngineCore and keeps only UI behavior:
the main window, dialogs, panel heuristics, import/export flows and
project lifecycle presentation. Its public API is unchanged (all
inherited), and Core::instance() covariantly static_casts the engine
singleton. The render worker constructs EngineCore directly, making it
the first binary that no longer needs the UI side of Core.
~25 engine call sites move from core.h to coreengine.h; a dozen more
drop a vestigial core.h include (gaining direct includes for symbols
they were borrowing transitively). Full gtest suite green (1986 tests,
0 failures).
2026-07-20 01:38:42 +08:00
Mike-Solar
bb40b4923e
style: unify identifier naming per updated conventions
...
Automated with clang-tidy readability-identifier-naming (config added to
.clang-tidy) plus scripted passes, per the updated rules now documented
in CONTRIBUTING.md:
- types (class/struct/enum/alias/template params): PascalCase
- functions, variables, members: snake_case (incl. rational -> Rational)
- private/protected members: trailing underscore; static member
variables likewise (instance_, available_themes_)
- constants and enum values: snake_case (kLinear -> k_linear,
F32P -> f32p); ALL_CAPS reserved for macros
- macros: OAK_ prefix (OLIVE_ADD_TEST/OLIVE_ASSERT/OLIVE_CONFIG ->
OAK_ADD_TEST/OAK_ASSERT/OAK_CONFIG, GL_PREAMBLE -> OAK_GL_PREAMBLE,
include guards -> OAK_*)
- file names: all lowercase (Current/Plugin/OliveHost/OliveClip/
OlivePluginInstance -> current/plugin/olivehost/oliveclip/
oliveplugininstance)
- getters share the member name sans underscore, setters set_foo()
- Qt and third-party (OpenFX) virtual overrides and framework callbacks
keep their original names (exempt in .clang-tidy)
Manual follow-ups required where automation could not reach:
- string-based QMetaObject/SIGNAL/SLOT references updated to renamed
methods (AddTask, CreatedFile, DeleteSpecificFile, moveSelectionUp, ...)
- macro bodies referencing renamed methods (OLIVE_CONFIG,
NODE_DEFAULT_DESTRUCTOR, MANAGEDDISPLAYWIDGET_*)
- self-shadowing locals renamed where signals/methods became same-named
(size_changed, worker_count, selected_items, import param, filters)
- third_party OFX member/namespace usages restored (OFX::Host::*,
_created, _clipPrefsDirty, createInstance, clearPersistentMessage)
- STL protocol aliases restored (const_iterator) with .clang-tidy
ignore rules; qHash overloads restored
Full build and test suite pass: ctest 4/4, ~1960 gtest cases green.
2026-07-19 16:10:54 +08:00
Mike-Solar
bfb1b2fce4
update copyright back
2026-01-16 21:22:05 +08:00
Mike-Solar
b8669f6a11
Change project name;
2026-01-05 16:22:26 +08:00
Mike Solar
6fdfd03ffd
update: update copyright
2025-08-05 17:12:49 +08:00
Mike Solar
74f73ab3be
change: change code style to Linux style except indent.
2025-08-03 03:09:40 +08:00
itsmattkc
2c2df99963
name every undo command
2023-03-12 00:49:03 -08:00
itsmattkc
11e4e051c3
move undo files around for better organization
2023-02-20 16:09:22 -08:00
itsmattkc
9745b536f6
nodes: remove graph and merge into project
2023-02-17 14:13:03 -08:00
itsmattkc
dd9c52ab59
start moving core frameworks to external libraries
2023-01-19 09:51:47 -08:00
itsmattkc
9d2a9a632c
textv3: fix possible var size issue
2022-10-02 14:35:36 -07:00
itsmattkc
c0d8ff403f
nodes: rework so that jobs can be completely deferred
...
Big optimization requiring a lot of refactoring.
2022-09-24 18:44:59 -07:00
itsmattkc
b1b845826c
viewertexteditor: move vertical alignment options to toolbar
2022-08-25 10:17:58 -07:00
itsmattkc
5ea97f7a64
render: remove alpha request option
2022-07-20 23:14:16 -07:00
itsmattkc
4c71a33b7b
node: implement array start offset
2022-07-17 14:48:00 -07:00
itsmattkc
04c1693297
text: implement formatting arguments
2022-07-17 14:40:35 -07:00
itsmattkc
501564fb22
ui: replace html edit in text node with edit in viewer button
2022-05-10 18:07:17 -07:00
itsmattkc
4b366a9b73
update copyright year to 2022
2022-05-10 10:38:56 -07:00
itsmattkc
b88e15b8cf
accleratedjob: simplified function calls
2022-05-09 15:16:46 -07:00
itsmattkc
58c4600d04
nodevalue: begin abstracting qvariant
2022-05-09 13:07:34 -07:00
itsmattkc
d8a944c8c4
port more nodes to use recursive jobs
2022-05-03 20:34:17 -07:00
itsmattkc
e7b49f311d
shapenodebase: move base translate
2022-05-03 19:05:11 -07:00
itsmattkc
0e490b94e5
nodes: implemented recursive jobs
2022-05-03 15:03:14 -07:00
itsmattkc
5d06c58a29
text: update code for new job system
2022-05-03 14:25:29 -07:00
itsmattkc
16580841a6
Squashed commit of the following:
...
commit 8619bb044081da81b4eef238d138bd051e678a4c
Merge: 1a767e0c2 1c30c4d36
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com >
Date: Sun Mar 27 23:59:10 2022 -0700
Merge branch 'master' into gizmo-rework
commit 1a767e0c2279cac3baf96a9028c1b78ec0491e00
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com >
Date: Sun Mar 27 17:23:07 2022 -0700
implement custom html parser/exporter
commit bbd9361d345ce864d198f4340b3d59f526e642e5
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com >
Date: Wed Mar 9 22:27:17 2022 -0800
textgizmo: further improved behavior
commit 27634d5d377f03cab009bca418765d73764893f2
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com >
Date: Wed Mar 9 22:26:19 2022 -0800
textgizmo: improved double click behavior
commit 0897ebfa36e676461c7a47305a3c1bf66e7a9fd1
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com >
Date: Wed Mar 9 10:20:57 2022 -0800
text: added more features and improvements
commit 9d6446a25d977ea0c66e5f5c69239aed0e92fe83
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com >
Date: Wed Mar 9 10:14:59 2022 -0800
text: don't create color input
commit d1d3b9d46e74d8197ba3485a8e965068eb245166
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com >
Date: Wed Mar 9 09:10:23 2022 -0800
text: convert to reference space
commit 3ba1565129a0bdd74b860b1869fec5ef30025abb
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com >
Date: Mon Mar 7 17:57:26 2022 -0800
finally got scaling to work
holy shit I never thought it'd be this easy
commit 081368cfac9b49a171db6c1d576e134903dffac0
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com >
Date: Mon Mar 7 11:25:58 2022 -0800
improved text behavior
commit f3eda52eee29b7cd354d7d90b3ae1a819e1b1cf2
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com >
Date: Mon Mar 7 11:08:31 2022 -0800
implemented font styles (weights and italics)
commit 0898b613ec9b473ac93996536d00541e0a2a3f74
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com >
Date: Mon Mar 7 01:26:13 2022 -0800
implemented beginnings of text gizmo
commit bffb8ede2d425e7391d16bc03e613d4d90367add
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com >
Date: Sun Mar 6 17:55:03 2022 -0800
conformed transform node to new gizmos
commit 1a1f86fa9bec9ea6b67f77032748c04b6b4c95fd
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com >
Date: Sat Mar 5 11:16:34 2022 -0800
update polygon node
commit 2388dd69164e8c57e0a1d221c7680a0d39173c2c
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com >
Date: Fri Mar 4 15:31:39 2022 -0800
implement glsl hack for corner pin
commit e96df6cb326fb278cc6555890ff0ac1d37ebf4bf
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com >
Date: Thu Mar 3 17:06:14 2022 -0800
updated corner pin
commit c70aa0e72d4e83045c84259294608c1380e8929b
Merge: 5afed6383 780342881
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com >
Date: Thu Mar 3 17:04:40 2022 -0800
Merge branch 'master' into gizmo-rework
commit 5afed6383952d7d936b5eeda2556339c854610af
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com >
Date: Thu Mar 3 16:55:57 2022 -0800
use float points for more precise math
commit 159ade0d2812d556dee57f99e3f733ef1e838d01
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com >
Date: Thu Mar 3 16:55:40 2022 -0800
ported shape node
commit 28f9500d7bc6cd2661ee9ea591db7b3f8d583196
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com >
Date: Thu Mar 3 15:50:19 2022 -0800
implemented enough dragging code to reimplement crop
Requires far less boiler-plate code per node
commit 5aeaa59227ad2f1dc3c7f499c636de843a262a88
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com >
Date: Wed Mar 2 19:45:04 2022 -0800
update just merged corner pin for new gizmos
commit 8a2d041650d1b873c6d87664564ebcdf92a3760f
Merge: c916e8e08 f5b4729a1
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com >
Date: Wed Mar 2 19:38:36 2022 -0800
Merge branch 'master' into gizmo-rework
commit c916e8e08016c1d0b72d85087db76e4137587d52
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com >
Date: Wed Mar 2 19:35:09 2022 -0800
gizmos: rewrote drawing into standard routines
Work towards a far more maintainable gizmo system
2022-03-28 00:01:48 -07:00