<commit_before>#ifndef BABYLON_FWD_H
#define BABYLON_FWD_H

#include <babylon/babylon_stl.h>

// --- Forward Declarations --- //

namespace BABYLON {
// --- Actions ---
class Action;
class ActionEvent;
class ActionManager;
class Condition;
// - Conditions
class PredicateCondition;
class StateCondition;
class ValueCondition;
// - DirectActions
class CombineAction;
class DoNothingAction;
class ExecuteCodeAction;
class IncrementValueAction;
class PlayAnimationAction;
class PlaySoundAction;
class SetParentAction;
class SetStateAction;
class SetValueAction;
class StopAnimationAction;
class StopSoundAction;
class SwitchBooleanAction;
// - ValueActions
class InterpolateValueAction;
// --- Animations ---
class Animatable;
class Animation;
class AnimationEvent;
class AnimationGroup;
class AnimationRange;
class AnimationValue;
struct IAnimatable;
struct IAnimationKey;
class PathCursor;
class RuntimeAnimation;
struct TargetedAnimation;
// - Easing
class BackEase;
class BezierCurveEase;
class BounceEase;
class CircleEase;
class CubicEase;
class EasingFunction;
class ElasticEase;
class ExponentialEase;
class IEasingFunction;
class PowerEase;
class QuadraticEase;
class QuarticEase;
class QuinticEase;
class SineEase;
// --- Audio ---
class Analyser;
class AudioEngine;
class Sound;
class SoundTrack;
// --- Behaviors ---
template <class TNode>
struct Behavior;
// - Cameras
class AutoRotationBehavior;
class BouncingBehavior;
class FramingBehavior;
// --- Bones ---
class Bone;
class BoneIKController;
class BoneLookController;
class Skeleton;
// --- Cameras ---
class ArcFollowCamera;
class ArcRotateCamera;
struct ArcRotateCameraInputsManager;
class Camera;
template <class TCamera>
class CameraInputsManager;
class DeviceOrientationCamera;
class FollowCamera;
class FreeCamera;
struct FreeCameraInputsManager;
template <class TCamera>
struct ICameraInput;
class TargetCamera;
// - Inputs
class ArcRotateCameraKeyboardMoveInput;
class ArcRotateCameraMouseWheelInput;
class ArcRotateCameraPointersInput;
class FreeCameraKeyboardMoveInput;
class FreeCameraMouseInput;
// - VR
struct DevicePose;
struct PoseControlled;
class VRCameraMetrics;
struct VRFov;
// --- Collisions ---
struct BabylonMessage;
struct CollidePayload;
class CollideWorker;
class Collider;
class CollisionCache;
class CollisionCoordinatorLegacy;
class CollisionCoordinatorWorker;
class CollisionDetectorTransferable;
struct CollisionReplyPayload;
struct ICollisionCoordinator;
struct ICollisionDetector;
struct InitPayload;
class IntersectionInfo;
class PickingInfo;
struct SerializedColliderToWorker;
struct SerializedGeometry;
struct SerializedMesh;
struct SerializedSubMesh;
struct UpdatePayload;
class Worker;
struct WorkerReply;
// --- Core ---
struct Image;
struct NodeCache;
// - Logging
class LogChannel;
class LogMessage;
class Logger;
// --- Culling ---
class BoundingBox;
class BoundingInfo;
class BoundingSphere;
struct ICullable;
class Ray;
// - Octrees
template <class T>
struct IOctreeContainer;
template <class T>
class Octree;
template <class T>
class OctreeBlock;
// --- Debug ---
class AxesViewer;
class BoneAxesViewer;
class DebugLayer;
class PhysicsViewer;
class RayHelper;
class SkeletonViewer;
// --- Engine ---
class ClickInfo;
class Engine;
struct EngineCapabilities;
struct EngineOptions;
struct IActiveMeshCandidateProvider;<commit_msg>Forward declaring Promise classes<commit_after>#ifndef BABYLON_FWD_H
#define BABYLON_FWD_H

#include <babylon/babylon_stl.h>

// --- Forward Declarations --- //

namespace BABYLON {
// --- Actions ---
class Action;
class ActionEvent;
class ActionManager;
class Condition;
// - Conditions
class PredicateCondition;
class StateCondition;
class ValueCondition;
// - DirectActions
class CombineAction;
class DoNothingAction;
class ExecuteCodeAction;
class IncrementValueAction;
class PlayAnimationAction;
class PlaySoundAction;
class SetParentAction;
class SetStateAction;
class SetValueAction;
class StopAnimationAction;
class StopSoundAction;
class SwitchBooleanAction;
// - ValueActions
class InterpolateValueAction;
// --- Animations ---
class Animatable;
class Animation;
class AnimationEvent;
class AnimationGroup;
class AnimationRange;
class AnimationValue;
struct IAnimatable;
struct IAnimationKey;
class PathCursor;
class RuntimeAnimation;
struct TargetedAnimation;
// - Easing
class BackEase;
class BezierCurveEase;
class BounceEase;
class CircleEase;
class CubicEase;
class EasingFunction;
class ElasticEase;
class ExponentialEase;
class IEasingFunction;
class PowerEase;
class QuadraticEase;
class QuarticEase;
class QuinticEase;
class SineEase;
// --- Audio ---
class Analyser;
class AudioEngine;
class Sound;
class SoundTrack;
// --- Behaviors ---
template <class TNode>
struct Behavior;
// - Cameras
class AutoRotationBehavior;
class BouncingBehavior;
class FramingBehavior;
// --- Bones ---
class Bone;
class BoneIKController;
class BoneLookController;
class Skeleton;
// --- Cameras ---
class ArcFollowCamera;
class ArcRotateCamera;
struct ArcRotateCameraInputsManager;
class Camera;
template <class TCamera>
class CameraInputsManager;
class DeviceOrientationCamera;
class FollowCamera;
class FreeCamera;
struct FreeCameraInputsManager;
template <class TCamera>
struct ICameraInput;
class TargetCamera;
// - Inputs
class ArcRotateCameraKeyboardMoveInput;
class ArcRotateCameraMouseWheelInput;
class ArcRotateCameraPointersInput;
class FreeCameraKeyboardMoveInput;
class FreeCameraMouseInput;
// - VR
struct DevicePose;
struct PoseControlled;
class VRCameraMetrics;
struct VRFov;
// --- Collisions ---
struct BabylonMessage;
struct CollidePayload;
class CollideWorker;
class Collider;
class CollisionCache;
class CollisionCoordinatorLegacy;
class CollisionCoordinatorWorker;
class CollisionDetectorTransferable;
struct CollisionReplyPayload;
struct ICollisionCoordinator;
struct ICollisionDetector;
struct InitPayload;
class IntersectionInfo;
class PickingInfo;
struct SerializedColliderToWorker;
struct SerializedGeometry;
struct SerializedMesh;
struct SerializedSubMesh;
struct UpdatePayload;
class Worker;
struct WorkerReply;
// --- Core ---
struct Image;
struct NodeCache;
template <typename T>
class Promise;
// - Logging
class LogChannel;
class LogMessage;
class Logger;
// --- Culling ---
class BoundingBox;
class BoundingInfo;
class BoundingSphere;
struct ICullable;
class Ray;
// - Octrees
template <class T>
struct IOctreeContainer;
template <class T>
class Octree;
template <class T>
class OctreeBlock;
// --- Debug ---
class AxesViewer;
class BoneAxesViewer;
class DebugLayer;
class PhysicsViewer;
class RayHelper;
class SkeletonViewer;
// --- Engine ---
class ClickInfo;
class Engine;
struct EngineCapabilities;
struct EngineOptions;
struct IActiveMeshCandidateProvider;
{'fraction_non_alphanumeric': 0.08064755680974306, 'fraction_numerical': 0.0, 'mean_word_length': 5.992731048805815, 'pattern_counts': {'":': 0, '<': 18, '<?xml version=': 0, '>': 18, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1551661', 'n_tokens_mistral': 1991, 'n_tokens_neox': 1934, 'n_words': 591}