From bd21725c4dbac29aeb9563ef9b58c2774637c0b8 Mon Sep 17 00:00:00 2001 From: BlackJackie Date: Sat, 6 Dec 2025 11:02:26 +0300 Subject: [PATCH 1/3] Add Missing Camera Deactivation On AttachToPart Removed --- Moonlite/Specials.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Moonlite/Specials.lua b/Moonlite/Specials.lua index 9966a19..0f38973 100644 --- a/Moonlite/Specials.lua +++ b/Moonlite/Specials.lua @@ -159,6 +159,10 @@ Specials.Camera = { setCameraActive(work, camera, true) else work._cameraAttachToPart = nil + + if not work._cameraLookAtPart then + setCameraActive(work, camera, false) + end end end, }), From 9ac2d8257c75842e2dbf298f8c359766c785f02d Mon Sep 17 00:00:00 2001 From: BlackJackie Date: Sat, 6 Dec 2025 11:05:45 +0300 Subject: [PATCH 2/3] Extended MoonProperties To Support "Nil" Being Set As A Default Value. --- Moonlite/Types.lua | 2 +- Moonlite/init.lua | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Moonlite/Types.lua b/Moonlite/Types.lua index 2155fd2..fa0e178 100644 --- a/Moonlite/Types.lua +++ b/Moonlite/Types.lua @@ -68,7 +68,7 @@ export type MoonElement = { } export type MoonProperties = { - [string]: any, + [string]: { Value: any }, } export type MoonFrameBuffer = { diff --git a/Moonlite/init.lua b/Moonlite/init.lua index a3b23dc..33445a5 100644 --- a/Moonlite/init.lua +++ b/Moonlite/init.lua @@ -675,8 +675,8 @@ local function restoreTrack(self: MoonTrack) if self.RestoreDefaults then for instance, props in defaults do - for name, value in props do - setPropValue(self, instance, name, value) + for name, valueTbl in props do + setPropValue(self, instance, name, valueTbl.Value) end end end @@ -925,7 +925,7 @@ function MoonTrack.Play(self: MoonTrack) for name in frames[0] do local success, value = getPropValue(self, instance, name) if success then - defaults[name] = value + defaults[name] = { Value = value } end end end From ea25930db7775b965cace84eed013adca79067ea Mon Sep 17 00:00:00 2001 From: BlackJackie Date: Sat, 6 Dec 2025 11:21:35 +0300 Subject: [PATCH 3/3] Added An Extra Type To Not Mess Up Pure "MoonProperties" Usage Types --- Moonlite/Types.lua | 4 ++++ Moonlite/init.lua | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Moonlite/Types.lua b/Moonlite/Types.lua index fa0e178..344a1c1 100644 --- a/Moonlite/Types.lua +++ b/Moonlite/Types.lua @@ -68,6 +68,10 @@ export type MoonElement = { } export type MoonProperties = { + [string]: any, +} + +export type MoonPropertiesNil = { [string]: { Value: any }, } diff --git a/Moonlite/init.lua b/Moonlite/init.lua index 33445a5..b998ad6 100644 --- a/Moonlite/init.lua +++ b/Moonlite/init.lua @@ -36,6 +36,7 @@ type MoonKeyframe = Types.MoonKeyframe type MoonProperty = Types.MoonProperty type MoonJointInfo = Types.MoonJointInfo type MoonProperties = Types.MoonProperties +type MoonPropertiesNil = Types.MoonPropertiesNil type MoonFrameBuffer = Types.MoonFrameBuffer type MoonElementLocks = Types.MoonElementLocks type MoonKeyframePack = Types.MoonKeyframePack @@ -80,7 +81,7 @@ export type MoonTrack = typeof(setmetatable({} :: { local PlayingTracks = {} :: { [MoonTrack]: { - [Instance]: MoonProperties, + [Instance]: MoonPropertiesNil, }, }