------------------------------------------------------------------------------
Unit renames from engine 3.0.0 -> 4.0.0:

(Note: This is a complete list of renames, including many internal units
that aren't really useful for normal engine usage.
Your program probably uses only a little fraction of units mentioned below.
In other words, don't be scared by the length of list below :)
Just try to recompile your program and you will see which units you need to rename.
)

ProgressUnit               CastleProgress
CastleProgress             CastleWindowProgress
KeysMouse                  CastleKeysMouse
ConvexHullUnit             CastleConvexHull
RenderingCameraUnit        CastleRenderingCamera
VectorMath                 CastleVectors
Font2PascalUnit            CastleFont2Pascal
Base3D                     Castle3D.pas
Boxes3D                    CastleBoxes
Frustums                   CastleFrustum
Noise                      CastleNoise
Triangulator               CastleTriangulate
NormalsCalculator          CastleNormals
CastleRecentFiles          CastleWindowRecentFiles
RecentFiles                CastleRecentFiles
LCLRecentFiles             CastleLCLRecentFiles
Shaders                    CastleShaders
ALUtils                    CastleALUtils
ArraysGenerator            CastleArraysGenerator
Background                 CastleBackground
Cameras                    CastleCameras
CubeMap                    CastleCubeMaps
Curve                      CastleCurves
DataURI                    CastleDataURI
DDS                        CastleDDS
EFX                        CastleEFX
EnumerateFiles             CastleFindFiles
FileFilters                CastleFileFilters
GenericStructList          CastleGenericLists
GeometryArrays             CastleGeometryArrays
NURBS                      CastleNURBS
OnScreenMenu               CastleOnScreenMenu
OnScreenMenuImages         CastleOnScreenMenuImages
PrecalculatedAnimation     CastlePrecalculatedAnimation
PrecalculatedAnimationCore CastlePrecalculatedAnimationCore
ProgressConsole            CastleProgressConsole
Quaternions                CastleQuaternions
RaysWindow                 CastleRays
RayTracer                  CastleRayTracer
Sectorswaypoints           CastleSectors
ShapeOctree                CastleShapeOctree
SoundFile                  CastleSoundFile
SpaceFillingCurves         CastleSpaceFillingCurves
SphereSampling             CastleSphereSampling
SphericalHarmonics         CastleSphericalHarmonics
TextureImages              CastleTextureImages
TriangleOctree             CastleTriangleOctree
UIControls                 CastleUIControls
Videos                     CastleVideos
VorbisCodec                CastleVorbisCodec
VorbisDecoder              CastleVorbisDecoder
VorbisFile                 CastleVorbisFile
WindowModes                CastleWindowModes
WindowsFonts               CastleWindowsFonts
WinFontConvert             CastleWinFontConvert
XlibUtils                  CastleXlib
GLCubeMap                  CastleGLCubeMaps
GLImages                   CastleGLImages
GLRenderer                 CastleRenderer
GLRendererLights           CastleRendererLights
GLRendererShader           CastleRendererShader
GLRendererTextureEnv       CastleRendererTextureEnv
GLShaders                  CastleGLShaders
GLShadowVolumeRenderer     CastleGLShadowVolumes
GLVersionUnit              CastleGLVersion
Shape                      CastleShapes
Images                     CastleImages
Triangle                   X3DTriangles
  (note: there is also new CastleTriangles unit containing part of previous
  VectorMath.)

------------------------------------------------------------------------------
Explanation of naming convention:

See also naming_engine_3.0.txt, we follow it, except we surrender
in the case of Castle prefix for unit names.

Units:
  Generally, we name all units CastleXxx. (Avoiding this prefix in unit name
  didn't really work Ok in engine 3.0.0, we had too many generically-named units
  that had to be renamed. And having half of the units with Castle prefix, half without
  is not consistent. So rename all.)

  We try to avoid double prefixes, like CastleGLXxx, as they tend to make long complicated names.
  E.g. there was a GLRenderer in engine 3.0.0, in 4.0.0 it's named CastleRenderer,
  not CastleGLRenderer --- we dropped the GL prefix, since we have Castle prefix.

Classes:
  Classes only use TCastle prefix if they are registered on Lazarus component palette,
  or if they really sound overly generic (like TItem, that is now TInventoryItem)
  or conflict with widely used (in common RTL, FCL, LCL) identifiers (like TImage,
  that is now TCastleImage). Generally we avoid adding prefixes to classes
  (or other identifiers), they looked too ugly in engine in 2.x versions.
  Pascal allows to coexist two equal identifiers in different units without problems,
  so let's make use of on it.
