Skip to main content
Git Changelog
PFM
Features
- "Base Properties" item in actor editor is now hidden for components that have no base properties (58ad221)
actor bones now show in viewport when hovering over a body part (254a3c2)
actor property values are now initialized from project after main component initialization and before entity spawn (e6d9b8d)
add "OnChannelAdded" and "OnChannelRemoved" callbacks for animation manager (3028942)
add "Save as Copy" menu bar option (14219d1)
add additional tooltip information to actor editor constraint icons (2e721f8)
add additional version information (c04a956)
add AnimationManager::FindAnimation for finding/creating the animation of a specific actor (b500690)
add axis lines to translation gizmo (19ce11d)
add bloom component action for viewing scene bloom (a4bc32e)
add context menu option to jump to target property for property references in actor editor (7ffe128)
add context-menu option for going to driver properties of constraints in actor editor (75a804a)
add feedback messages when shader kernels are being built (5f9db8f)
add film clip context menu options for editing film clip properties (d2162bb)
add gui.PFMViewport:ScaleSelectedActors (d84df2a)
add hover text for selected bone in viewport (9674035)
add interactive skeleton visualization (235e50c)
add menu option to convert scenebuild of current project to map (de73ba9)
add menu option to start lua debugger server (bd6e21e)
add meta type information for transform properties of pfm_actor component (23bd079)
add model explorer option to convert model from/to ascii/binary format (162f983)
add mouse hover selection outline effect (8a5754b)
add option to create "child_of" constraint through actor editor (10d4a8d)
add option to remove drivers and constraints via icon in actor editor (4bebe88)
add outline effect component (3ea6fe5)
add PFMTreeViewElement:AddUniqueIcon and :ClearIcons (70bcef9)
add saving / loading to ik rig editor (7348c27)
add support for property reference component property types (49805d2)
add support for read-only component properties in actor editor (1456594)
add support for very large render resolutions (0ea820c)
add tiled rendering for pragma renderer (0f19281)
add tutorial system (a35ca15)
add update-checker (8d965e4)
add utility functions and identifiers for tutorial system (6030ef5)
add vr_manager component (wip) (b411791)
add world axis gizmo (52ba356)
adding a constraint or math expression now automatically adds a single-value animation channel if one doesn't exist (c44eadc)
all logging categories are now enabled by default if log parameter is not specified (ba01a4d)
animation drivers can now be created through actor editor (eb05de4)
anim: bones can now be selected by clicking a triangle weighted to that bone (1416fbb)
anim: non-selected IK bones can now be directly clicked and moved in viewport (ea6f8d5)
anim: selected bones are now highlighted (b465641)
apply changes for Silverlan/pragma@e6e7bb59 (ab4cfcd)
asset,gui: add missing gui material files for detaching windows (a353b92)
bones in actor editor are now displayed in hierarchical order (ca59b1c)
camera settings are now saved and restored to/from projects (132c05d)
change implementation of util_transform component to allow usage in secondary scenes/viewports (df35060)
component lists in actor editor now use localized component names (569e80c)
component properties with a single animation value can now be edited directly outside of graph editor (caca401)
components in actor editor are now listed directly below actors instead of "components" sub-item (703fa63)
converting map to actors now takes scale into account (e0e5d9a)
copying the property path of a property now includes the full path including actor id (d41ff17)
current project file name is now displayed in window title bar (363e53d)
dev: add option to assign actor component to x / y variable via right-click context menu in actor editor if developer mode is enabled (3a22890)
disable bloom for transform gizmos (58e4438)
disable motion editor button (3e8f00f)
ecs: add option to specify ik rig from file for ik_solver component (ad57536)
ecs: add pfm_project_manager component for creating PFM scenes outside of PFM (f43f679)
ecs: remove ik_solver component (5f7fc65)
emission_factor for cycles pbr shader can now be used without emission texture (3e156cd)
enum-based component properties no longer list "Count" as an option in actor editor (6f9f12f)
gui: add ik rig editor (8d5dffc)
gui: add option to add simple non-editable text properties to control menues (6c1c3e5)
hide render options not supported by selected renderer (2edcc14)
ik rig editor updates and improvements (0b92277)
ik: add ik components (wip) (a63e07f)
ik: increase precision of ik solver (90d4081)
implement changes for Silverlan/pragma@0c91c31c (4668b27)
importing asset into model explorer now gives an option to import as collection or as single model (55b0565)
importing assets via model explorer now imports into sub-directory (e32e3ee)
improve skeletal bone visualization in viewport (0315c90)
locale: add ik rig editor localizations (758c199)
locale: add Japanese translation (2c9fa7b)
locale: add localization for components and component properties in actor editor (cfc0579)
locale: add missing localizations (9115eec)
locale: add missing localizations (a464a92)
locale: update localizations (dfde1a8)
math expression window now gives immediate feedback about validity of expression (88cfd5d)
model browser now automatically refreshes after importing assets (9de100f)
moving actor between collections is now instantaneous (50c2ff8)
PFM projects can now be marked as read-only (0e423a5)
pfm projects can now be saved/loaded in ascii format (4647fc2)
pfm_actor component now also adds origin component (a6793d8)
placing an actor through the model catalog now assigns the model name to the actor's name (f71b3f3)
properties in actor editor now only display the base name of the property instead of the full name (d31eb26)
remove origin component from pfm_actor component (e8f2679)
rename "track_to" constraint to "look_at" (see Silverlan/pragma@da75b3f6 ) (aab83b5)
replace selection wireframe with outline effect (d0fb7f5)
selecting an actor in the viewport now automatically scrolls to it in the actor editor (c5e5363)
sfm projects can now be imported from directories other than "elements/sessions/" (f41b93c)
shaders: add missing particle shader files (d786f7e)
tutorial layout changes (7c4e058)
UDM editor now has options for creating new UDM files, importing UDM data or saving as new file (1789cce)
various actor editor additions (74ac3b7)
various ik rig editor additions and improvements (3019232)
various tutorial system improvements (c0c97e9)
version info can now be clicked to copy it to clipboard (1ad002f)
vr: vr manager now automatically creates actors for all recognized tracked devices (1add829)
Bug Fixes
constraint menu no longer shows up for string-based properties (73fcbc5)
debug objects are now longer included in renders when using Pragma renderer (edbdf52)
fix "Save As" not updating internal file name to new file name (e529ab0)
fix ascii-based models not appearing in model explorer (fda5dcd)
fix clicking mesh not detecting correct weighted bone properly (864004e)
fix component property values of type 'entity' not getting saved/loaded properly to/from a PFM project (68ca36c)
fix device type settings in render options being inverted (fc4f53d)
fix gui.PFMTreeViewElement:SetIdentifier not registering identifier with parent (3f18518)
fix importing map not importing prop_dynamic entities (a446d9c)
fix incorrect class name for pfm_project_manager component (1dfd98c)
fix light sources not showing up in secondary viewports (8118eb8)
fix low-resolution preview render image (c0f888d)
fix lua error when auto-saving (0e818e4)
fix lua error when baking lightmaps (84a714c)
fix lua error when changing component property values (1b55a9f)
fix lua error when changing property values (7d7492a)
fix lua error when clicking ik handle in viewport (25c38e2)
fix Lua error when launching PFM (5baf87d)
fix Lua error when moving actor to empty collection (b71a946)
fix lua error when rendering if opencv module is not installed (ab71e1e)
fix lua errors (8bec2e8)
fix lua errors if actor is spawned with unknown component types (8bf3ff3)
fix Lua errors in ik rig editor (deb7eb2)
fix lua errors when adding or removing constraints (70dddfe)
fix potential crash when selecting or de-selecting spot-light actor (a3bc308)
fix quick-ik in actor editor not working properly (68a190b)
fix removing pfm_skeleton component not removing visual bones (3ceb0c9)
fix some items in actor editor tree having incorrect identifier assigned to them (1288805)
ik: fix broken ik behavior for actors without the pfm_model component (8ed45f6)
locale: fix changing language not being saved (e997b2d)
resolve issue where actor editor component icons would disappear in some cases (f2bd880)
resolve issue where actor editor component property list would not get reloaded when component properties change (a81095c)
resolve issue where camera projection matrix would not be reset properly after tiled rendering (aebe5c8)
resolve issue where clicking constraint icon in actor editor would not select associated property properly (1226112)
resolve issue where incorrect slider step size would be used for slider UI elements (988bea9)
resolve issue where removing an actor could result in corrupted actor references (6f9ad31)
resolve issue where sky actor would appear with error texture (5ba11fc)
resolve issue where transform gizmo arrows would not transform in correct space (41b7ee3)
resolve issue with actor model being initialized too late, causing dependent component property values to not be initialized properly (fa03294)
resolve various issues caused by filmmaker being initialized before game is ready (d690b82)
resolve various issues related to transform gizmo (1667afe)
Pragma
Features
- "scale" keyvalue for prop and transform components now accepts vector values (755e0cd)
add additional error reporting if model loading or importing fails (e0853ac)
add base editor UI element identifiers (2fc6c4d)
add bloom component properties (56042d1)
add console commands log_level_console and log_level_file for changing log levels on the fly (8a6becd)
add error handling when saving a model (cd7524d)
add functions for getting parent pose of transform-based component properties (e4c108b)
add git sha to version information (7b34f3c)
add global string table (6f67c6a)
add gltf import support for multiple mesh instantiations (b70ee2a)
add gui.WIBaseEditor:GetContentsElement (31c18be)
add logging messages for lightmap system (6d7813e)
add missing log_file launch parameter (15c0e4c)
add model flag for indicating if model is world geometry (75930c4)
add Model::RemoveUnusedMaterialReferences (91bfd95)
add new logging system (7d8c965)
add on-complete callback to util.import_assets (1ab7ffd)
add option to calculate projection matrix for tiled rendering (d862e63)
add ostream overloads for entity reference types (10554e5)
add support for importing gltf scene as map with multiple models (802061e)
add support for Lua development and debugging with Visual Studio Code (405dabf)
add udm lua bindings (b66c082)
add udm.BaseSchemaType:ReloadUdmData (43357c3)
add util::generate_two_pass_gaussian_blur_coefficients (f1c9c92)
add util::to_image_buffer overload for providing a pre-existing staging image (00397a6)
add WorldData Lua bindings (68eaa49)
anim: add multi-threading for animations (36029e2)
anim: implement constraint influences (ec65ae4)
asset: add skybox materials (11fa969)
asset: replace toolsnodraw texture (3b18acc)
code cleanup (e4ad13f)
debug_aim_info command now attempts bhv raycast before physics raycast (6c27acb)
debug: add info.txt to crashdump (955642d)
debug: add logging information (74977af)
debug: crash dump now includes vendor information about all available GPUs on system (772db85)
debug: crashdump now includes device id for available GPU devices (44fde2e)
debug: re-enable crashdump exception information (b49bdaf)
ecs,animation: add animation constraint system (e628639)
ecs,lua: add option to specify type meta data as well as custom setters and getters for Lua-based component properties (8222143)
ecs,lua: lua-based component properties using the PoseTypeMetaData type meta data are now automatically associated with respective pos/rot/scale properties (0c91c31)
ecs: add "pose" property to ik solver component (07b37ee)
ecs: add BaseBVHComponent::GetVertex (a62a322)
ecs: add child_of constraint component (679f76e)
ecs: add component property meta type data (fed2d66)
ecs: add component property parent meta type (2d8f34f)
ecs: add constraint component events when driver or driven object has changed (88301a7)
ecs: add constraint entity component types (1410021)
ecs: add event callback when clearing material overrides for model component (904fa93)
ecs: add ik_solver component (a69e632)
ecs: add methods for retrieving coordinate-based component properties in specific coordinate space (b26c539)
ecs: add origin entity component (e9b5029)
ecs: add pose type meta data for associated pose properties with pos/rot/scale properties (8b24818)
ecs: add property component member type (5bde6fc)
ecs: add read-only member property flag (a08a204)
ecs: add track_to constraint component (06001d5)
ecs: BaseGenericComponent::EVENT_ON_MEMBERS_CHANGED now includes event data struct with component information (23f75d9)
ecs: implement constraints: limit_location, limit_rotation, limit_scale (34a3b26)
ecs: improve performance of composite component (08aaacb)
ecs: rework and rename track_to constraint to look_at constraint (da75b3f)
emission_factor material property can now be used without emission map (39fa66c)
Engine::AddTickEvent is now thread-safe (c00bd5d)
entity model bodygroups are no longer reset on spawn (16c1177)
ExprTk: update to version 0.0.2 (e354bb2)
force panima animations to always update, even if timestamp hasn't changed (6f23fb2)
gui,lua: add gui.ScrollContainer:GetWrapperElement, :ScrollToElement* functions (4156f14)
gui: add option to disable automatic rendering when setting scene for WIViewport GUI element (21c9131)
gui: add option to disable menu item (489659b)
ik: add full-body ik system (8455946)
improve bloom effect (17c4e54)
improve lightmap quality (1cfd4d2)
lad: add math alias definitions to meta lua documentation (810844b)
lad: add math alias definitions to meta lua documentation (fd4b7b5)
lad: update lua meta documentation files (d1326d9)
lightmap data cache component now initializes data cache automatically (6bdbe84)
locale: add debug logging messages (bd52a4a)
locale: add Japanese translation (ee424f3)
locale: add localization for components and component properties (b6b1d40)
locale: update localizations (31767f6)
log system improvements (79a12ff)
loggers are now flushed whenever error or critical messages are printed (6cfcb81)
log: info messages now have the "[info]" prefix if printed using the logging system (9113847)
log: warning, error and critical messages are now completely colored in (baede6a)
lua-based shaders no longer re-initialize material descriptor set when it is not necessary to do so (c199a10)
lua,ecs: add component property reference bindings (228dab7)
lua: add console.invoke_change_callbacks binding (c568ec2)
lua: add constraint function bindings (727389f)
lua: add ents.AnimatedBvhComponent:RebuildAnimatedBvh binding (dc377f4)
lua: add ents.AnimatedComponent:GetEffectiveBoneTransforms binding (d53c570)
lua: add ents.EntityComponent:InvokeElementMemberChangeCallback binding (6af95ce)
lua: add ents.is_member_type_animatable binding (51a2271)
lua: add ents.parse_uri and ents.create_uri bindings (d69df6f)
lua: add equality operator for prosper.Window objects (3365a0a)
lua: add game.is_game_initialized, game.is_game_ready, game.is_map_initialized (f3744d7)
lua: add gui.get_element_under_cursor overload with base element parameter (2589c61)
lua: add ik rig lua bindings (5b7735d)
lua: add Lua bindings for log library (c536f87)
lua: add math.Transform constructor with ScaledTransform argument (c3ef7ed)
lua: add missing entity component type meta data bindings (e655387)
lua: add model, physics and misc bindings (807dc8c)
lua: add options for custom push constants and material data initialization for Lua-based shaders (03c9f4c)
lua: add panima function bindings for merging channels and animations (521991c)
lua: add panima.Channel:TestValueExpression (8705de2)
lua: add parameter to asset.import_model and asset.import_gltf for importing model as collection or single model (2038c26)
lua: add prosper.Window:GetWindowTitle (9c91196)
lua: add string.snake_case_to_camel_case and string.camel_case_to_snake_case bindings (273feb0)
lua: add support for displaying object types when debugging with lua-debug (e5a474b), closes /github.com/actboy168/lua-debug/issues/237#issuecomment-1477469263
lua: add support for displaying object values when debugging with lua-debug (2451782)
lua: add udm.is_convertible binding (9535e18)
lua: add util.ImageBuffer:Insert bindings (7cc2ff8)
lua: ents.Entity:FindMemberInfo now also returns component reference (8018ad9)
lua: rename ik.Solver:RemoveDragControl to ik.Solver:RemoveControl (9f498d7)
map format can now contain entity component data (de913ce)
performance improvements (71fb75c)
reduce weight of directional light sources when calculating dominant light direction (b935e2b)
remove ambient color from shader render settings and add camera fov (e6e7bb5)
update intel vtune path references to version 2023.0.0 (812e0f7)
update panima submodule (04c72ec)
update sharedutils submodule (7d0e338)
update sharedutils submodule (048f8a4)
update sharedutils submodule (8476465)
update util_image submodule (8b48504)
various animation driver updates and improvements (80953a8)
windows: change console font to "Ubuntu Mono" (f290627)
Bug Fixes
add missing origin component source code files (c1ad5eb)
changing collisions of a physics constraint having no effect (e76ac98)
clang compile error (b147489)
crash when doing mouse or keyboard input before main window has been created (4855962)
ecs: add missing component property registration for bone pose property of animated component (edb3798)
ecs: fix enabling or disabling axis for child-of constraint not having any effect (362dbed)
ecs: fix Lua errors in lua_script component (343ec34)
ecs: fix lua errors when loading lua_script entity component (a32a0d4)
ecs: fix space constraint component axes being inverted by default (83fae4a)
ecs: resolve various ik_solver component issues (9ab5716)
ecs: resolve various ik_solver component issues (5931047)
fix "color" keyvalue for color component being interpreted incorrectly (4a3faa4)
fix "debug_hdr_bloom" console command not working properly (a5ceec4)
fix accessing invalid iterator when removing entity component from within OnRemove (6c60c49)
fix BaseEntityComponent::SetTransformMember* functions applying value incorrectly if value is in world space and property expects value to be in local space (79a0a2c)
fix build error (9c5ff63)
fix build error (313436a)
fix build error on latest Visual Studio version (20b1ad8)
fix clang compile error (3b493af)
fix ClickComponent.raycast not applying filter correctly to static entities (cfbfa5b)
fix component properties not being saved when saving map data (2a91492)
fix component property references not working if property path has multiple path components (41bb680)
fix crash when removing entity with panima component (30e029e)
fix importing gltf as model not applying mesh scaling correctly (87cf3cc)
fix importing gltf as multiple models resulting in invalid bodygroup references (3993611)
fix invalid memory read access (8e2c045)
fix limit location/rotation/scale components not working if no driver was specified (17362ef)
fix limit_distance component not working properly (fcc60fb)
fix memory corruption issue (9dd303f)
fix ModelSubMesh::SetVertexWeight using wrong vertex weight set (3a30e1b)
fix obsolete model path (cb063d2)
fix potential crash when loading a map (19fa263)
fix potential exception in BaseEntity::CreateMemberReference (1ce36ac)
fix potential null pointer access (6ddb2c6)
fix pragma::get_component_member_name_hash and pragma::get_normalized_component_member_name returning incorrect results (d66af40)
fix warning about missing static_bvh_cache component during map load (82479eb)
gui: fix file explorer adding additional slash to path if file is in root directory (16f4def)
linux: fix build errors due to missing std::format library (5a25f4d)
linux: resolve compile errors (608da84)
log: resolve various logging inconsistencies (0682925)
lua,gui: resolve issue where "OnTextChanged" callback would not work for "WIText" GUI elements (ce84793)
lua: add ents.create_entity_uri and ents.create_component_uri bindings (1dfac80)
lua: fix duplicate bound "tostring" method for entity components (954323a)
lua: fix ents.BhvComponent.HitInfo.entity not using correct lua object (1ae8906)
lua: fix ents.UniversalMemberReference:GetPath not returning correct path in some cases (6bc89ff)
lua: fix error when calling log.prefix (e8203c3)
lua: fix incorrect constness for some lua bindings (7000a7f)
lua: fix lua error when calling ents.UniversalComponentReference:GetComponentName (12ba931)
lua: fix module paths not being set up properly unless remote debugging is enabled for lua state (7de40ff)
lua: fix potential invalid memory access in util.generate_hair_data (7ae2ffd)
lua: fix type enums for ik rig constraints being bound with wrong class (7ef9257)
lua: implement missing features for transform component property type (d40c88d)
lua: resolve issue where udm GetValue functions would return nil if property is of type element (5a211e8)
lua: resolve issue where universal entity reference constructors would not accept uuid objects (f7b35d6)
ModelSubMesh::GetVertexWeight - resolve issue where incorrect vertex weight set would be used (fff66d9)
resolve compile errors (6079768)
resolve issue where console would not get initialized fully unless created at engine startup (1165a97)
resolve issue where crashdump would not generate properly (a0df754)
resolve issue where debug render objects could accumulate and not be flushed when no scenes are being rendered (a9ba75e)
resolve issue where entities in map generated from imported gltf would all have same uuid (beca3c8)
resolve issue where entity render buffer would not be initialized properly (6b9e379)
resolve issue where ik rigs could not be saved (8500d0a)
resolve issue where importing a model through the model explorer would fail (e93b81c)
resolve issue where lua source file could not be determined correctly (4ccd7ce)
resolve issue where Lua-script for Lua-based entity would not be loaded if invoked by creation of another Lua-based entity (6feee4a)
resolve issue where material and entity color factor would be interpreted as srgb instead of linear (6cc1778)
resolve issue where objects from imported gltf assets would have incorrect rotation (656399a)
resolve issue where panima components would not be updated properly if entity has no animated component (85aaa9a)
resolve issue where saving a model would not save the reference animation correctly (be93859)
resolve memory corruption issues (7ed7018)
resolve potential crash when multiple scenes with debug objects are rendered at the same time (31527e2)
resolve potential crash with animation drivers when using parameter references of properties with certain types (3f34a22)
temporarily disable multi-threading for animations (524ad34)