summaryrefslogtreecommitdiff
path: root/libs/assimp/test/models/LWS
diff options
context:
space:
mode:
authorsanine <sanine.not@pm.me>2022-04-16 11:55:09 -0500
committersanine <sanine.not@pm.me>2022-04-16 11:55:09 -0500
commitdb81b925d776103326128bf629cbdda576a223e7 (patch)
tree58bea8155c686733310009f6bed7363f91fbeb9d /libs/assimp/test/models/LWS
parent55860037b14fb3893ba21cf2654c83d349cc1082 (diff)
move 3rd-party librarys into libs/ and add built-in honeysuckle
Diffstat (limited to 'libs/assimp/test/models/LWS')
-rw-r--r--libs/assimp/test/models/LWS/move_x.lws472
-rw-r--r--libs/assimp/test/models/LWS/move_x_oldformat_56.lws196
-rw-r--r--libs/assimp/test/models/LWS/move_x_oldformat_6.lws447
-rw-r--r--libs/assimp/test/models/LWS/move_x_post_constant.lws472
-rw-r--r--libs/assimp/test/models/LWS/move_x_post_linear.lws472
-rw-r--r--libs/assimp/test/models/LWS/move_x_post_offset_repeat.lws472
-rw-r--r--libs/assimp/test/models/LWS/move_x_post_repeat.lws472
-rw-r--r--libs/assimp/test/models/LWS/move_x_post_reset.lws472
-rw-r--r--libs/assimp/test/models/LWS/move_xz_bezier.lws474
-rw-r--r--libs/assimp/test/models/LWS/move_xz_hermite.lws474
-rw-r--r--libs/assimp/test/models/LWS/move_xz_linear.lws474
-rw-r--r--libs/assimp/test/models/LWS/move_xz_spline.lws474
-rw-r--r--libs/assimp/test/models/LWS/move_xz_stepped.lws474
-rw-r--r--libs/assimp/test/models/LWS/move_y_pre_ofrep_post_osc.lws480
-rw-r--r--libs/assimp/test/models/LWS/simple_cube.lwobin0 -> 560 bytes
15 files changed, 6325 insertions, 0 deletions
diff --git a/libs/assimp/test/models/LWS/move_x.lws b/libs/assimp/test/models/LWS/move_x.lws
new file mode 100644
index 0000000..ae0c7e4
--- /dev/null
+++ b/libs/assimp/test/models/LWS/move_x.lws
@@ -0,0 +1,472 @@
+LWSC
+5
+
+RenderRangeType 0
+FirstFrame 1
+LastFrame 60
+FrameStep 1
+RenderRangeObject 0
+RenderRangeArbitrary 1-60
+PreviewFirstFrame 0
+PreviewLastFrame 60
+PreviewFrameStep 1
+CurrentFrame 40
+FramesPerSecond 30
+ChangeScene 0
+
+LoadObjectLayer 1 10000000 simple_cube.lwo
+ChangeObject 0
+ShowObject 7 -1 0.376471 0.878431 0.941176
+Group 0
+ObjectMotion
+NumChannels 9
+Channel 0
+{ Envelope
+ 3
+ Key 0 0 0 0 0 0 0 2.0682507681379909 0
+ Key 2.0691125392913818 0.66666666666666663 0 0 0 0 -1.1874328851699829 -1.1874328851699829 0
+ Key -2.3748657703399658 1.3333333333333333 0 0 0 0 -4.4421274232050125 0 0
+ Behaviors 1 1
+}
+Channel 1
+{ Envelope
+ 1
+ Key -0.040000002831220627 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 6
+{ Envelope
+ 1
+ Key 0.97975808382034302 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 7
+{ Envelope
+ 1
+ Key 0.88587331771850586 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 8
+{ Envelope
+ 1
+ Key 0.95491594076156616 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+SubPatchLevel 3 3
+APSDisplay
+{ APS
+ Version 1
+ Method 0
+ { VParm
+ { ObjectLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonPixelSize
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 256
+ 0
+ }
+ }
+ }
+ }
+}
+APSRender
+{ APS
+ Version 1
+ Method 0
+ { VParm
+ { ObjectLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonPixelSize
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 256
+ 0
+ }
+ }
+ }
+ }
+}
+NodeDisplacement 0
+{ Nodal_Block
+ { Root
+ Location 0 0
+ Zoom 1
+ Disabled 1
+ }
+ Version 1
+ { Nodes
+ Server "Displacement"
+ { Tag
+ RealName "Displacement"
+ Name "Displacement"
+ Coordinates -10 -10
+ Mode 1
+ { Data
+ }
+ Preview ""
+ Comment ""
+ }
+ }
+ { Connections
+ }
+}
+NodeDisplacementOrder 0
+UseObjGI 0
+ObjGIRadiosityRays 64
+ObjGISecondaryBounceRays 16
+ObjGIRadiosityTolerance 0.292893
+ObjGIMinPixelSpacing 4.000000
+ObjGIMaxPixelSpacing 100.000000
+ShadowOptions 7
+
+AmbientColor 1 1 1
+AmbientIntensity 0.05
+DoubleSidedAreaLights 1
+RadiosityType 2
+RadiosityInterpolated 1
+RadiosityTransparency 0
+RadiosityIntensity 1
+RadiosityTolerance 0.2928932
+RadiosityRays 64
+SecondaryBounceRays 16
+RadiosityMinPixelSpacing 4
+RadiosityMaxPixelSpacing 100
+RadiosityMultiplier 1
+RadiosityDirectionalRays 0
+RadiosityUseGradients 0
+RadiosityUseBehindTest 1
+BlurRadiosity 1
+RadiosityFlags 0
+RadiosityCacheModulus 1
+RadiosityCacheFilePath radiosity.cache
+PixelFilterForceMT 0
+
+AddLight 20000000
+LightName Light
+ShowLight 1 -1 0.941176 0.376471 0.941176
+LightMotion
+NumChannels 9
+Channel 0
+{ Envelope
+ 1
+ Key -2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 1
+{ Envelope
+ 1
+ Key 2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 1
+ Key -2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0.78539813999999997 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0.61086521999999999 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 6
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 7
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 8
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+LightColor 1 1 1
+LightIntensity 1
+AffectCaustics 1
+LightType 0
+LensFlare 0
+FlareIntensity 0.5
+FlareDissolve 0
+LensFlareFade 4
+LensFlareOptions 11
+FlareRingColor 0.3137 0.0784 0.0392
+FlareRingSize 0.22
+FlareRandStreakInt 0.03
+FlareRandStreakDens 50
+FlareRandStreakSharp 6
+ShadowType 1
+ShadowColor 0 0 0
+Plugin LightHandler 1 DistantLight
+EndPlugin
+
+AddCamera 30000000
+CameraName Camera
+ShowCamera 1 -1 0.125490 0.878431 0.125490
+CameraMotion
+NumChannels 6
+Channel 0
+{ Envelope
+ 1
+ Key -0.10000002384185791 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 1
+{ Envelope
+ 1
+ Key 0.94999998807907104 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 1
+ Key -6.384000301361084 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+ZoomFactor 3.2
+ZoomType 1
+ResolutionMultiplier 1.0
+FrameSize 640 480
+PixelAspect 1
+MaskPosition 0 0 640 480
+MotionBlur 0
+MotionBlurPasses 1
+ShutterEfficiency 1
+Oversampling 0
+FieldRendering 0
+ApertureHeight 0.015
+DepthOfField 0
+FocalDistance 1
+LensFStop 4
+DiaphragmSides 0
+DiaphragmRotation 0
+AASamples 1
+Sampler 1
+UseGlobalResolution 0
+UseGlobalMask 0
+UseGlobalBlur 0
+Plugin CameraHandler 1 Perspective
+EndPlugin
+
+GlobalFrameSize 640 480
+GlobalMultiplier 1.0
+GlobalFieldRendering 0
+GlobalMotionBlur 0
+GlobalMaskPosition 0 0 640 480
+GlobalFilmHeight 0.015
+GlobalPixelAspect 1
+
+Antialiasing 0
+AntiAliasingLevel -1
+ReconstructionFilter 0
+AdaptiveSampling 0
+
+SolidBackdrop 1
+BackdropColor 0 0 0
+ZenithColor 0 0.1569 0.3137
+SkyColor 0.4706 0.7059 0.9412
+GroundColor 0.1961 0.1569 0.1176
+NadirColor 0.3922 0.3137 0.2353
+FogType 0
+FogMinDistance 0
+FogMaxDistance 1
+FogMinAmount 0
+FogMaxAmount 1
+FogColor 0.5098 0.5098 0.549
+BackdropFog 0
+VolumeClipDiscance 0.1
+DynamicRangeMin 0
+DynamicRangeLimit 1
+DitherIntensity 1
+AnimatedDither 0
+
+RenderMode 2
+RayTraceEffects 0
+DepthBufferAA 0
+RenderLines 1
+RayRecursionLimit 16
+RayPrecision 6
+RayCutoff 0.01
+DataOverlayLabel
+SaveRGB 0
+SaveAlpha 0
+
+ViewConfiguration 0
+DefineView 0
+ViewType 7
+ViewLevel 5
+ViewAimpoint 0 0 0
+ViewRotation -17.2 18 0
+ViewZoomFactor 4
+ViewXRay 0
+ViewMBDofPreview 0
+ViewHeadlight 0
+
+GridNumber 80
+GridSize 1
+CameraViewBG 0
+ShowMotionPath 1
+ShowFogRadius 0
+ShowFogEffect 0
+ShowFieldChart 0
+OverlayColor_fv 0 0 0
+MeshBackgroundGroup 1
+
+CurrentObject 0
+CurrentLight 0
+CurrentCamera 0
+GraphEditorData
+{ GraphEd_Favorites
+}
+{ GE_Expression_Lib
+ 1
+}
+ImageEditorData
+NumberOfClips 0
diff --git a/libs/assimp/test/models/LWS/move_x_oldformat_56.lws b/libs/assimp/test/models/LWS/move_x_oldformat_56.lws
new file mode 100644
index 0000000..24f4cb3
--- /dev/null
+++ b/libs/assimp/test/models/LWS/move_x_oldformat_56.lws
@@ -0,0 +1,196 @@
+LWSC
+2
+
+RenderRangeType 0
+FirstFrame 1
+LastFrame 60
+FrameStep 1
+RenderRangeObject 0
+RenderRangeArbitrary 1-60
+PreviewFirstFrame 0
+PreviewLastFrame 60
+PreviewFrameStep 1
+FramesPerSecond 30
+
+LoadObject simple_cube.lwo
+ShowObject 7 -1 0.376471 0.878431 0.941176
+Group 0
+ObjectMotion (unnamed)
+ 9
+ 3
+ 0 0 2 0 0 0
+ 2.069113 0.6666667 2 0 0 0
+ -2.374866 1.333333 2 0 0 0
+ 1
+ -0.04 0 2 0 0 0
+ 1
+ 0 0 2 0 0 0
+ 1
+ 0 0 2 0 0 0
+ 1
+ 0 0 2 0 0 0
+ 1
+ 0 0 2 0 0 0
+ 1
+ 0.9797581 0 2 0 0 0
+ 1
+ 0.8858733 0 2 0 0 0
+ 1
+ 0.9549159 0 2 0 0 0
+Pre/PostBehavior 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+SubPatchLevel 3 3
+AmbientColor 255 255 255
+AmbIntensity 0.05
+DoubleSidedAreaLights 1
+
+AddLight
+LightName Light
+ShowLight 1 -1 0.941176 0.376471 0.941176
+LightMotion (unnamed)
+ 9
+ 1
+ -2 0 2 0 0 0
+ 1
+ 2 0 2 0 0 0
+ 1
+ -2 0 2 0 0 0
+ 1
+ 45 0 2 0 0 0
+ 1
+ 35 0 2 0 0 0
+ 1
+ 0 0 2 0 0 0
+ 1
+ 1 0 2 0 0 0
+ 1
+ 1 0 2 0 0 0
+ 1
+ 1 0 2 0 0 0
+Pre/PostBehavior 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+LightColor 255 255 255
+LgtIntensity 1
+LightType 0
+LensFlare 0
+FlareIntensity 0.5
+FlareDissolve 0
+LensFlareFade 4
+LensFlareOptions 11
+FlareRingColor 80 20 10
+FlareRingSize 0.22
+FlareRandStreakInt 0.03
+FlareRandStreakDens 50
+FlareRandStreakSharp 6
+ShadowType 1
+ShadowColor 0 0 0
+Plugin LightHandler 1 DistantLight
+EndPlugin
+
+AddCamera
+CameraName Camera
+ShowCamera 1 -1 0.125490 0.878431 0.125490
+CameraMotion (unnamed)
+ 6
+ 1
+ -0.1 0 2 0 0 0
+ 1
+ 0.95 0 2 0 0 0
+ 1
+ -6.384 0 2 0 0 0
+ 1
+ 0 0 2 0 0 0
+ 1
+ 0 0 2 0 0 0
+ 1
+ 0 0 2 0 0 0
+Pre/PostBehavior 1 1 1 1 1 1 1 1 1 1 1 1
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+ZoomFactor 3.2
+ZoomType 1
+Resolution 1
+CustomSize 640 480
+PixelAspectRatio -1
+CustomPixelRatio 1
+MaskPosition 0 0 640 480
+MotionBlur 0
+MotionBlurPasses 1
+ShutterEfficiency 1
+Oversampling 0
+FieldRendering 0
+ApertureHeight 0.015
+DepthOfField 0
+FocalDistance 1
+LensFStop 4
+DiaphragmSides 0
+DiaphragmRotation 0
+AASamples 1
+Sampler 1
+Plugin CameraHandler 1 Perspective
+EndPlugin
+
+SegmentMemory 32000000
+Antialiasing 0
+AntiAliasingLevel -1
+ReconstructionFilter 0
+AdaptiveSampling 0
+
+SolidBackdrop 1
+BackdropColor 0 0 0
+ZenithColor 0 40 80
+SkyColor 120 180 240
+GroundColor 50 40 30
+NadirColor 100 80 60
+FogType 0
+FogMinDistance 0
+FogMaxDistance 1
+FogMinAmount 0
+FogMaxAmount 1
+FogColor 130 130 140
+BackdropFog 0
+VolumeClipDiscance 0.1
+DynamicRangeMin 0
+DynamicRangeLimit 1
+DitherIntensity 1
+AnimatedDither 0
+
+RenderMode 2
+RayTraceEffects 0
+DepthBufferAA 0
+RenderLines 1
+RayRecursionLimit 16
+RayPrecision 6
+RayCutoff 0.01
+DataOverlayLabel
+SaveRGB 0
+SaveAlpha 0
+
+ViewConfiguration 0
+DefineView 0
+ViewType 7
+ViewLevel 5
+ViewAimpoint 0 0 0
+ViewDirection 0.3001966 -0.3141592 -0
+ViewZoomFactor 4
+ViewXRay 0
+ViewMBDofPreview 0
+ViewHeadlight 0
+
+GridNumber 80
+GridSize 1
+CameraViewBG 0
+ShowMotionPath 1
+ShowFogRadius 0
+ShowFogEffect 0
+ShowFieldChart 0
+OverlayColor_fv 0 0 0
+MeshBackgroundGroup 1
diff --git a/libs/assimp/test/models/LWS/move_x_oldformat_6.lws b/libs/assimp/test/models/LWS/move_x_oldformat_6.lws
new file mode 100644
index 0000000..62a6cee
--- /dev/null
+++ b/libs/assimp/test/models/LWS/move_x_oldformat_6.lws
@@ -0,0 +1,447 @@
+LWSC
+3
+
+RenderRangeType 0
+FirstFrame 1
+LastFrame 60
+FrameStep 1
+RenderRangeObject 0
+RenderRangeArbitrary 1-60
+PreviewFirstFrame 0
+PreviewLastFrame 60
+PreviewFrameStep 1
+CurrentFrame 40
+FramesPerSecond 30
+ChangeScene 0
+
+LoadObjectLayer 1 simple_cube.lwo
+ShowObject 7 -1 0.376471 0.878431 0.941176
+Group 0
+ObjectMotion
+NumChannels 9
+Channel 0
+{ Envelope
+ 3
+ Key 0 0 0 0 0 0 0 2.0682507681379905 0
+ Key 2.0691125392913814 0.66666666666666663 0 0 0 0 -1.1874328851699831 -1.1874328851699831 0
+ Key -2.3748657703399658 1.3333333333333333 0 0 0 0 -4.4421274232050125 0 0
+ Behaviors 1 1
+}
+Channel 1
+{ Envelope
+ 1
+ Key -0.040000002831220634 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 6
+{ Envelope
+ 1
+ Key 0.97975808382034302 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 7
+{ Envelope
+ 1
+ Key 0.88587331771850575 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 8
+{ Envelope
+ 1
+ Key 0.95491594076156605 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+SubPatchLevel 3 3
+APSDisplay
+{ APS
+ Version 1
+ Method 0
+ { VParm
+ { ObjectLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonPixelSize
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 256
+ 0
+ }
+ }
+ }
+ }
+}
+APSRender
+{ APS
+ Version 1
+ Method 0
+ { VParm
+ { ObjectLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonPixelSize
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 256
+ 0
+ }
+ }
+ }
+ }
+}
+NodeDisplacement 0
+{ Nodal_Block
+ { Root
+ Location 0 0
+ Zoom 1
+ Disabled 1
+ }
+ Version 1
+ { Nodes
+ Server "Displacement"
+ { Tag
+ RealName "Displacement"
+ Name "Displacement"
+ Coordinates -10 -10
+ Mode 1
+ { Data
+ }
+ Preview ""
+ Comment ""
+ }
+ }
+ { Connections
+ }
+}
+NodeDisplacementOrder 0
+UseObjGI 0
+ObjGIRadiosityRays 64
+ObjGISecondaryBounceRays 16
+ObjGIRadiosityTolerance 0.292893
+ObjGIMinPixelSpacing 4.000000
+ObjGIMaxPixelSpacing 100.000000
+ShadowOptions 7
+
+AmbientColor 1 1 1
+AmbientIntensity 0.05
+DoubleSidedAreaLights 1
+RadiosityType 2
+RadiosityInterpolated 1
+RadiosityTransparency 0
+RadiosityIntensity 1
+RadiosityTolerance 0.2928932
+RadiosityRays 64
+SecondaryBounceRays 16
+RadiosityMinPixelSpacing 4
+RadiosityMaxPixelSpacing 100
+RadiosityMultiplier 1
+RadiosityDirectionalRays 0
+RadiosityUseGradients 0
+RadiosityUseBehindTest 1
+BlurRadiosity 1
+RadiosityFlags 0
+RadiosityCacheModulus 1
+RadiosityCacheFilePath radiosity.cache
+PixelFilterForceMT 0
+
+AddLight
+LightName Light
+ShowLight 1 -1 0.941176 0.376471 0.941176
+LightMotion
+NumChannels 9
+Channel 0
+{ Envelope
+ 1
+ Key -2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 1
+{ Envelope
+ 1
+ Key 2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 1
+ Key -2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0.78539813999999986 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0.61086521999999999 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 6
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 7
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 8
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+LightColor 1 1 1
+LightIntensity 1
+AffectCaustics 1
+LightType 0
+LensFlare 0
+FlareIntensity 0.5
+FlareDissolve 0
+LensFlareFade 4
+LensFlareOptions 11
+FlareRingColor 0.3137 0.0784 0.0392
+FlareRingSize 0.22
+FlareRandStreakInt 0.03
+FlareRandStreakDens 50
+FlareRandStreakSharp 6
+ShadowType 1
+ShadowColor 0 0 0
+Plugin LightHandler 1 DistantLight
+EndPlugin
+
+AddCamera
+CameraName Camera
+ShowCamera 1 -1 0.125490 0.878431 0.125490
+CameraMotion
+NumChannels 6
+Channel 0
+{ Envelope
+ 1
+ Key -0.10000002384185792 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 1
+{ Envelope
+ 1
+ Key 0.94999998807907104 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 1
+ Key -6.384000301361084 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+ZoomFactor 3.2
+ZoomType 1
+ResolutionMultiplier 1.0
+FrameSize 640 480
+PixelAspect 1
+MaskPosition 0 0 640 480
+MotionBlur 0
+MotionBlurPasses 1
+ShutterEfficiency 1
+Oversampling 0
+FieldRendering 0
+ApertureHeight 0.015
+DepthOfField 0
+FocalDistance 1
+LensFStop 4
+DiaphragmSides 0
+DiaphragmRotation 0
+AASamples 1
+Sampler 1
+UseGlobalResolution 0
+UseGlobalMask 0
+UseGlobalBlur 0
+Plugin CameraHandler 1 Perspective
+EndPlugin
+
+GlobalFrameSize 640 480
+GlobalMultiplier 1.0
+GlobalFieldRendering 0
+GlobalMotionBlur 0
+GlobalMaskPosition 0 0 640 480
+GlobalFilmHeight 0.015
+GlobalPixelAspect 1
+
+Antialiasing 0
+AntiAliasingLevel -1
+ReconstructionFilter 0
+AdaptiveSampling 0
+
+SolidBackdrop 1
+BackdropColor 0 0 0
+ZenithColor 0 0.1569 0.3137
+SkyColor 0.4706 0.7059 0.9412
+GroundColor 0.1961 0.1569 0.1176
+NadirColor 0.3922 0.3137 0.2353
+FogType 0
+FogMinDistance 0
+FogMaxDistance 1
+FogMinAmount 0
+FogMaxAmount 1
+FogColor 0.5098 0.5098 0.549
+BackdropFog 0
+VolumeClipDiscance 0.1
+DynamicRangeMin 0
+DynamicRangeLimit 1
+DitherIntensity 1
+AnimatedDither 0
+
+RenderMode 2
+RayTraceEffects 0
+DepthBufferAA 0
+RenderLines 1
+RayRecursionLimit 16
+RayPrecision 6
+RayCutoff 0.01
+DataOverlayLabel
+SaveRGB 0
+SaveAlpha 0
+
+ViewConfiguration 0
+DefineView 0
+ViewType 7
+ViewLevel 5
+ViewAimpoint 0 0 0
+ViewRotation -17.2 18 0
+ViewZoomFactor 4
+ViewXRay 0
+ViewMBDofPreview 0
+ViewHeadlight 0
+
+GridNumber 80
+GridSize 1
+CameraViewBG 0
+ShowMotionPath 1
+ShowFogRadius 0
+ShowFogEffect 0
+ShowFieldChart 0
+OverlayColor_fv 0 0 0
+MeshBackgroundGroup 1
+
+CurrentObject 0
+CurrentLight 0
+CurrentCamera 0
+GraphEditorData
+{ GraphEd_Favorites
+}
+{ GE_Expression_Lib
+ 1
+}
+ImageEditorData
+NumberOfClips 0
diff --git a/libs/assimp/test/models/LWS/move_x_post_constant.lws b/libs/assimp/test/models/LWS/move_x_post_constant.lws
new file mode 100644
index 0000000..863fdf6
--- /dev/null
+++ b/libs/assimp/test/models/LWS/move_x_post_constant.lws
@@ -0,0 +1,472 @@
+LWSC
+5
+
+RenderRangeType 0
+FirstFrame 1
+LastFrame 120
+FrameStep 1
+RenderRangeObject 0
+RenderRangeArbitrary 1-60
+PreviewFirstFrame 0
+PreviewLastFrame 120
+PreviewFrameStep 1
+CurrentFrame 0
+FramesPerSecond 30
+ChangeScene 0
+
+LoadObjectLayer 1 10000000 simple_cube.lwo
+ChangeObject 0
+ShowObject 7 -1 0.376471 0.878431 0.941176
+Group 0
+ObjectMotion
+NumChannels 9
+Channel 0
+{ Envelope
+ 3
+ Key 0 0 0 0 0 0 0 2.1372954575696919 0
+ Key 2.1381859973436792 0.66666666666666663 0 0 0 0 -0.8400939672421186 -0.79808926888001264 0
+ Key -1.6381832361221313 1.3 0 0 0 0 -3.7747136573003282 0 0
+ Behaviors 1 1
+}
+Channel 1
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 6
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 7
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 8
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+SubPatchLevel 3 3
+APSDisplay
+{ APS
+ Version 1
+ Method 0
+ { VParm
+ { ObjectLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonPixelSize
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 256
+ 0
+ }
+ }
+ }
+ }
+}
+APSRender
+{ APS
+ Version 1
+ Method 0
+ { VParm
+ { ObjectLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonPixelSize
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 256
+ 0
+ }
+ }
+ }
+ }
+}
+NodeDisplacement 0
+{ Nodal_Block
+ { Root
+ Location 0 0
+ Zoom 1
+ Disabled 1
+ }
+ Version 1
+ { Nodes
+ Server "Displacement"
+ { Tag
+ RealName "Displacement"
+ Name "Displacement"
+ Coordinates -10 -10
+ Mode 1
+ { Data
+ }
+ Preview ""
+ Comment ""
+ }
+ }
+ { Connections
+ }
+}
+NodeDisplacementOrder 0
+UseObjGI 0
+ObjGIRadiosityRays 64
+ObjGISecondaryBounceRays 16
+ObjGIRadiosityTolerance 0.292893
+ObjGIMinPixelSpacing 4.000000
+ObjGIMaxPixelSpacing 100.000000
+ShadowOptions 7
+
+AmbientColor 1 1 1
+AmbientIntensity 0.05
+DoubleSidedAreaLights 1
+RadiosityType 2
+RadiosityInterpolated 1
+RadiosityTransparency 0
+RadiosityIntensity 1
+RadiosityTolerance 0.2928932
+RadiosityRays 64
+SecondaryBounceRays 16
+RadiosityMinPixelSpacing 4
+RadiosityMaxPixelSpacing 100
+RadiosityMultiplier 1
+RadiosityDirectionalRays 0
+RadiosityUseGradients 0
+RadiosityUseBehindTest 1
+BlurRadiosity 1
+RadiosityFlags 0
+RadiosityCacheModulus 1
+RadiosityCacheFilePath radiosity.cache
+PixelFilterForceMT 0
+
+AddLight 20000000
+LightName Light
+ShowLight 1 -1 0.941176 0.376471 0.941176
+LightMotion
+NumChannels 9
+Channel 0
+{ Envelope
+ 1
+ Key -2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 1
+{ Envelope
+ 1
+ Key 2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 1
+ Key -2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0.78539813999999997 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0.61086521999999999 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 6
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 7
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 8
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+LightColor 1 1 1
+LightIntensity 1
+AffectCaustics 1
+LightType 0
+LensFlare 0
+FlareIntensity 0.5
+FlareDissolve 0
+LensFlareFade 4
+LensFlareOptions 11
+FlareRingColor 0.3137 0.0784 0.0392
+FlareRingSize 0.22
+FlareRandStreakInt 0.03
+FlareRandStreakDens 50
+FlareRandStreakSharp 6
+ShadowType 1
+ShadowColor 0 0 0
+Plugin LightHandler 1 DistantLight
+EndPlugin
+
+AddCamera 30000000
+CameraName Camera
+ShowCamera 1 -1 0.125490 0.878431 0.125490
+CameraMotion
+NumChannels 6
+Channel 0
+{ Envelope
+ 1
+ Key -0.10000002384185791 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 1
+{ Envelope
+ 1
+ Key 0.94999998807907104 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 1
+ Key -6.384000301361084 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+ZoomFactor 3.2
+ZoomType 1
+ResolutionMultiplier 1.0
+FrameSize 640 480
+PixelAspect 1
+MaskPosition 0 0 640 480
+MotionBlur 0
+MotionBlurPasses 1
+ShutterEfficiency 1
+Oversampling 0
+FieldRendering 0
+ApertureHeight 0.015
+DepthOfField 0
+FocalDistance 1
+LensFStop 4
+DiaphragmSides 0
+DiaphragmRotation 0
+AASamples 1
+Sampler 1
+UseGlobalResolution 0
+UseGlobalMask 0
+UseGlobalBlur 0
+Plugin CameraHandler 1 Perspective
+EndPlugin
+
+GlobalFrameSize 640 480
+GlobalMultiplier 1.0
+GlobalFieldRendering 0
+GlobalMotionBlur 0
+GlobalMaskPosition 0 0 640 480
+GlobalFilmHeight 0.015
+GlobalPixelAspect 1
+
+Antialiasing 0
+AntiAliasingLevel -1
+ReconstructionFilter 0
+AdaptiveSampling 0
+
+SolidBackdrop 1
+BackdropColor 0 0 0
+ZenithColor 0 0.1569 0.3137
+SkyColor 0.4706 0.7059 0.9412
+GroundColor 0.1961 0.1569 0.1176
+NadirColor 0.3922 0.3137 0.2353
+FogType 0
+FogMinDistance 0
+FogMaxDistance 1
+FogMinAmount 0
+FogMaxAmount 1
+FogColor 0.5098 0.5098 0.549
+BackdropFog 0
+VolumeClipDiscance 0.1
+DynamicRangeMin 0
+DynamicRangeLimit 1
+DitherIntensity 1
+AnimatedDither 0
+
+RenderMode 2
+RayTraceEffects 0
+DepthBufferAA 0
+RenderLines 1
+RayRecursionLimit 16
+RayPrecision 6
+RayCutoff 0.01
+DataOverlayLabel
+SaveRGB 0
+SaveAlpha 0
+
+ViewConfiguration 0
+DefineView 0
+ViewType 7
+ViewLevel 5
+ViewAimpoint 0 0 0
+ViewRotation -17.2 18 0
+ViewZoomFactor 4
+ViewXRay 0
+ViewMBDofPreview 0
+ViewHeadlight 0
+
+GridNumber 80
+GridSize 1
+CameraViewBG 0
+ShowMotionPath 1
+ShowFogRadius 0
+ShowFogEffect 0
+ShowFieldChart 0
+OverlayColor_fv 0 0 0
+MeshBackgroundGroup 1
+
+CurrentObject 0
+CurrentLight 0
+CurrentCamera 0
+GraphEditorData
+{ GraphEd_Favorites
+}
+{ GE_Expression_Lib
+ 1
+}
+ImageEditorData
+NumberOfClips 0
diff --git a/libs/assimp/test/models/LWS/move_x_post_linear.lws b/libs/assimp/test/models/LWS/move_x_post_linear.lws
new file mode 100644
index 0000000..37fffd3
--- /dev/null
+++ b/libs/assimp/test/models/LWS/move_x_post_linear.lws
@@ -0,0 +1,472 @@
+LWSC
+5
+
+RenderRangeType 0
+FirstFrame 1
+LastFrame 120
+FrameStep 1
+RenderRangeObject 0
+RenderRangeArbitrary 1-60
+PreviewFirstFrame 0
+PreviewLastFrame 120
+PreviewFrameStep 1
+CurrentFrame 5
+FramesPerSecond 30
+ChangeScene 0
+
+LoadObjectLayer 1 10000000 simple_cube.lwo
+ChangeObject 0
+ShowObject 7 -1 0.376471 0.878431 0.941176
+Group 0
+ObjectMotion
+NumChannels 9
+Channel 0
+{ Envelope
+ 3
+ Key 0 0 0 0 0 0 0 2.1372954575696919 0
+ Key 2.1381859973436792 0.66666666666666663 0 0 0 0 -0.8400939672421186 -0.79808926888001264 0
+ Key -1.6381832361221313 1.3 0 0 0 0 -3.7747136573003282 0 0
+ Behaviors 1 5
+}
+Channel 1
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 6
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 7
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 8
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+SubPatchLevel 3 3
+APSDisplay
+{ APS
+ Version 1
+ Method 0
+ { VParm
+ { ObjectLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonPixelSize
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 256
+ 0
+ }
+ }
+ }
+ }
+}
+APSRender
+{ APS
+ Version 1
+ Method 0
+ { VParm
+ { ObjectLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonPixelSize
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 256
+ 0
+ }
+ }
+ }
+ }
+}
+NodeDisplacement 0
+{ Nodal_Block
+ { Root
+ Location 0 0
+ Zoom 1
+ Disabled 1
+ }
+ Version 1
+ { Nodes
+ Server "Displacement"
+ { Tag
+ RealName "Displacement"
+ Name "Displacement"
+ Coordinates -10 -10
+ Mode 1
+ { Data
+ }
+ Preview ""
+ Comment ""
+ }
+ }
+ { Connections
+ }
+}
+NodeDisplacementOrder 0
+UseObjGI 0
+ObjGIRadiosityRays 64
+ObjGISecondaryBounceRays 16
+ObjGIRadiosityTolerance 0.292893
+ObjGIMinPixelSpacing 4.000000
+ObjGIMaxPixelSpacing 100.000000
+ShadowOptions 7
+
+AmbientColor 1 1 1
+AmbientIntensity 0.05
+DoubleSidedAreaLights 1
+RadiosityType 2
+RadiosityInterpolated 1
+RadiosityTransparency 0
+RadiosityIntensity 1
+RadiosityTolerance 0.2928932
+RadiosityRays 64
+SecondaryBounceRays 16
+RadiosityMinPixelSpacing 4
+RadiosityMaxPixelSpacing 100
+RadiosityMultiplier 1
+RadiosityDirectionalRays 0
+RadiosityUseGradients 0
+RadiosityUseBehindTest 1
+BlurRadiosity 1
+RadiosityFlags 0
+RadiosityCacheModulus 1
+RadiosityCacheFilePath radiosity.cache
+PixelFilterForceMT 0
+
+AddLight 20000000
+LightName Light
+ShowLight 1 -1 0.941176 0.376471 0.941176
+LightMotion
+NumChannels 9
+Channel 0
+{ Envelope
+ 1
+ Key -2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 1
+{ Envelope
+ 1
+ Key 2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 1
+ Key -2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0.78539813999999997 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0.61086521999999999 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 6
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 7
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 8
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+LightColor 1 1 1
+LightIntensity 1
+AffectCaustics 1
+LightType 0
+LensFlare 0
+FlareIntensity 0.5
+FlareDissolve 0
+LensFlareFade 4
+LensFlareOptions 11
+FlareRingColor 0.3137 0.0784 0.0392
+FlareRingSize 0.22
+FlareRandStreakInt 0.03
+FlareRandStreakDens 50
+FlareRandStreakSharp 6
+ShadowType 1
+ShadowColor 0 0 0
+Plugin LightHandler 1 DistantLight
+EndPlugin
+
+AddCamera 30000000
+CameraName Camera
+ShowCamera 1 -1 0.125490 0.878431 0.125490
+CameraMotion
+NumChannels 6
+Channel 0
+{ Envelope
+ 1
+ Key -0.10000002384185791 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 1
+{ Envelope
+ 1
+ Key 0.94999998807907104 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 1
+ Key -6.384000301361084 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+ZoomFactor 3.2
+ZoomType 1
+ResolutionMultiplier 1.0
+FrameSize 640 480
+PixelAspect 1
+MaskPosition 0 0 640 480
+MotionBlur 0
+MotionBlurPasses 1
+ShutterEfficiency 1
+Oversampling 0
+FieldRendering 0
+ApertureHeight 0.015
+DepthOfField 0
+FocalDistance 1
+LensFStop 4
+DiaphragmSides 0
+DiaphragmRotation 0
+AASamples 1
+Sampler 1
+UseGlobalResolution 0
+UseGlobalMask 0
+UseGlobalBlur 0
+Plugin CameraHandler 1 Perspective
+EndPlugin
+
+GlobalFrameSize 640 480
+GlobalMultiplier 1.0
+GlobalFieldRendering 0
+GlobalMotionBlur 0
+GlobalMaskPosition 0 0 640 480
+GlobalFilmHeight 0.015
+GlobalPixelAspect 1
+
+Antialiasing 0
+AntiAliasingLevel -1
+ReconstructionFilter 0
+AdaptiveSampling 0
+
+SolidBackdrop 1
+BackdropColor 0 0 0
+ZenithColor 0 0.1569 0.3137
+SkyColor 0.4706 0.7059 0.9412
+GroundColor 0.1961 0.1569 0.1176
+NadirColor 0.3922 0.3137 0.2353
+FogType 0
+FogMinDistance 0
+FogMaxDistance 1
+FogMinAmount 0
+FogMaxAmount 1
+FogColor 0.5098 0.5098 0.549
+BackdropFog 0
+VolumeClipDiscance 0.1
+DynamicRangeMin 0
+DynamicRangeLimit 1
+DitherIntensity 1
+AnimatedDither 0
+
+RenderMode 2
+RayTraceEffects 0
+DepthBufferAA 0
+RenderLines 1
+RayRecursionLimit 16
+RayPrecision 6
+RayCutoff 0.01
+DataOverlayLabel
+SaveRGB 0
+SaveAlpha 0
+
+ViewConfiguration 0
+DefineView 0
+ViewType 7
+ViewLevel 5
+ViewAimpoint 0 0 0
+ViewRotation -17.2 18 0
+ViewZoomFactor 4
+ViewXRay 0
+ViewMBDofPreview 0
+ViewHeadlight 0
+
+GridNumber 80
+GridSize 1
+CameraViewBG 0
+ShowMotionPath 1
+ShowFogRadius 0
+ShowFogEffect 0
+ShowFieldChart 0
+OverlayColor_fv 0 0 0
+MeshBackgroundGroup 1
+
+CurrentObject 0
+CurrentLight 0
+CurrentCamera 0
+GraphEditorData
+{ GraphEd_Favorites
+}
+{ GE_Expression_Lib
+ 1
+}
+ImageEditorData
+NumberOfClips 0
diff --git a/libs/assimp/test/models/LWS/move_x_post_offset_repeat.lws b/libs/assimp/test/models/LWS/move_x_post_offset_repeat.lws
new file mode 100644
index 0000000..ce878b4
--- /dev/null
+++ b/libs/assimp/test/models/LWS/move_x_post_offset_repeat.lws
@@ -0,0 +1,472 @@
+LWSC
+5
+
+RenderRangeType 0
+FirstFrame 1
+LastFrame 120
+FrameStep 1
+RenderRangeObject 0
+RenderRangeArbitrary 1-60
+PreviewFirstFrame 0
+PreviewLastFrame 120
+PreviewFrameStep 1
+CurrentFrame 0
+FramesPerSecond 30
+ChangeScene 0
+
+LoadObjectLayer 1 10000000 simple_cube.lwo
+ChangeObject 0
+ShowObject 7 -1 0.376471 0.878431 0.941176
+Group 0
+ObjectMotion
+NumChannels 9
+Channel 0
+{ Envelope
+ 3
+ Key 0 0 0 0 0 0 0 2.1372954575696919 0
+ Key 2.1381859973436792 0.66666666666666663 0 0 0 0 -0.8400939672421186 -0.79808926888001264 0
+ Key -1.6381832361221313 1.3 0 0 0 0 -3.7747136573003282 0 0
+ Behaviors 1 4
+}
+Channel 1
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 6
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 7
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 8
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+SubPatchLevel 3 3
+APSDisplay
+{ APS
+ Version 1
+ Method 0
+ { VParm
+ { ObjectLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonPixelSize
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 256
+ 0
+ }
+ }
+ }
+ }
+}
+APSRender
+{ APS
+ Version 1
+ Method 0
+ { VParm
+ { ObjectLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonPixelSize
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 256
+ 0
+ }
+ }
+ }
+ }
+}
+NodeDisplacement 0
+{ Nodal_Block
+ { Root
+ Location 0 0
+ Zoom 1
+ Disabled 1
+ }
+ Version 1
+ { Nodes
+ Server "Displacement"
+ { Tag
+ RealName "Displacement"
+ Name "Displacement"
+ Coordinates -10 -10
+ Mode 1
+ { Data
+ }
+ Preview ""
+ Comment ""
+ }
+ }
+ { Connections
+ }
+}
+NodeDisplacementOrder 0
+UseObjGI 0
+ObjGIRadiosityRays 64
+ObjGISecondaryBounceRays 16
+ObjGIRadiosityTolerance 0.292893
+ObjGIMinPixelSpacing 4.000000
+ObjGIMaxPixelSpacing 100.000000
+ShadowOptions 7
+
+AmbientColor 1 1 1
+AmbientIntensity 0.05
+DoubleSidedAreaLights 1
+RadiosityType 2
+RadiosityInterpolated 1
+RadiosityTransparency 0
+RadiosityIntensity 1
+RadiosityTolerance 0.2928932
+RadiosityRays 64
+SecondaryBounceRays 16
+RadiosityMinPixelSpacing 4
+RadiosityMaxPixelSpacing 100
+RadiosityMultiplier 1
+RadiosityDirectionalRays 0
+RadiosityUseGradients 0
+RadiosityUseBehindTest 1
+BlurRadiosity 1
+RadiosityFlags 0
+RadiosityCacheModulus 1
+RadiosityCacheFilePath radiosity.cache
+PixelFilterForceMT 0
+
+AddLight 20000000
+LightName Light
+ShowLight 1 -1 0.941176 0.376471 0.941176
+LightMotion
+NumChannels 9
+Channel 0
+{ Envelope
+ 1
+ Key -2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 1
+{ Envelope
+ 1
+ Key 2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 1
+ Key -2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0.78539813999999997 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0.61086521999999999 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 6
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 7
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 8
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+LightColor 1 1 1
+LightIntensity 1
+AffectCaustics 1
+LightType 0
+LensFlare 0
+FlareIntensity 0.5
+FlareDissolve 0
+LensFlareFade 4
+LensFlareOptions 11
+FlareRingColor 0.3137 0.0784 0.0392
+FlareRingSize 0.22
+FlareRandStreakInt 0.03
+FlareRandStreakDens 50
+FlareRandStreakSharp 6
+ShadowType 1
+ShadowColor 0 0 0
+Plugin LightHandler 1 DistantLight
+EndPlugin
+
+AddCamera 30000000
+CameraName Camera
+ShowCamera 1 -1 0.125490 0.878431 0.125490
+CameraMotion
+NumChannels 6
+Channel 0
+{ Envelope
+ 1
+ Key -0.10000002384185791 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 1
+{ Envelope
+ 1
+ Key 0.94999998807907104 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 1
+ Key -6.384000301361084 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+ZoomFactor 3.2
+ZoomType 1
+ResolutionMultiplier 1.0
+FrameSize 640 480
+PixelAspect 1
+MaskPosition 0 0 640 480
+MotionBlur 0
+MotionBlurPasses 1
+ShutterEfficiency 1
+Oversampling 0
+FieldRendering 0
+ApertureHeight 0.015
+DepthOfField 0
+FocalDistance 1
+LensFStop 4
+DiaphragmSides 0
+DiaphragmRotation 0
+AASamples 1
+Sampler 1
+UseGlobalResolution 0
+UseGlobalMask 0
+UseGlobalBlur 0
+Plugin CameraHandler 1 Perspective
+EndPlugin
+
+GlobalFrameSize 640 480
+GlobalMultiplier 1.0
+GlobalFieldRendering 0
+GlobalMotionBlur 0
+GlobalMaskPosition 0 0 640 480
+GlobalFilmHeight 0.015
+GlobalPixelAspect 1
+
+Antialiasing 0
+AntiAliasingLevel -1
+ReconstructionFilter 0
+AdaptiveSampling 0
+
+SolidBackdrop 1
+BackdropColor 0 0 0
+ZenithColor 0 0.1569 0.3137
+SkyColor 0.4706 0.7059 0.9412
+GroundColor 0.1961 0.1569 0.1176
+NadirColor 0.3922 0.3137 0.2353
+FogType 0
+FogMinDistance 0
+FogMaxDistance 1
+FogMinAmount 0
+FogMaxAmount 1
+FogColor 0.5098 0.5098 0.549
+BackdropFog 0
+VolumeClipDiscance 0.1
+DynamicRangeMin 0
+DynamicRangeLimit 1
+DitherIntensity 1
+AnimatedDither 0
+
+RenderMode 2
+RayTraceEffects 0
+DepthBufferAA 0
+RenderLines 1
+RayRecursionLimit 16
+RayPrecision 6
+RayCutoff 0.01
+DataOverlayLabel
+SaveRGB 0
+SaveAlpha 0
+
+ViewConfiguration 0
+DefineView 0
+ViewType 7
+ViewLevel 5
+ViewAimpoint 0 0 0
+ViewRotation -17.2 18 0
+ViewZoomFactor 4
+ViewXRay 0
+ViewMBDofPreview 0
+ViewHeadlight 0
+
+GridNumber 80
+GridSize 1
+CameraViewBG 0
+ShowMotionPath 1
+ShowFogRadius 0
+ShowFogEffect 0
+ShowFieldChart 0
+OverlayColor_fv 0 0 0
+MeshBackgroundGroup 1
+
+CurrentObject 0
+CurrentLight 0
+CurrentCamera 0
+GraphEditorData
+{ GraphEd_Favorites
+}
+{ GE_Expression_Lib
+ 1
+}
+ImageEditorData
+NumberOfClips 0
diff --git a/libs/assimp/test/models/LWS/move_x_post_repeat.lws b/libs/assimp/test/models/LWS/move_x_post_repeat.lws
new file mode 100644
index 0000000..f5a55a1
--- /dev/null
+++ b/libs/assimp/test/models/LWS/move_x_post_repeat.lws
@@ -0,0 +1,472 @@
+LWSC
+5
+
+RenderRangeType 0
+FirstFrame 1
+LastFrame 120
+FrameStep 1
+RenderRangeObject 0
+RenderRangeArbitrary 1-60
+PreviewFirstFrame 0
+PreviewLastFrame 120
+PreviewFrameStep 1
+CurrentFrame 120
+FramesPerSecond 30
+ChangeScene 0
+
+LoadObjectLayer 1 10000000 simple_cube.lwo
+ChangeObject 0
+ShowObject 7 -1 0.376471 0.878431 0.941176
+Group 0
+ObjectMotion
+NumChannels 9
+Channel 0
+{ Envelope
+ 3
+ Key 0 0 0 0 0 0 0 2.1372954575696919 0
+ Key 2.1381859973436792 0.66666666666666663 0 0 0 0 -0.8400939672421186 -0.79808926888001264 0
+ Key -1.6381832361221313 1.3 0 0 0 0 -3.7747136573003282 0 0
+ Behaviors 1 2
+}
+Channel 1
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 6
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 7
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 8
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+SubPatchLevel 3 3
+APSDisplay
+{ APS
+ Version 1
+ Method 0
+ { VParm
+ { ObjectLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonPixelSize
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 256
+ 0
+ }
+ }
+ }
+ }
+}
+APSRender
+{ APS
+ Version 1
+ Method 0
+ { VParm
+ { ObjectLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonPixelSize
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 256
+ 0
+ }
+ }
+ }
+ }
+}
+NodeDisplacement 0
+{ Nodal_Block
+ { Root
+ Location 0 0
+ Zoom 1
+ Disabled 1
+ }
+ Version 1
+ { Nodes
+ Server "Displacement"
+ { Tag
+ RealName "Displacement"
+ Name "Displacement"
+ Coordinates -10 -10
+ Mode 1
+ { Data
+ }
+ Preview ""
+ Comment ""
+ }
+ }
+ { Connections
+ }
+}
+NodeDisplacementOrder 0
+UseObjGI 0
+ObjGIRadiosityRays 64
+ObjGISecondaryBounceRays 16
+ObjGIRadiosityTolerance 0.292893
+ObjGIMinPixelSpacing 4.000000
+ObjGIMaxPixelSpacing 100.000000
+ShadowOptions 7
+
+AmbientColor 1 1 1
+AmbientIntensity 0.05
+DoubleSidedAreaLights 1
+RadiosityType 2
+RadiosityInterpolated 1
+RadiosityTransparency 0
+RadiosityIntensity 1
+RadiosityTolerance 0.2928932
+RadiosityRays 64
+SecondaryBounceRays 16
+RadiosityMinPixelSpacing 4
+RadiosityMaxPixelSpacing 100
+RadiosityMultiplier 1
+RadiosityDirectionalRays 0
+RadiosityUseGradients 0
+RadiosityUseBehindTest 1
+BlurRadiosity 1
+RadiosityFlags 0
+RadiosityCacheModulus 1
+RadiosityCacheFilePath radiosity.cache
+PixelFilterForceMT 0
+
+AddLight 20000000
+LightName Light
+ShowLight 1 -1 0.941176 0.376471 0.941176
+LightMotion
+NumChannels 9
+Channel 0
+{ Envelope
+ 1
+ Key -2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 1
+{ Envelope
+ 1
+ Key 2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 1
+ Key -2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0.78539813999999997 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0.61086521999999999 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 6
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 7
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 8
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+LightColor 1 1 1
+LightIntensity 1
+AffectCaustics 1
+LightType 0
+LensFlare 0
+FlareIntensity 0.5
+FlareDissolve 0
+LensFlareFade 4
+LensFlareOptions 11
+FlareRingColor 0.3137 0.0784 0.0392
+FlareRingSize 0.22
+FlareRandStreakInt 0.03
+FlareRandStreakDens 50
+FlareRandStreakSharp 6
+ShadowType 1
+ShadowColor 0 0 0
+Plugin LightHandler 1 DistantLight
+EndPlugin
+
+AddCamera 30000000
+CameraName Camera
+ShowCamera 1 -1 0.125490 0.878431 0.125490
+CameraMotion
+NumChannels 6
+Channel 0
+{ Envelope
+ 1
+ Key -0.10000002384185791 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 1
+{ Envelope
+ 1
+ Key 0.94999998807907104 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 1
+ Key -6.384000301361084 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+ZoomFactor 3.2
+ZoomType 1
+ResolutionMultiplier 1.0
+FrameSize 640 480
+PixelAspect 1
+MaskPosition 0 0 640 480
+MotionBlur 0
+MotionBlurPasses 1
+ShutterEfficiency 1
+Oversampling 0
+FieldRendering 0
+ApertureHeight 0.015
+DepthOfField 0
+FocalDistance 1
+LensFStop 4
+DiaphragmSides 0
+DiaphragmRotation 0
+AASamples 1
+Sampler 1
+UseGlobalResolution 0
+UseGlobalMask 0
+UseGlobalBlur 0
+Plugin CameraHandler 1 Perspective
+EndPlugin
+
+GlobalFrameSize 640 480
+GlobalMultiplier 1.0
+GlobalFieldRendering 0
+GlobalMotionBlur 0
+GlobalMaskPosition 0 0 640 480
+GlobalFilmHeight 0.015
+GlobalPixelAspect 1
+
+Antialiasing 0
+AntiAliasingLevel -1
+ReconstructionFilter 0
+AdaptiveSampling 0
+
+SolidBackdrop 1
+BackdropColor 0 0 0
+ZenithColor 0 0.1569 0.3137
+SkyColor 0.4706 0.7059 0.9412
+GroundColor 0.1961 0.1569 0.1176
+NadirColor 0.3922 0.3137 0.2353
+FogType 0
+FogMinDistance 0
+FogMaxDistance 1
+FogMinAmount 0
+FogMaxAmount 1
+FogColor 0.5098 0.5098 0.549
+BackdropFog 0
+VolumeClipDiscance 0.1
+DynamicRangeMin 0
+DynamicRangeLimit 1
+DitherIntensity 1
+AnimatedDither 0
+
+RenderMode 2
+RayTraceEffects 0
+DepthBufferAA 0
+RenderLines 1
+RayRecursionLimit 16
+RayPrecision 6
+RayCutoff 0.01
+DataOverlayLabel
+SaveRGB 0
+SaveAlpha 0
+
+ViewConfiguration 0
+DefineView 0
+ViewType 7
+ViewLevel 5
+ViewAimpoint 0 0 0
+ViewRotation -17.2 18 0
+ViewZoomFactor 4
+ViewXRay 0
+ViewMBDofPreview 0
+ViewHeadlight 0
+
+GridNumber 80
+GridSize 1
+CameraViewBG 0
+ShowMotionPath 1
+ShowFogRadius 0
+ShowFogEffect 0
+ShowFieldChart 0
+OverlayColor_fv 0 0 0
+MeshBackgroundGroup 1
+
+CurrentObject 0
+CurrentLight 0
+CurrentCamera 0
+GraphEditorData
+{ GraphEd_Favorites
+}
+{ GE_Expression_Lib
+ 1
+}
+ImageEditorData
+NumberOfClips 0
diff --git a/libs/assimp/test/models/LWS/move_x_post_reset.lws b/libs/assimp/test/models/LWS/move_x_post_reset.lws
new file mode 100644
index 0000000..30859ac
--- /dev/null
+++ b/libs/assimp/test/models/LWS/move_x_post_reset.lws
@@ -0,0 +1,472 @@
+LWSC
+5
+
+RenderRangeType 0
+FirstFrame 1
+LastFrame 120
+FrameStep 1
+RenderRangeObject 0
+RenderRangeArbitrary 1-60
+PreviewFirstFrame 0
+PreviewLastFrame 120
+PreviewFrameStep 1
+CurrentFrame 1
+FramesPerSecond 30
+ChangeScene 0
+
+LoadObjectLayer 1 10000000 simple_cube.lwo
+ChangeObject 0
+ShowObject 7 -1 0.376471 0.878431 0.941176
+Group 0
+ObjectMotion
+NumChannels 9
+Channel 0
+{ Envelope
+ 3
+ Key 0 0 0 0 0 0 0 2.1372954575696919 0
+ Key 2.1381859973436792 0.66666666666666663 0 0 0 0 -0.8400939672421186 -0.79808926888001264 0
+ Key -1.6381832361221313 1.3 0 0 0 0 -3.7747136573003282 0 0
+ Behaviors 1 0
+}
+Channel 1
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 6
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 7
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 8
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+SubPatchLevel 3 3
+APSDisplay
+{ APS
+ Version 1
+ Method 0
+ { VParm
+ { ObjectLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonPixelSize
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 256
+ 0
+ }
+ }
+ }
+ }
+}
+APSRender
+{ APS
+ Version 1
+ Method 0
+ { VParm
+ { ObjectLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonPixelSize
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 256
+ 0
+ }
+ }
+ }
+ }
+}
+NodeDisplacement 0
+{ Nodal_Block
+ { Root
+ Location 0 0
+ Zoom 1
+ Disabled 1
+ }
+ Version 1
+ { Nodes
+ Server "Displacement"
+ { Tag
+ RealName "Displacement"
+ Name "Displacement"
+ Coordinates -10 -10
+ Mode 1
+ { Data
+ }
+ Preview ""
+ Comment ""
+ }
+ }
+ { Connections
+ }
+}
+NodeDisplacementOrder 0
+UseObjGI 0
+ObjGIRadiosityRays 64
+ObjGISecondaryBounceRays 16
+ObjGIRadiosityTolerance 0.292893
+ObjGIMinPixelSpacing 4.000000
+ObjGIMaxPixelSpacing 100.000000
+ShadowOptions 7
+
+AmbientColor 1 1 1
+AmbientIntensity 0.05
+DoubleSidedAreaLights 1
+RadiosityType 2
+RadiosityInterpolated 1
+RadiosityTransparency 0
+RadiosityIntensity 1
+RadiosityTolerance 0.2928932
+RadiosityRays 64
+SecondaryBounceRays 16
+RadiosityMinPixelSpacing 4
+RadiosityMaxPixelSpacing 100
+RadiosityMultiplier 1
+RadiosityDirectionalRays 0
+RadiosityUseGradients 0
+RadiosityUseBehindTest 1
+BlurRadiosity 1
+RadiosityFlags 0
+RadiosityCacheModulus 1
+RadiosityCacheFilePath radiosity.cache
+PixelFilterForceMT 0
+
+AddLight 20000000
+LightName Light
+ShowLight 1 -1 0.941176 0.376471 0.941176
+LightMotion
+NumChannels 9
+Channel 0
+{ Envelope
+ 1
+ Key -2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 1
+{ Envelope
+ 1
+ Key 2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 1
+ Key -2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0.78539813999999997 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0.61086521999999999 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 6
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 7
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 8
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+LightColor 1 1 1
+LightIntensity 1
+AffectCaustics 1
+LightType 0
+LensFlare 0
+FlareIntensity 0.5
+FlareDissolve 0
+LensFlareFade 4
+LensFlareOptions 11
+FlareRingColor 0.3137 0.0784 0.0392
+FlareRingSize 0.22
+FlareRandStreakInt 0.03
+FlareRandStreakDens 50
+FlareRandStreakSharp 6
+ShadowType 1
+ShadowColor 0 0 0
+Plugin LightHandler 1 DistantLight
+EndPlugin
+
+AddCamera 30000000
+CameraName Camera
+ShowCamera 1 -1 0.125490 0.878431 0.125490
+CameraMotion
+NumChannels 6
+Channel 0
+{ Envelope
+ 1
+ Key -0.10000002384185791 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 1
+{ Envelope
+ 1
+ Key 0.94999998807907104 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 1
+ Key -6.384000301361084 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+ZoomFactor 3.2
+ZoomType 1
+ResolutionMultiplier 1.0
+FrameSize 640 480
+PixelAspect 1
+MaskPosition 0 0 640 480
+MotionBlur 0
+MotionBlurPasses 1
+ShutterEfficiency 1
+Oversampling 0
+FieldRendering 0
+ApertureHeight 0.015
+DepthOfField 0
+FocalDistance 1
+LensFStop 4
+DiaphragmSides 0
+DiaphragmRotation 0
+AASamples 1
+Sampler 1
+UseGlobalResolution 0
+UseGlobalMask 0
+UseGlobalBlur 0
+Plugin CameraHandler 1 Perspective
+EndPlugin
+
+GlobalFrameSize 640 480
+GlobalMultiplier 1.0
+GlobalFieldRendering 0
+GlobalMotionBlur 0
+GlobalMaskPosition 0 0 640 480
+GlobalFilmHeight 0.015
+GlobalPixelAspect 1
+
+Antialiasing 0
+AntiAliasingLevel -1
+ReconstructionFilter 0
+AdaptiveSampling 0
+
+SolidBackdrop 1
+BackdropColor 0 0 0
+ZenithColor 0 0.1569 0.3137
+SkyColor 0.4706 0.7059 0.9412
+GroundColor 0.1961 0.1569 0.1176
+NadirColor 0.3922 0.3137 0.2353
+FogType 0
+FogMinDistance 0
+FogMaxDistance 1
+FogMinAmount 0
+FogMaxAmount 1
+FogColor 0.5098 0.5098 0.549
+BackdropFog 0
+VolumeClipDiscance 0.1
+DynamicRangeMin 0
+DynamicRangeLimit 1
+DitherIntensity 1
+AnimatedDither 0
+
+RenderMode 2
+RayTraceEffects 0
+DepthBufferAA 0
+RenderLines 1
+RayRecursionLimit 16
+RayPrecision 6
+RayCutoff 0.01
+DataOverlayLabel
+SaveRGB 0
+SaveAlpha 0
+
+ViewConfiguration 0
+DefineView 0
+ViewType 7
+ViewLevel 5
+ViewAimpoint 0 0 0
+ViewRotation -17.2 18 0
+ViewZoomFactor 4
+ViewXRay 0
+ViewMBDofPreview 0
+ViewHeadlight 0
+
+GridNumber 80
+GridSize 1
+CameraViewBG 0
+ShowMotionPath 1
+ShowFogRadius 0
+ShowFogEffect 0
+ShowFieldChart 0
+OverlayColor_fv 0 0 0
+MeshBackgroundGroup 1
+
+CurrentObject 0
+CurrentLight 0
+CurrentCamera 0
+GraphEditorData
+{ GraphEd_Favorites
+}
+{ GE_Expression_Lib
+ 1
+}
+ImageEditorData
+NumberOfClips 0
diff --git a/libs/assimp/test/models/LWS/move_xz_bezier.lws b/libs/assimp/test/models/LWS/move_xz_bezier.lws
new file mode 100644
index 0000000..c61ac80
--- /dev/null
+++ b/libs/assimp/test/models/LWS/move_xz_bezier.lws
@@ -0,0 +1,474 @@
+LWSC
+5
+
+RenderRangeType 0
+FirstFrame 1
+LastFrame 120
+FrameStep 1
+RenderRangeObject 0
+RenderRangeArbitrary 1-60
+PreviewFirstFrame 0
+PreviewLastFrame 120
+PreviewFrameStep 1
+CurrentFrame 96
+FramesPerSecond 30
+ChangeScene 0
+
+LoadObjectLayer 1 10000000 simple_cube.lwo
+ChangeObject 0
+ShowObject 7 -1 0.376471 0.878431 0.941176
+Group 0
+ObjectMotion
+NumChannels 9
+Channel 0
+{ Envelope
+ 3
+ Key 0 0 5 0 0 0.22222 0.64163307824462457 2.0144942798797212 0
+ Key 1.924918483918713 0.66666666666666663 5 -0.22222 0.012913536517090266 0.44444 -0.10330829213672213 -0.3486689726511637 0
+ Key -0.52300345897674561 2 5 -0.44444 0.81596582122534322 0 0 0 0
+ Behaviors 0 1
+}
+Channel 1
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 3
+ Key 0 0 5 0 0 0.44444 -0.88536338761568067 -2.6555634816222775 0
+ Key -2.6561167240142822 1.3333333333333333 5 -0.46576443257676908 0.0086004390920015397 0.56576343257676909 -0.018818992720682302 -0.062782856771785217 0
+ Key -0.095800442759067794 2.9666666666666668 5 -0.54443900000000001 -0.85343022603080076 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 6
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 7
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 8
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+SubPatchLevel 3 3
+APSDisplay
+{ APS
+ Version 1
+ Method 0
+ { VParm
+ { ObjectLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonPixelSize
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 256
+ 0
+ }
+ }
+ }
+ }
+}
+APSRender
+{ APS
+ Version 1
+ Method 0
+ { VParm
+ { ObjectLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonPixelSize
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 256
+ 0
+ }
+ }
+ }
+ }
+}
+NodeDisplacement 0
+{ Nodal_Block
+ { Root
+ Location 0 0
+ Zoom 1
+ Disabled 1
+ }
+ Version 1
+ { Nodes
+ Server "Displacement"
+ { Tag
+ RealName "Displacement"
+ Name "Displacement"
+ Coordinates -10 -10
+ Mode 1
+ { Data
+ }
+ Preview ""
+ Comment ""
+ }
+ }
+ { Connections
+ }
+}
+NodeDisplacementOrder 0
+UseObjGI 0
+ObjGIRadiosityRays 64
+ObjGISecondaryBounceRays 16
+ObjGIRadiosityTolerance 0.292893
+ObjGIMinPixelSpacing 4.000000
+ObjGIMaxPixelSpacing 100.000000
+ShadowOptions 7
+
+AmbientColor 1 1 1
+AmbientIntensity 0.05
+DoubleSidedAreaLights 1
+RadiosityType 2
+RadiosityInterpolated 1
+RadiosityTransparency 0
+RadiosityIntensity 1
+RadiosityTolerance 0.2928932
+RadiosityRays 64
+SecondaryBounceRays 16
+RadiosityMinPixelSpacing 4
+RadiosityMaxPixelSpacing 100
+RadiosityMultiplier 1
+RadiosityDirectionalRays 0
+RadiosityUseGradients 0
+RadiosityUseBehindTest 1
+BlurRadiosity 1
+RadiosityFlags 0
+RadiosityCacheModulus 1
+RadiosityCacheFilePath radiosity.cache
+PixelFilterForceMT 0
+
+AddLight 20000000
+LightName Light
+ShowLight 1 -1 0.941176 0.376471 0.941176
+LightMotion
+NumChannels 9
+Channel 0
+{ Envelope
+ 1
+ Key -2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 1
+{ Envelope
+ 1
+ Key 2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 1
+ Key -2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0.78539813999999997 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0.61086521999999999 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 6
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 7
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 8
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+LightColor 1 1 1
+LightIntensity 1
+AffectCaustics 1
+LightType 0
+LensFlare 0
+FlareIntensity 0.5
+FlareDissolve 0
+LensFlareFade 4
+LensFlareOptions 11
+FlareRingColor 0.3137 0.0784 0.0392
+FlareRingSize 0.22
+FlareRandStreakInt 0.03
+FlareRandStreakDens 50
+FlareRandStreakSharp 6
+ShadowType 1
+ShadowColor 0 0 0
+Plugin LightHandler 1 DistantLight
+EndPlugin
+
+AddCamera 30000000
+CameraName Camera
+ShowCamera 1 -1 0.125490 0.878431 0.125490
+CameraMotion
+NumChannels 6
+Channel 0
+{ Envelope
+ 1
+ Key -0.10000002384185791 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 1
+{ Envelope
+ 1
+ Key 0.94999998807907104 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 1
+ Key -6.384000301361084 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+ZoomFactor 3.2
+ZoomType 1
+ResolutionMultiplier 1.0
+FrameSize 640 480
+PixelAspect 1
+MaskPosition 0 0 640 480
+MotionBlur 0
+MotionBlurPasses 1
+ShutterEfficiency 1
+Oversampling 0
+FieldRendering 0
+ApertureHeight 0.015
+DepthOfField 0
+FocalDistance 1
+LensFStop 4
+DiaphragmSides 0
+DiaphragmRotation 0
+AASamples 1
+Sampler 1
+UseGlobalResolution 0
+UseGlobalMask 0
+UseGlobalBlur 0
+Plugin CameraHandler 1 Perspective
+EndPlugin
+
+GlobalFrameSize 640 480
+GlobalMultiplier 1.0
+GlobalFieldRendering 0
+GlobalMotionBlur 0
+GlobalMaskPosition 0 0 640 480
+GlobalFilmHeight 0.015
+GlobalPixelAspect 1
+
+Antialiasing 0
+AntiAliasingLevel -1
+ReconstructionFilter 0
+AdaptiveSampling 0
+
+SolidBackdrop 1
+BackdropColor 0 0 0
+ZenithColor 0 0.1569 0.3137
+SkyColor 0.4706 0.7059 0.9412
+GroundColor 0.1961 0.1569 0.1176
+NadirColor 0.3922 0.3137 0.2353
+FogType 0
+FogMinDistance 0
+FogMaxDistance 1
+FogMinAmount 0
+FogMaxAmount 1
+FogColor 0.5098 0.5098 0.549
+BackdropFog 0
+VolumeClipDiscance 0.1
+DynamicRangeMin 0
+DynamicRangeLimit 1
+DitherIntensity 1
+AnimatedDither 0
+
+RenderMode 2
+RayTraceEffects 0
+DepthBufferAA 0
+RenderLines 1
+RayRecursionLimit 16
+RayPrecision 6
+RayCutoff 0.01
+DataOverlayLabel
+SaveRGB 0
+SaveAlpha 0
+
+ViewConfiguration 0
+DefineView 0
+ViewType 7
+ViewLevel 5
+ViewAimpoint 0 0 0
+ViewRotation -17.2 18 0
+ViewZoomFactor 4
+ViewXRay 0
+ViewMBDofPreview 0
+ViewHeadlight 0
+
+GridNumber 80
+GridSize 1
+CameraViewBG 0
+ShowMotionPath 1
+ShowFogRadius 0
+ShowFogEffect 0
+ShowFieldChart 0
+OverlayColor_fv 0 0 0
+MeshBackgroundGroup 1
+
+CurrentObject 0
+CurrentLight 0
+CurrentCamera 0
+GraphEditorData
+{ GraphEd_Favorites
+}
+{ GE_Expression_Lib
+ 1
+}
+ImageEditorData
+NumberOfClips 0
diff --git a/libs/assimp/test/models/LWS/move_xz_hermite.lws b/libs/assimp/test/models/LWS/move_xz_hermite.lws
new file mode 100644
index 0000000..876dea6
--- /dev/null
+++ b/libs/assimp/test/models/LWS/move_xz_hermite.lws
@@ -0,0 +1,474 @@
+LWSC
+5
+
+RenderRangeType 0
+FirstFrame 1
+LastFrame 120
+FrameStep 1
+RenderRangeObject 0
+RenderRangeArbitrary 1-60
+PreviewFirstFrame 0
+PreviewLastFrame 120
+PreviewFrameStep 1
+CurrentFrame 0
+FramesPerSecond 30
+ChangeScene 0
+
+LoadObjectLayer 1 10000000 simple_cube.lwo
+ChangeObject 0
+ShowObject 7 -1 0.376471 0.878431 0.941176
+Group 0
+ObjectMotion
+NumChannels 9
+Channel 0
+{ Envelope
+ 3
+ Key 0 0 1 0 0 0 0 2.0144942798797212 0
+ Key 1.924918483918713 0.66666666666666663 1 0 0 0 -0.17433448632558185 -0.3486689726511637 0
+ Key -0.52300345897674561 2 1 0 0 0 -2.4474120653818376 0 0
+ Behaviors 1 1
+}
+Channel 1
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 3
+ Key 0 0 1 0 0 0 0 -2.6555634816222775 0
+ Key -2.6561167240142822 1.3333333333333333 1 0 0 0 -0.043056378768120331 -0.062782856771785217 0
+ Key -0.095800442759067794 2.9666666666666668 1 0 0 0 2.5416503021393155 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 6
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 7
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 8
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+SubPatchLevel 3 3
+APSDisplay
+{ APS
+ Version 1
+ Method 0
+ { VParm
+ { ObjectLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonPixelSize
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 256
+ 0
+ }
+ }
+ }
+ }
+}
+APSRender
+{ APS
+ Version 1
+ Method 0
+ { VParm
+ { ObjectLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonPixelSize
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 256
+ 0
+ }
+ }
+ }
+ }
+}
+NodeDisplacement 0
+{ Nodal_Block
+ { Root
+ Location 0 0
+ Zoom 1
+ Disabled 1
+ }
+ Version 1
+ { Nodes
+ Server "Displacement"
+ { Tag
+ RealName "Displacement"
+ Name "Displacement"
+ Coordinates -10 -10
+ Mode 1
+ { Data
+ }
+ Preview ""
+ Comment ""
+ }
+ }
+ { Connections
+ }
+}
+NodeDisplacementOrder 0
+UseObjGI 0
+ObjGIRadiosityRays 64
+ObjGISecondaryBounceRays 16
+ObjGIRadiosityTolerance 0.292893
+ObjGIMinPixelSpacing 4.000000
+ObjGIMaxPixelSpacing 100.000000
+ShadowOptions 7
+
+AmbientColor 1 1 1
+AmbientIntensity 0.05
+DoubleSidedAreaLights 1
+RadiosityType 2
+RadiosityInterpolated 1
+RadiosityTransparency 0
+RadiosityIntensity 1
+RadiosityTolerance 0.2928932
+RadiosityRays 64
+SecondaryBounceRays 16
+RadiosityMinPixelSpacing 4
+RadiosityMaxPixelSpacing 100
+RadiosityMultiplier 1
+RadiosityDirectionalRays 0
+RadiosityUseGradients 0
+RadiosityUseBehindTest 1
+BlurRadiosity 1
+RadiosityFlags 0
+RadiosityCacheModulus 1
+RadiosityCacheFilePath radiosity.cache
+PixelFilterForceMT 0
+
+AddLight 20000000
+LightName Light
+ShowLight 1 -1 0.941176 0.376471 0.941176
+LightMotion
+NumChannels 9
+Channel 0
+{ Envelope
+ 1
+ Key -2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 1
+{ Envelope
+ 1
+ Key 2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 1
+ Key -2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0.78539813999999997 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0.61086521999999999 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 6
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 7
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 8
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+LightColor 1 1 1
+LightIntensity 1
+AffectCaustics 1
+LightType 0
+LensFlare 0
+FlareIntensity 0.5
+FlareDissolve 0
+LensFlareFade 4
+LensFlareOptions 11
+FlareRingColor 0.3137 0.0784 0.0392
+FlareRingSize 0.22
+FlareRandStreakInt 0.03
+FlareRandStreakDens 50
+FlareRandStreakSharp 6
+ShadowType 1
+ShadowColor 0 0 0
+Plugin LightHandler 1 DistantLight
+EndPlugin
+
+AddCamera 30000000
+CameraName Camera
+ShowCamera 1 -1 0.125490 0.878431 0.125490
+CameraMotion
+NumChannels 6
+Channel 0
+{ Envelope
+ 1
+ Key -0.10000002384185791 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 1
+{ Envelope
+ 1
+ Key 0.94999998807907104 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 1
+ Key -6.384000301361084 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+ZoomFactor 3.2
+ZoomType 1
+ResolutionMultiplier 1.0
+FrameSize 640 480
+PixelAspect 1
+MaskPosition 0 0 640 480
+MotionBlur 0
+MotionBlurPasses 1
+ShutterEfficiency 1
+Oversampling 0
+FieldRendering 0
+ApertureHeight 0.015
+DepthOfField 0
+FocalDistance 1
+LensFStop 4
+DiaphragmSides 0
+DiaphragmRotation 0
+AASamples 1
+Sampler 1
+UseGlobalResolution 0
+UseGlobalMask 0
+UseGlobalBlur 0
+Plugin CameraHandler 1 Perspective
+EndPlugin
+
+GlobalFrameSize 640 480
+GlobalMultiplier 1.0
+GlobalFieldRendering 0
+GlobalMotionBlur 0
+GlobalMaskPosition 0 0 640 480
+GlobalFilmHeight 0.015
+GlobalPixelAspect 1
+
+Antialiasing 0
+AntiAliasingLevel -1
+ReconstructionFilter 0
+AdaptiveSampling 0
+
+SolidBackdrop 1
+BackdropColor 0 0 0
+ZenithColor 0 0.1569 0.3137
+SkyColor 0.4706 0.7059 0.9412
+GroundColor 0.1961 0.1569 0.1176
+NadirColor 0.3922 0.3137 0.2353
+FogType 0
+FogMinDistance 0
+FogMaxDistance 1
+FogMinAmount 0
+FogMaxAmount 1
+FogColor 0.5098 0.5098 0.549
+BackdropFog 0
+VolumeClipDiscance 0.1
+DynamicRangeMin 0
+DynamicRangeLimit 1
+DitherIntensity 1
+AnimatedDither 0
+
+RenderMode 2
+RayTraceEffects 0
+DepthBufferAA 0
+RenderLines 1
+RayRecursionLimit 16
+RayPrecision 6
+RayCutoff 0.01
+DataOverlayLabel
+SaveRGB 0
+SaveAlpha 0
+
+ViewConfiguration 0
+DefineView 0
+ViewType 7
+ViewLevel 5
+ViewAimpoint 0 0 0
+ViewRotation -17.2 18 0
+ViewZoomFactor 4
+ViewXRay 0
+ViewMBDofPreview 0
+ViewHeadlight 0
+
+GridNumber 80
+GridSize 1
+CameraViewBG 0
+ShowMotionPath 1
+ShowFogRadius 0
+ShowFogEffect 0
+ShowFieldChart 0
+OverlayColor_fv 0 0 0
+MeshBackgroundGroup 1
+
+CurrentObject 0
+CurrentLight 0
+CurrentCamera 0
+GraphEditorData
+{ GraphEd_Favorites
+}
+{ GE_Expression_Lib
+ 1
+}
+ImageEditorData
+NumberOfClips 0
diff --git a/libs/assimp/test/models/LWS/move_xz_linear.lws b/libs/assimp/test/models/LWS/move_xz_linear.lws
new file mode 100644
index 0000000..9a77c46
--- /dev/null
+++ b/libs/assimp/test/models/LWS/move_xz_linear.lws
@@ -0,0 +1,474 @@
+LWSC
+5
+
+RenderRangeType 0
+FirstFrame 1
+LastFrame 120
+FrameStep 1
+RenderRangeObject 0
+RenderRangeArbitrary 1-60
+PreviewFirstFrame 0
+PreviewLastFrame 120
+PreviewFrameStep 1
+CurrentFrame 9
+FramesPerSecond 30
+ChangeScene 0
+
+LoadObjectLayer 1 10000000 simple_cube.lwo
+ChangeObject 0
+ShowObject 7 -1 0.376471 0.878431 0.941176
+Group 0
+ObjectMotion
+NumChannels 9
+Channel 0
+{ Envelope
+ 3
+ Key 0 0 0 0 0 0 0 2.0144942798797212 0
+ Key 1.924918483918713 0.66666666666666663 3 0 0 0 -0.17433448632558185 -0.3486689726511637 0
+ Key -0.52300345897674561 2 3 0 0 0 -2.4474120653818376 0 0
+ Behaviors 1 1
+}
+Channel 1
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 3
+ Key 0 0 0 0 0 0 0 -2.6555634816222775 0
+ Key -2.6561167240142822 1.3333333333333333 3 0 0 0 -0.043056378768120331 -0.062782856771785217 0
+ Key -0.095800442759067794 2.9666666666666668 3 0 0 0 2.5416503021393155 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 6
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 7
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 8
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+SubPatchLevel 3 3
+APSDisplay
+{ APS
+ Version 1
+ Method 0
+ { VParm
+ { ObjectLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonPixelSize
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 256
+ 0
+ }
+ }
+ }
+ }
+}
+APSRender
+{ APS
+ Version 1
+ Method 0
+ { VParm
+ { ObjectLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonPixelSize
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 256
+ 0
+ }
+ }
+ }
+ }
+}
+NodeDisplacement 0
+{ Nodal_Block
+ { Root
+ Location 0 0
+ Zoom 1
+ Disabled 1
+ }
+ Version 1
+ { Nodes
+ Server "Displacement"
+ { Tag
+ RealName "Displacement"
+ Name "Displacement"
+ Coordinates -10 -10
+ Mode 1
+ { Data
+ }
+ Preview ""
+ Comment ""
+ }
+ }
+ { Connections
+ }
+}
+NodeDisplacementOrder 0
+UseObjGI 0
+ObjGIRadiosityRays 64
+ObjGISecondaryBounceRays 16
+ObjGIRadiosityTolerance 0.292893
+ObjGIMinPixelSpacing 4.000000
+ObjGIMaxPixelSpacing 100.000000
+ShadowOptions 7
+
+AmbientColor 1 1 1
+AmbientIntensity 0.05
+DoubleSidedAreaLights 1
+RadiosityType 2
+RadiosityInterpolated 1
+RadiosityTransparency 0
+RadiosityIntensity 1
+RadiosityTolerance 0.2928932
+RadiosityRays 64
+SecondaryBounceRays 16
+RadiosityMinPixelSpacing 4
+RadiosityMaxPixelSpacing 100
+RadiosityMultiplier 1
+RadiosityDirectionalRays 0
+RadiosityUseGradients 0
+RadiosityUseBehindTest 1
+BlurRadiosity 1
+RadiosityFlags 0
+RadiosityCacheModulus 1
+RadiosityCacheFilePath radiosity.cache
+PixelFilterForceMT 0
+
+AddLight 20000000
+LightName Light
+ShowLight 1 -1 0.941176 0.376471 0.941176
+LightMotion
+NumChannels 9
+Channel 0
+{ Envelope
+ 1
+ Key -2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 1
+{ Envelope
+ 1
+ Key 2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 1
+ Key -2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0.78539813999999997 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0.61086521999999999 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 6
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 7
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 8
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+LightColor 1 1 1
+LightIntensity 1
+AffectCaustics 1
+LightType 0
+LensFlare 0
+FlareIntensity 0.5
+FlareDissolve 0
+LensFlareFade 4
+LensFlareOptions 11
+FlareRingColor 0.3137 0.0784 0.0392
+FlareRingSize 0.22
+FlareRandStreakInt 0.03
+FlareRandStreakDens 50
+FlareRandStreakSharp 6
+ShadowType 1
+ShadowColor 0 0 0
+Plugin LightHandler 1 DistantLight
+EndPlugin
+
+AddCamera 30000000
+CameraName Camera
+ShowCamera 1 -1 0.125490 0.878431 0.125490
+CameraMotion
+NumChannels 6
+Channel 0
+{ Envelope
+ 1
+ Key -0.10000002384185791 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 1
+{ Envelope
+ 1
+ Key 0.94999998807907104 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 1
+ Key -6.384000301361084 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+ZoomFactor 3.2
+ZoomType 1
+ResolutionMultiplier 1.0
+FrameSize 640 480
+PixelAspect 1
+MaskPosition 0 0 640 480
+MotionBlur 0
+MotionBlurPasses 1
+ShutterEfficiency 1
+Oversampling 0
+FieldRendering 0
+ApertureHeight 0.015
+DepthOfField 0
+FocalDistance 1
+LensFStop 4
+DiaphragmSides 0
+DiaphragmRotation 0
+AASamples 1
+Sampler 1
+UseGlobalResolution 0
+UseGlobalMask 0
+UseGlobalBlur 0
+Plugin CameraHandler 1 Perspective
+EndPlugin
+
+GlobalFrameSize 640 480
+GlobalMultiplier 1.0
+GlobalFieldRendering 0
+GlobalMotionBlur 0
+GlobalMaskPosition 0 0 640 480
+GlobalFilmHeight 0.015
+GlobalPixelAspect 1
+
+Antialiasing 0
+AntiAliasingLevel -1
+ReconstructionFilter 0
+AdaptiveSampling 0
+
+SolidBackdrop 1
+BackdropColor 0 0 0
+ZenithColor 0 0.1569 0.3137
+SkyColor 0.4706 0.7059 0.9412
+GroundColor 0.1961 0.1569 0.1176
+NadirColor 0.3922 0.3137 0.2353
+FogType 0
+FogMinDistance 0
+FogMaxDistance 1
+FogMinAmount 0
+FogMaxAmount 1
+FogColor 0.5098 0.5098 0.549
+BackdropFog 0
+VolumeClipDiscance 0.1
+DynamicRangeMin 0
+DynamicRangeLimit 1
+DitherIntensity 1
+AnimatedDither 0
+
+RenderMode 2
+RayTraceEffects 0
+DepthBufferAA 0
+RenderLines 1
+RayRecursionLimit 16
+RayPrecision 6
+RayCutoff 0.01
+DataOverlayLabel
+SaveRGB 0
+SaveAlpha 0
+
+ViewConfiguration 0
+DefineView 0
+ViewType 7
+ViewLevel 5
+ViewAimpoint 0 0 0
+ViewRotation -17.2 18 0
+ViewZoomFactor 4
+ViewXRay 0
+ViewMBDofPreview 0
+ViewHeadlight 0
+
+GridNumber 80
+GridSize 1
+CameraViewBG 0
+ShowMotionPath 1
+ShowFogRadius 0
+ShowFogEffect 0
+ShowFieldChart 0
+OverlayColor_fv 0 0 0
+MeshBackgroundGroup 1
+
+CurrentObject 0
+CurrentLight 0
+CurrentCamera 0
+GraphEditorData
+{ GraphEd_Favorites
+}
+{ GE_Expression_Lib
+ 1
+}
+ImageEditorData
+NumberOfClips 0
diff --git a/libs/assimp/test/models/LWS/move_xz_spline.lws b/libs/assimp/test/models/LWS/move_xz_spline.lws
new file mode 100644
index 0000000..3ac77f2
--- /dev/null
+++ b/libs/assimp/test/models/LWS/move_xz_spline.lws
@@ -0,0 +1,474 @@
+LWSC
+5
+
+RenderRangeType 0
+FirstFrame 1
+LastFrame 120
+FrameStep 1
+RenderRangeObject 0
+RenderRangeArbitrary 1-60
+PreviewFirstFrame 0
+PreviewLastFrame 120
+PreviewFrameStep 1
+CurrentFrame 0
+FramesPerSecond 30
+ChangeScene 0
+
+LoadObjectLayer 1 10000000 simple_cube.lwo
+ChangeObject 0
+ShowObject 7 -1 0.376471 0.878431 0.941176
+Group 0
+ObjectMotion
+NumChannels 9
+Channel 0
+{ Envelope
+ 3
+ Key 0 0 0 0 0 0 0 2.0144942798797212 0
+ Key 2.0153336524963379 0.66666666666666663 0 0 0 0 -0.17433448632558185 -0.3486689726511637 0
+ Key -0.52300345897674561 2 0 0 0 0 -2.5378084013894608 0 0
+ Behaviors 1 1
+}
+Channel 1
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 3
+ Key 0 0 0 0 0 0 0 -2.6555634816222775 0
+ Key -2.6561167240142822 1.3333333333333333 0 0 0 0 -0.051251311650436913 -0.062782856771785217 0
+ Key -0.11403416842222214 2.9666666666666668 0 0 0 0 2.5416503021393155 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 6
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 7
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 8
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+SubPatchLevel 3 3
+APSDisplay
+{ APS
+ Version 1
+ Method 0
+ { VParm
+ { ObjectLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonPixelSize
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 256
+ 0
+ }
+ }
+ }
+ }
+}
+APSRender
+{ APS
+ Version 1
+ Method 0
+ { VParm
+ { ObjectLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonPixelSize
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 256
+ 0
+ }
+ }
+ }
+ }
+}
+NodeDisplacement 0
+{ Nodal_Block
+ { Root
+ Location 0 0
+ Zoom 1
+ Disabled 1
+ }
+ Version 1
+ { Nodes
+ Server "Displacement"
+ { Tag
+ RealName "Displacement"
+ Name "Displacement"
+ Coordinates -10 -10
+ Mode 1
+ { Data
+ }
+ Preview ""
+ Comment ""
+ }
+ }
+ { Connections
+ }
+}
+NodeDisplacementOrder 0
+UseObjGI 0
+ObjGIRadiosityRays 64
+ObjGISecondaryBounceRays 16
+ObjGIRadiosityTolerance 0.292893
+ObjGIMinPixelSpacing 4.000000
+ObjGIMaxPixelSpacing 100.000000
+ShadowOptions 7
+
+AmbientColor 1 1 1
+AmbientIntensity 0.05
+DoubleSidedAreaLights 1
+RadiosityType 2
+RadiosityInterpolated 1
+RadiosityTransparency 0
+RadiosityIntensity 1
+RadiosityTolerance 0.2928932
+RadiosityRays 64
+SecondaryBounceRays 16
+RadiosityMinPixelSpacing 4
+RadiosityMaxPixelSpacing 100
+RadiosityMultiplier 1
+RadiosityDirectionalRays 0
+RadiosityUseGradients 0
+RadiosityUseBehindTest 1
+BlurRadiosity 1
+RadiosityFlags 0
+RadiosityCacheModulus 1
+RadiosityCacheFilePath radiosity.cache
+PixelFilterForceMT 0
+
+AddLight 20000000
+LightName Light
+ShowLight 1 -1 0.941176 0.376471 0.941176
+LightMotion
+NumChannels 9
+Channel 0
+{ Envelope
+ 1
+ Key -2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 1
+{ Envelope
+ 1
+ Key 2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 1
+ Key -2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0.78539813999999997 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0.61086521999999999 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 6
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 7
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 8
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+LightColor 1 1 1
+LightIntensity 1
+AffectCaustics 1
+LightType 0
+LensFlare 0
+FlareIntensity 0.5
+FlareDissolve 0
+LensFlareFade 4
+LensFlareOptions 11
+FlareRingColor 0.3137 0.0784 0.0392
+FlareRingSize 0.22
+FlareRandStreakInt 0.03
+FlareRandStreakDens 50
+FlareRandStreakSharp 6
+ShadowType 1
+ShadowColor 0 0 0
+Plugin LightHandler 1 DistantLight
+EndPlugin
+
+AddCamera 30000000
+CameraName Camera
+ShowCamera 1 -1 0.125490 0.878431 0.125490
+CameraMotion
+NumChannels 6
+Channel 0
+{ Envelope
+ 1
+ Key -0.10000002384185791 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 1
+{ Envelope
+ 1
+ Key 0.94999998807907104 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 1
+ Key -6.384000301361084 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+ZoomFactor 3.2
+ZoomType 1
+ResolutionMultiplier 1.0
+FrameSize 640 480
+PixelAspect 1
+MaskPosition 0 0 640 480
+MotionBlur 0
+MotionBlurPasses 1
+ShutterEfficiency 1
+Oversampling 0
+FieldRendering 0
+ApertureHeight 0.015
+DepthOfField 0
+FocalDistance 1
+LensFStop 4
+DiaphragmSides 0
+DiaphragmRotation 0
+AASamples 1
+Sampler 1
+UseGlobalResolution 0
+UseGlobalMask 0
+UseGlobalBlur 0
+Plugin CameraHandler 1 Perspective
+EndPlugin
+
+GlobalFrameSize 640 480
+GlobalMultiplier 1.0
+GlobalFieldRendering 0
+GlobalMotionBlur 0
+GlobalMaskPosition 0 0 640 480
+GlobalFilmHeight 0.015
+GlobalPixelAspect 1
+
+Antialiasing 0
+AntiAliasingLevel -1
+ReconstructionFilter 0
+AdaptiveSampling 0
+
+SolidBackdrop 1
+BackdropColor 0 0 0
+ZenithColor 0 0.1569 0.3137
+SkyColor 0.4706 0.7059 0.9412
+GroundColor 0.1961 0.1569 0.1176
+NadirColor 0.3922 0.3137 0.2353
+FogType 0
+FogMinDistance 0
+FogMaxDistance 1
+FogMinAmount 0
+FogMaxAmount 1
+FogColor 0.5098 0.5098 0.549
+BackdropFog 0
+VolumeClipDiscance 0.1
+DynamicRangeMin 0
+DynamicRangeLimit 1
+DitherIntensity 1
+AnimatedDither 0
+
+RenderMode 2
+RayTraceEffects 0
+DepthBufferAA 0
+RenderLines 1
+RayRecursionLimit 16
+RayPrecision 6
+RayCutoff 0.01
+DataOverlayLabel
+SaveRGB 0
+SaveAlpha 0
+
+ViewConfiguration 0
+DefineView 0
+ViewType 7
+ViewLevel 5
+ViewAimpoint 0 0 0
+ViewRotation -17.2 18 0
+ViewZoomFactor 4
+ViewXRay 0
+ViewMBDofPreview 0
+ViewHeadlight 0
+
+GridNumber 80
+GridSize 1
+CameraViewBG 0
+ShowMotionPath 1
+ShowFogRadius 0
+ShowFogEffect 0
+ShowFieldChart 0
+OverlayColor_fv 0 0 0
+MeshBackgroundGroup 1
+
+CurrentObject 0
+CurrentLight 0
+CurrentCamera 0
+GraphEditorData
+{ GraphEd_Favorites
+}
+{ GE_Expression_Lib
+ 1
+}
+ImageEditorData
+NumberOfClips 0
diff --git a/libs/assimp/test/models/LWS/move_xz_stepped.lws b/libs/assimp/test/models/LWS/move_xz_stepped.lws
new file mode 100644
index 0000000..241e2e9
--- /dev/null
+++ b/libs/assimp/test/models/LWS/move_xz_stepped.lws
@@ -0,0 +1,474 @@
+LWSC
+5
+
+RenderRangeType 0
+FirstFrame 1
+LastFrame 120
+FrameStep 1
+RenderRangeObject 0
+RenderRangeArbitrary 1-60
+PreviewFirstFrame 0
+PreviewLastFrame 120
+PreviewFrameStep 1
+CurrentFrame 10
+FramesPerSecond 30
+ChangeScene 0
+
+LoadObjectLayer 1 10000000 simple_cube.lwo
+ChangeObject 0
+ShowObject 7 -1 0.376471 0.878431 0.941176
+Group 0
+ObjectMotion
+NumChannels 9
+Channel 0
+{ Envelope
+ 3
+ Key 0 0 0 0 0 0 0 2.0144942798797212 0
+ Key 1.924918483918713 0.66666666666666663 4 0 0 0 -0.17433448632558185 -0.3486689726511637 0
+ Key -0.52300345897674561 2 4 0 0 0 -2.4474120653818376 0 0
+ Behaviors 1 1
+}
+Channel 1
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 3
+ Key 0 0 0 0 0 0 0 -2.6555634816222775 0
+ Key -2.6561167240142822 1.3333333333333333 4 0 0 0 -0.043056378768120331 -0.062782856771785217 0
+ Key -0.095800442759067794 2.9666666666666668 4 0 0 0 2.5416503021393155 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 6
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 7
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 8
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+SubPatchLevel 3 3
+APSDisplay
+{ APS
+ Version 1
+ Method 0
+ { VParm
+ { ObjectLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonPixelSize
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 256
+ 0
+ }
+ }
+ }
+ }
+}
+APSRender
+{ APS
+ Version 1
+ Method 0
+ { VParm
+ { ObjectLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonPixelSize
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 256
+ 0
+ }
+ }
+ }
+ }
+}
+NodeDisplacement 0
+{ Nodal_Block
+ { Root
+ Location 0 0
+ Zoom 1
+ Disabled 1
+ }
+ Version 1
+ { Nodes
+ Server "Displacement"
+ { Tag
+ RealName "Displacement"
+ Name "Displacement"
+ Coordinates -10 -10
+ Mode 1
+ { Data
+ }
+ Preview ""
+ Comment ""
+ }
+ }
+ { Connections
+ }
+}
+NodeDisplacementOrder 0
+UseObjGI 0
+ObjGIRadiosityRays 64
+ObjGISecondaryBounceRays 16
+ObjGIRadiosityTolerance 0.292893
+ObjGIMinPixelSpacing 4.000000
+ObjGIMaxPixelSpacing 100.000000
+ShadowOptions 7
+
+AmbientColor 1 1 1
+AmbientIntensity 0.05
+DoubleSidedAreaLights 1
+RadiosityType 2
+RadiosityInterpolated 1
+RadiosityTransparency 0
+RadiosityIntensity 1
+RadiosityTolerance 0.2928932
+RadiosityRays 64
+SecondaryBounceRays 16
+RadiosityMinPixelSpacing 4
+RadiosityMaxPixelSpacing 100
+RadiosityMultiplier 1
+RadiosityDirectionalRays 0
+RadiosityUseGradients 0
+RadiosityUseBehindTest 1
+BlurRadiosity 1
+RadiosityFlags 0
+RadiosityCacheModulus 1
+RadiosityCacheFilePath radiosity.cache
+PixelFilterForceMT 0
+
+AddLight 20000000
+LightName Light
+ShowLight 1 -1 0.941176 0.376471 0.941176
+LightMotion
+NumChannels 9
+Channel 0
+{ Envelope
+ 1
+ Key -2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 1
+{ Envelope
+ 1
+ Key 2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 1
+ Key -2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0.78539813999999997 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0.61086521999999999 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 6
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 7
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 8
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+LightColor 1 1 1
+LightIntensity 1
+AffectCaustics 1
+LightType 0
+LensFlare 0
+FlareIntensity 0.5
+FlareDissolve 0
+LensFlareFade 4
+LensFlareOptions 11
+FlareRingColor 0.3137 0.0784 0.0392
+FlareRingSize 0.22
+FlareRandStreakInt 0.03
+FlareRandStreakDens 50
+FlareRandStreakSharp 6
+ShadowType 1
+ShadowColor 0 0 0
+Plugin LightHandler 1 DistantLight
+EndPlugin
+
+AddCamera 30000000
+CameraName Camera
+ShowCamera 1 -1 0.125490 0.878431 0.125490
+CameraMotion
+NumChannels 6
+Channel 0
+{ Envelope
+ 1
+ Key -0.10000002384185791 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 1
+{ Envelope
+ 1
+ Key 0.94999998807907104 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 1
+ Key -6.384000301361084 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+ZoomFactor 3.2
+ZoomType 1
+ResolutionMultiplier 1.0
+FrameSize 640 480
+PixelAspect 1
+MaskPosition 0 0 640 480
+MotionBlur 0
+MotionBlurPasses 1
+ShutterEfficiency 1
+Oversampling 0
+FieldRendering 0
+ApertureHeight 0.015
+DepthOfField 0
+FocalDistance 1
+LensFStop 4
+DiaphragmSides 0
+DiaphragmRotation 0
+AASamples 1
+Sampler 1
+UseGlobalResolution 0
+UseGlobalMask 0
+UseGlobalBlur 0
+Plugin CameraHandler 1 Perspective
+EndPlugin
+
+GlobalFrameSize 640 480
+GlobalMultiplier 1.0
+GlobalFieldRendering 0
+GlobalMotionBlur 0
+GlobalMaskPosition 0 0 640 480
+GlobalFilmHeight 0.015
+GlobalPixelAspect 1
+
+Antialiasing 0
+AntiAliasingLevel -1
+ReconstructionFilter 0
+AdaptiveSampling 0
+
+SolidBackdrop 1
+BackdropColor 0 0 0
+ZenithColor 0 0.1569 0.3137
+SkyColor 0.4706 0.7059 0.9412
+GroundColor 0.1961 0.1569 0.1176
+NadirColor 0.3922 0.3137 0.2353
+FogType 0
+FogMinDistance 0
+FogMaxDistance 1
+FogMinAmount 0
+FogMaxAmount 1
+FogColor 0.5098 0.5098 0.549
+BackdropFog 0
+VolumeClipDiscance 0.1
+DynamicRangeMin 0
+DynamicRangeLimit 1
+DitherIntensity 1
+AnimatedDither 0
+
+RenderMode 2
+RayTraceEffects 0
+DepthBufferAA 0
+RenderLines 1
+RayRecursionLimit 16
+RayPrecision 6
+RayCutoff 0.01
+DataOverlayLabel
+SaveRGB 0
+SaveAlpha 0
+
+ViewConfiguration 0
+DefineView 0
+ViewType 7
+ViewLevel 5
+ViewAimpoint 0 0 0
+ViewRotation -17.2 18 0
+ViewZoomFactor 4
+ViewXRay 0
+ViewMBDofPreview 0
+ViewHeadlight 0
+
+GridNumber 80
+GridSize 1
+CameraViewBG 0
+ShowMotionPath 1
+ShowFogRadius 0
+ShowFogEffect 0
+ShowFieldChart 0
+OverlayColor_fv 0 0 0
+MeshBackgroundGroup 1
+
+CurrentObject 0
+CurrentLight 0
+CurrentCamera 0
+GraphEditorData
+{ GraphEd_Favorites
+}
+{ GE_Expression_Lib
+ 1
+}
+ImageEditorData
+NumberOfClips 0
diff --git a/libs/assimp/test/models/LWS/move_y_pre_ofrep_post_osc.lws b/libs/assimp/test/models/LWS/move_y_pre_ofrep_post_osc.lws
new file mode 100644
index 0000000..65925b3
--- /dev/null
+++ b/libs/assimp/test/models/LWS/move_y_pre_ofrep_post_osc.lws
@@ -0,0 +1,480 @@
+LWSC
+5
+
+RenderRangeType 0
+FirstFrame -240
+LastFrame 240
+FrameStep 1
+RenderRangeObject 0
+RenderRangeArbitrary 1-60
+PreviewFirstFrame -240
+PreviewLastFrame 240
+PreviewFrameStep 1
+CurrentFrame -179
+FramesPerSecond 30
+ChangeScene 0
+
+LoadObjectLayer 1 10000000 simple_cube.lwo
+ChangeObject 0
+ShowObject 7 -1 0.376471 0.878431 0.941176
+Group 0
+ObjectMotion
+NumChannels 9
+Channel 0
+{ Envelope
+ 2
+ Key 0 0 0 0 0 0 0 0 0
+ Key 0 1 0 0 0 0 0 0 0
+ Behaviors 0 3
+}
+Channel 1
+{ Envelope
+ 3
+ Key 0 0 0 0 0 0 0 0 0
+ Key 0 1 0 0 0 0 0.58182278100182028 0.40727594670127421 0
+ Key 0.98909872770309448 1.7 0 0 0 0 0.98870638389995957 0 0
+ Behaviors 4 3
+}
+Channel 2
+{ Envelope
+ 2
+ Key 0 0 0 0 0 0 0 0 0
+ Key 0 1 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 2
+ Key 0 0 0 0 0 0 0 0 0
+ Key 0 1 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 2
+ Key 0 0 0 0 0 0 0 0 0
+ Key 0 1 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 2
+ Key 0 0 0 0 0 0 0 0 0
+ Key 0 1 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 6
+{ Envelope
+ 2
+ Key 1 0 0 0 0 0 0 0 0
+ Key 1 1 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 7
+{ Envelope
+ 2
+ Key 1 0 0 0 0 0 0 0 0
+ Key 1 1 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 8
+{ Envelope
+ 2
+ Key 1 0 0 0 0 0 0 0 0
+ Key 1 1 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+SubPatchLevel 3 3
+APSDisplay
+{ APS
+ Version 1
+ Method 0
+ { VParm
+ { ObjectLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonPixelSize
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 256
+ 0
+ }
+ }
+ }
+ }
+}
+APSRender
+{ APS
+ Version 1
+ Method 0
+ { VParm
+ { ObjectLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonLevel
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 3
+ 0
+ }
+ }
+ }
+ { PolygonPixelSize
+ 0
+ { VariantParameter
+ 3
+ 0
+ { ParameterValue
+ 256
+ 0
+ }
+ }
+ }
+ }
+}
+NodeDisplacement 0
+{ Nodal_Block
+ { Root
+ Location 0 0
+ Zoom 1
+ Disabled 1
+ }
+ Version 1
+ { Nodes
+ Server "Displacement"
+ { Tag
+ RealName "Displacement"
+ Name "Displacement"
+ Coordinates -10 -10
+ Mode 1
+ { Data
+ }
+ Preview ""
+ Comment ""
+ }
+ }
+ { Connections
+ }
+}
+NodeDisplacementOrder 0
+UseObjGI 0
+ObjGIRadiosityRays 64
+ObjGISecondaryBounceRays 16
+ObjGIRadiosityTolerance 0.292893
+ObjGIMinPixelSpacing 4.000000
+ObjGIMaxPixelSpacing 100.000000
+ShadowOptions 7
+
+AmbientColor 1 1 1
+AmbientIntensity 0.05
+DoubleSidedAreaLights 1
+RadiosityType 2
+RadiosityInterpolated 1
+RadiosityTransparency 0
+RadiosityIntensity 1
+RadiosityTolerance 0.2928932
+RadiosityRays 64
+SecondaryBounceRays 16
+RadiosityMinPixelSpacing 4
+RadiosityMaxPixelSpacing 100
+RadiosityMultiplier 1
+RadiosityDirectionalRays 0
+RadiosityUseGradients 0
+RadiosityUseBehindTest 1
+BlurRadiosity 1
+RadiosityFlags 0
+RadiosityCacheModulus 1
+RadiosityCacheFilePath radiosity.cache
+PixelFilterForceMT 0
+
+AddLight 20000000
+LightName Light
+ShowLight 1 -1 0.941176 0.376471 0.941176
+LightMotion
+NumChannels 9
+Channel 0
+{ Envelope
+ 1
+ Key -2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 1
+{ Envelope
+ 1
+ Key 2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 1
+ Key -2 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0.78539813999999997 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0.61086521999999999 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 6
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 7
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 8
+{ Envelope
+ 1
+ Key 1 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+LightColor 1 1 1
+LightIntensity 1
+AffectCaustics 1
+LightType 0
+LensFlare 0
+FlareIntensity 0.5
+FlareDissolve 0
+LensFlareFade 4
+LensFlareOptions 11
+FlareRingColor 0.3137 0.0784 0.0392
+FlareRingSize 0.22
+FlareRandStreakInt 0.03
+FlareRandStreakDens 50
+FlareRandStreakSharp 6
+ShadowType 1
+ShadowColor 0 0 0
+Plugin LightHandler 1 DistantLight
+EndPlugin
+
+AddCamera 30000000
+CameraName Camera
+ShowCamera 1 -1 0.125490 0.878431 0.125490
+CameraMotion
+NumChannels 6
+Channel 0
+{ Envelope
+ 1
+ Key -0.10000002384185791 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 1
+{ Envelope
+ 1
+ Key 0.94999998807907104 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 2
+{ Envelope
+ 1
+ Key -6.384000301361084 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 3
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 4
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+Channel 5
+{ Envelope
+ 1
+ Key 0 0 0 0 0 0 0 0 0
+ Behaviors 1 1
+}
+IKInitCustomFrame 0
+GoalStrength 1
+IKFKBlending 0
+IKSoftMin 0.25
+IKSoftMax 0.75
+CtrlPosItemBlend 1
+CtrlRotItemBlend 1
+CtrlScaleItemBlend 1
+
+PathAlignLookAhead 0.033
+PathAlignMaxLookSteps 10
+PathAlignReliableDist 0.001
+IKInitialState 0
+ZoomFactor 3.2
+ZoomType 1
+ResolutionMultiplier 1.0
+FrameSize 640 480
+PixelAspect 1
+MaskPosition 0 0 640 480
+MotionBlur 0
+MotionBlurPasses 1
+ShutterEfficiency 1
+Oversampling 0
+FieldRendering 0
+ApertureHeight 0.015
+DepthOfField 0
+FocalDistance 1
+LensFStop 4
+DiaphragmSides 0
+DiaphragmRotation 0
+AASamples 1
+Sampler 1
+UseGlobalResolution 0
+UseGlobalMask 0
+UseGlobalBlur 0
+Plugin CameraHandler 1 Perspective
+EndPlugin
+
+GlobalFrameSize 640 480
+GlobalMultiplier 1.0
+GlobalFieldRendering 0
+GlobalMotionBlur 0
+GlobalMaskPosition 0 0 640 480
+GlobalFilmHeight 0.015
+GlobalPixelAspect 1
+
+Antialiasing 0
+AntiAliasingLevel -1
+ReconstructionFilter 0
+AdaptiveSampling 0
+
+SolidBackdrop 1
+BackdropColor 0 0 0
+ZenithColor 0 0.1569 0.3137
+SkyColor 0.4706 0.7059 0.9412
+GroundColor 0.1961 0.1569 0.1176
+NadirColor 0.3922 0.3137 0.2353
+FogType 0
+FogMinDistance 0
+FogMaxDistance 1
+FogMinAmount 0
+FogMaxAmount 1
+FogColor 0.5098 0.5098 0.549
+BackdropFog 0
+VolumeClipDiscance 0.1
+DynamicRangeMin 0
+DynamicRangeLimit 1
+DitherIntensity 1
+AnimatedDither 0
+
+RenderMode 2
+RayTraceEffects 0
+DepthBufferAA 0
+RenderLines 1
+RayRecursionLimit 16
+RayPrecision 6
+RayCutoff 0.01
+DataOverlayLabel
+SaveRGB 0
+SaveAlpha 0
+
+ViewConfiguration 0
+DefineView 0
+ViewType 7
+ViewLevel 5
+ViewAimpoint 0 0 0
+ViewRotation -17.2 18 0
+ViewZoomFactor 4
+ViewXRay 0
+ViewMBDofPreview 0
+ViewHeadlight 0
+
+GridNumber 80
+GridSize 1
+CameraViewBG 0
+ShowMotionPath 1
+ShowFogRadius 0
+ShowFogEffect 0
+ShowFieldChart 0
+OverlayColor_fv 0 0 0
+MeshBackgroundGroup 1
+
+CurrentObject 0
+CurrentLight 0
+CurrentCamera 0
+GraphEditorData
+{ GraphEd_Favorites
+}
+{ GE_Expression_Lib
+ 1
+}
+ImageEditorData
+NumberOfClips 0
diff --git a/libs/assimp/test/models/LWS/simple_cube.lwo b/libs/assimp/test/models/LWS/simple_cube.lwo
new file mode 100644
index 0000000..aac4949
--- /dev/null
+++ b/libs/assimp/test/models/LWS/simple_cube.lwo
Binary files differ