Updated: Radial menu by using trapezoidal polygons instead of 2D lines/circles/rectangles
Updated: Drawing text with center origin option
Updated: Text drawing state has dedicated methods for different things
Improved: readability of DrawRelateIntersection
Renamed: `SetTextEdge` to `SetTextStart`
Added: Admin control options
Added: All database enters
Added: All items from `Trackmania United Props`
Added: Amount of curve interpolation samples define by the server `curvsmple`
Added: Catmull–Rom cure track interpolation working mode
Added: Circle line interaction and check
Added: Click function into the node created
Added: Constrain information generation
Added: Constraints information generator for flip over
Added: Curve calculation and spawning as a task routine
Added: Curve calculator caller that handles data between `GetCatmullRomCurve` and player cache
Added: Curve node update
Added: Curve parameterization for track active point origin
Added: Curve segment turning factor calculator
Added: Curve sharpness requirement control ( `0` to disable )
Added: Dedicated borders and default values to tweak convars
Added: Dedicated condition for flip over mode `GetFlipOverFlag`
Added: Dedicated container for convar callbacks
Added: Dedicated curve ends margin
Added: Dedicated curve snap origins storage
Added: Dedicated curving check and transform
Added: Dedicated curving piece information `POS`, `ANG`, `UCS`
Added: Dedicated model to name conversion beautifier: `GetBeautifyName`
Added: Dedicated tool method color manager
Added: Dedicated user and admin preferences configuration
Added: Dedicated workshop ID storage invoked from the track tree opens addon page
Added: Drawing the location of active point to retrieve the normal vector from
Added: Equal OOB transform calculation
Added: Excessive lean limit
Added: Export gen align errors
Added: Flag for ghosting recalculation request
Added: Flip over-snapping mode as parameterization only ( no logic )
Added: Flipping over relative to the model intersection (holder model = trace model)
Added: Iteration format
Added: Left click queue busy. Spawn information is overwritten!
Added: More track mania segments
Added: Node creation form track active point ( not moved with the track )
Added: Origin initialization in curve calculation request
Added: Perspective for the first and last curve node
Added: Perspective to draw POA
Added: Player can use SHIFT + Right click to preform standard ops in WM 4 ( OVER )
Added: Proper drawing for curve fitting based on net messages
Added: Proper scaling for distant positions circles drawing
Added: Queue track spawn multiple progress (#22)
Added: STMT caching for drop/delete SQL table
Added: Second networked condition to flip over entities being variable name
Added: Segment length is calculated in the curve calculation request
Added: Segment snapping is calculated in the curve calculation request
Added: Segment spawn data factorization
Added: Shift + Click expands/collapses all child nodes
Added: Snapping emptying in curve calculation request
Added: Stack limit for the curving via stack count
Added: TA constraint identifier
Added: Total curve snapping information via progress `stData.SKept`
Added: Track mania united track props single straight piece for DEV
Added: Translation and explanations for type and category items in the panel
Added: Translation for the third working mode [3] CURVE
Added: Translations for the menu panel
Added: Utilized `DrawNextPoint` two times
Added: VECTOR and ANGLE CHECK
Added: Wire API create piece done with color vector and separate alpha
Added: Working mode flip-over spawn/snap ( also to trace not hitting active point )
Added: `GetFlipOverOrigin` now returns third argument active point
Adjusted code base for curve fitting working mode
Adjusted drop-down menus icons
Adjusted: perspective radius limits
Changed: Color of the non placed yet node distance to yellow
Changed: Color updated to the asm library
Changed: Getflip over entity/array output is now controlled with flag
Changed: Right click copies the name and shif+right the model
Changed: Use vector copy constrictor instead of `Vector():Set()`
Changed: `GetFlipOverArray` automatically converts all IDs to numbers
Changed: `GetFlipOverEntity` and GetFlipOverArray now return table and length
Consolidated curving `MUTE` mode and ghost calculation request
Disabled: Ghosting for work-mode 3 `CURVE`
Fixed: Active radius resized circles with proper perspective
Fixed: Body group in Russian and Bulgarian looking weird
Fixed: Change the naming of some controls
Fixed: Constraint mirroring in flip over mode
Fixed: Control panel size starts at 1 and registers one element more
Fixed: Convar borders are stored in the border table but not in the convar object
Fixed: Convar borders have values on client and server
Fixed: Count is showing
Fixed: Curve calculation request wipes out the snap information array
Fixed: Curve calculator `GetCatmullRomCurve` always empties the output table
Fixed: Curve interpolation tangent generating NaN vectors
Fixed: Curve not changing when control point is updated
Fixed: Curve snapping is now done segment by segment
Fixed: Curving failing die to having duplicated nodes
Fixed: Drawing lines in segmented mode does not draw the rest of the line
Fixed: Drawing parameters not being bound to the drawing method
Fixed: Drawing the active point when shift is pressed to select local normal
Fixed: Emptying the curve snap list two times
Fixed: Error messages in red when empty string is passes to asmlib convars
Fixed: Fading ghosts models not being reset when mismatch is found
Fixed: Flip over mode with proper player notification messages
Fixed: Ghosted props not faded when snap is being recalculated and spawn is not present
Fixed: Ghosting depth one when stack count is set to zero
Fixed: Ghosting depths not being scenario based
Fixed: Internal `LUA` cache handling for tables when file is reloaded
Fixed: Items without define category being scattered across the tree
Fixed: Iterator index name for drawing lines in segmented mode uses position
Fixed: Log reports doubling errors in the main queue routine
Fixed: Logging if curve segment ID mismatch displayed as `nil`
Fixed: Modular canals addon page not opening
Fixed: Panel node unable to copy model
Fixed: Phys-gun draw circles perspective
Fixed: Phys-gun draw coordinate system missing player
Fixed: Player is able to spawn a piece even if the stack queue is busy
Fixed: Point on a line check
Fixed: Progress bar for spawning multiple
Fixed: Proper dimension check when circle radius to ray origin is close t zero
Fixed: Relay assist no drawing POA coordinate system
Fixed: Remove irrelevant data to prevent user creating curves with no nodes
Fixed: Returning temporary vector from `GetEntityHitID` gives no information
Fixed: Run-time concatenation errors
Fixed: Screens table missing
Fixed: Segfault trigger in the pieces manager
Fixed: Server busy for the given player is dedicated to the tool mode
Fixed: Snap-curving parameters in the sane manner
Fixed: Some Shinji rails not being classified
Fixed: Some control panel convar limits
Fixed: Some ghosts keep being drawn after stack count is adjusted
Fixed: Some parameter checks are missing in curving mode
Fixed: Some readme typos
Fixed: Some runtime errors in some rare cases
Fixed: Some variables not being reset by the factory reset
Fixed: Spawn data is overridden with the next left click after stacking
Fixed: Spawn rate translation cache
Fixed: Task queue is created/executed only on the server
Fixed: Task queue is executed eve if the player switches to another tool
Fixed: Toolgun grab will no longer draw adviser on a physgun-disabled entity
Fixed: Total nodes and last node clear ID not shown
Fixed: Track curve snap information not being sequential for using `iD` instead of `SSize`
Fixed: Track segments are not being contained
Fixed: Unable to spawn/snap one piece when stack count is set to zero
Fixed: Undo list is properly created and not disturbed by other tools
Fixed: Update curve active point elevation being applied on node
Fixed: User can click also on the category/type node label to expand it
Fixed: Users/Clients accessing max stack attempts and export database control in multiplayer
Fixed: Working mode reader sometimes slows down the tool
Fixed: Wrap turning factor in square brackets two times
Fixed: Wrong entity in the logs for phys properties
Fixed: `GetCurveSnap` may get called more than once for the current segment
Fixed: `IsPlayer` and `IsOther` do not return accurate results for non-entities
Fixed: missing concatenation on error
Improved: Accuracy of SW minitrain tracks
Increased: the value of `maxstatts`
Moved: Client related operation variables to client #ifdef
Moved: Ghosting depth count to user preferences
Moved: Node creating algorithm to the ASM library
Moved: Panel refresh configuration in the initialization
Moved: Registering tool reference in the CLIENT #ifdef
Optimize drawing a rectangle and progress bar
Optimized: Player view radius
Optimized: Retrieving transformation for flip-over mode
Protected: Calling the the vector line and sphere intersection functions from outside
Registered: dedicated font to draw spawn data with `DebugSpawnTA`
Removed: Additional enable radial menu flag
Removed: Beautification and click node function as arguments
Removed: Force request for panel recreation. Use `spawnmenu_reload` instead
Renamed: z_autorun_[standalone].txt to autonomous_[trackassembly].txt
Renamed: `GetCategory` to `Categorize`
Renamed: Functions get/set Directory
Reordered: Ghosting flags and setup enums
Reverted: Use the Z offset when building a curve
Reverted: `GetTransformOBB` as it roll the track relative to OBB
Updated: Ghosting depth for `CURVE`
Updated: Accurate additions log
Updated: Bobster's category calculation
Updated: Call action key with vararg utilization
Updated: Container, screen and queue creators
Updated: Create table procedure
Updated: Curve check now returns second argument track length
Updated: Drawing rectangle with rounded box
Updated: Flip over mode using a dedicated task
Updated: Flip over translation (English)
Updated: Ghost maker time optimization
Updated: Ghosting with shorter variables
Updated: Map bound checker for piece creation
Updated: Maximum stack attempts lower limit to zero ( disable the option )
Updated: Process think spawn queue with better naming convention
Updated: Queue list OOP
Updated: Shinji's track pack
Updated: Stack count can be now zero used on working as `SNAP` and `CURVE` adjusts track spawn limit
Updated: Stack count lower limit to zero ( to be able to disable it for CURVE )
Updated: Stack/snap main task routines
Updated: Switch ALT with SHIFT
Updated: Tool curve control options. Disabled ramp tracks
Updated: Track pack categories name and labels ar now handles by the panel itself
Updated: Turing factor calculator no returns turn and lean
Updated: Undo name is changer according to the curve snap limit given
Updated: Utilized player sport for "RAY_INTERSECT"
Updated: Value borders/limit handlers
Updated: Working as `CURVE` and stack count greater than zero sets the track spawn limit
Updated: Working as `CURVE` and stack count zero disables the track spawn limit
Updated: Working as `SNAP` and stack count zero disables the stacking ( as expected )
Updated: Working node variable names
Updated: Flip over origin calculator returning vararg
Utilize: The derma control color skins rather than the hard coded palette container
Utilize: Library function `TOOL:BuildConvarList()`
Utilize: `ErrorNoHalt` in Shinji's external addon
Utilized: Dedicated action call for creating tweak menus
Utilized: GetEntityHitID
Utilized: Gmod spawn menu to extract development DB state
Utilized: Panel DB extractor in the pieces manager
Utilized: `GetNearest` library function to find the closest distance hit
Fixed: Apply a standard file naming convention format to DSV and autorun exports
Fixed: Query builder method `GetArrayRow` assigning wrong IDs to table columns
Fixed: Translation phrase manager `GetPhrase` being called on the server
Fixed: Internal data export matching in `ExportPiecesAR` passing wrong argument
Fixed: Exporting a type to autorun script missing the last line if no `LF` is provided
Fixed: Exported autorun entries not working due to wrong PIECES path
Fixed: Type autorun exporter now works in `Lua` mode as well
Added: Primitive IsEmpty(TABLE)
Added: GetReport4
Added: Library initialization checker `IsInit` to prevent errors while DEV
Added: Disabling addition pos/ang results on {0,0,0} `MODELBASE` local pos/and
Added: Coding Lua mode for AR extraction and code factorization
Added: Autorun extraction Lua handlers `ExportAR`
Added: Reference to the actual value in sorting
Updated: SQL condition `if(not (qData and qData[1])) then`
Updated: AttachAdditions invalid addition error
Updated: Use the value in variable `KEYQ_BUILDER` as key to store data-related builders
Updated: Table builder `GetColumnInfo` with second argument
Updated: Table creator
Utilized: GetColumnName
Utilized: Local function `ExportPiecesAR` due to `KEYQ_BUILDER` indexed storage
Utilized: Sorted record reference in `CacheQueryPanel`
Utilized: SetAdditionsAR to retrieve the additions data
Converted: Shinji's rails to autorun external DSV
Finalized: Type to outorun exporter procedures
Factorized: Initialization via `GetReport`
Factorized: POA exporting as string via `ExportPOA`
Removed: Source file and export file name definition table from `ProcessDSV`
Renamed: ExportTypeAR
Merge autorun track pack file exporter into master (#19)
Fixed: OPEN_FRAME logs not being displayed properly
Added: Export DB can now export given type as external DSV via `ExportExternalDSV`
Added: Table builder `GetColumnName`, `GetColumnInfo`, `GetArrayRow` ( utilized )
Added: Skip trimming option to `GetStringFile`
Added: VARARGs to `SetAction`
Updated: Take ghosts flag and count calculation outside of the draw loop
Updated: Convar value retrieve is now assigned to local with proper name
Updated: Rely on the game garbage collection when call `ClearGhosts()`
Revered: The names of `0-7_single_lane_x128_phys` and `5_empty_lot`
Added: The ASM init related OpVar-s to the beginning of the initialization file
Updated: StevenTechno building V2.0. Added more models to the category
Optimized: External database manager `OPEN_EXTERNDB` easier for support
Changed: Use `SetAsmConvar` instead of `ConCommand` in the tool source
Fixed: TA convar manipulator now defaults `nil` to empty string `SetAsmConvar`