Don't change access rights in overrides
diff --git a/include/rive/animation/linear_animation_instance.hpp b/include/rive/animation/linear_animation_instance.hpp
index 71b0218..4c02e0b 100644
--- a/include/rive/animation/linear_animation_instance.hpp
+++ b/include/rive/animation/linear_animation_instance.hpp
@@ -18,11 +18,6 @@
         bool m_DidLoop;
         int m_LoopValue = -1;
 
-    protected:
-        bool isTranslucent() const override;
-        bool advanceAndApply(float seconds) override;
-        std::string name() const override;
-
     public:
         LinearAnimationInstance(const LinearAnimation*, ArtboardInstance*);
 
@@ -80,6 +75,10 @@
         int loopValue() const;
         // Override the animation's default loop
         void loopValue(int value);
+
+        bool isTranslucent() const override;
+        bool advanceAndApply(float seconds) override;
+        std::string name() const override;
     };
 } // namespace rive
 #endif
\ No newline at end of file
diff --git a/include/rive/animation/state_machine_instance.hpp b/include/rive/animation/state_machine_instance.hpp
index 0506d23..6f47a50 100644
--- a/include/rive/animation/state_machine_instance.hpp
+++ b/include/rive/animation/state_machine_instance.hpp
@@ -40,15 +40,6 @@
         template <typename SMType, typename InstType>
         InstType* getNamedInput(const std::string& name) const;
 
-    protected:
-        float durationSeconds() const override { return -1; }
-        bool advanceAndApply(float secs) override;
-        Loop loop() const override { return Loop::oneShot; }
-        // For now play it safe -- unless we can inspect all of our
-        // possible states and animations...
-        bool isTranslucent() const override { return true; }
-        std::string name() const override;
-
     public:
         StateMachineInstance(const StateMachine* machine, ArtboardInstance* instance);
         ~StateMachineInstance() override;
@@ -81,9 +72,15 @@
         // the empty string.
         const LayerState* stateChangedByIndex(size_t index) const;
 
+        bool advanceAndApply(float secs) override;
+        std::string name() const override;
         void pointerMove(Vec2D position) override;
         void pointerDown(Vec2D position) override;
         void pointerUp(Vec2D position) override;
+
+        float durationSeconds() const override { return -1; }
+        Loop loop() const override { return Loop::oneShot; }
+        bool isTranslucent() const override { return true; }
     };
 } // namespace rive
 #endif