| 
					
				 | 
			
			
				@@ -536,12 +536,15 @@ void *tnsget_TnsMain(void *unused,void *unused2){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return T; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void *tnsget_World(void *unused,void *unused2){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return &T->World; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return T->World; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void *tnsread_World(void *unused, void *inst){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+void tnsset_InstancerDefaultInstance(tnsInstancer *o, tnsObject* value){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    o->DefaultInstance=value; tnsInvalidateEvaluation(o); laNotifyUsers("tns.world"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void *tnsget_detached_FirstRootObject(void *UNUSED1, void *UNUSED2){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return T->World.RootObjects.pFirst; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return T->World->RootObjects.pFirst; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void *tnsget_detached_FirstTexture(void *UNUSED1, void *UNUSED2){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return T->Textures.pFirst; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1332,38 +1335,18 @@ void la_RegisterInternalProps(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             laAddIntProperty(p, "state", "State", "The Ui's Internal State", 0,0,0,0,0,1, 0,0,offsetof(laUiItem, State), 0,0,0,0,0,0,0,0,0,0,LA_READ_ONLY); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             laAddIntProperty(p, "column_layout", "Column Layout", "The Ui's Column Layout", 0,0,0,10,-10,1, 0,0,offsetof(laUiItem, SymbolID), 0,0,0,0,0,0,0,0,0,0,0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 ->ElementBytes = sizeof(short); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //ep = laAddEnumProperty(p, "type", "Type", "The Type Of This Ui Item", 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,LA_UDF_IGNORE);{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //    laAddEnumItemAs(ep, "button", "Button", "Button (Pure Operator)", LA_UI_INTERNAL_BUTTON, U'🔨'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //    laAddEnumItemAs(ep, "property_watcher", "Property Watcher", "Property Watcher For Int/Float/Enum", LA_UI_INTERNAL_WATCHER, U'🔑'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //    laAddEnumItemAs(ep, "group", "Group", "A Group That Holds A Sub-UiList", LA_UI_INTERNAL_GROUP, U'📁'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //    laAddEnumItemAs(ep, "tab", "Tab", "A Tab Root That Holds Multiple Sub-UiList", LA_UI_INTERNAL_TAB, U'📑'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //    laAddEnumItemAs(ep, "label", "Label", "A Static Label", LA_UI_INTERNAL_LABEL, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //    laAddEnumItemAs(ep, "3d_view", "3D View", "Integrated 3D View UI Item", LA_UI_INTERNAL_3D_VIEW, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //    laAddEnumItemAs(ep, "2d_view", "2D View", "Integrated 2D View UI Item", LA_UI_INTERNAL_2D_VIEW, U'🖻'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //    laAddEnumItemAs(ep, "column_adjuster", "Column Adjuster", "To Adjust Column Width", LA_UI_INTERNAL_ADJUSTER, U'↔'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //    laAddEnumItemAs(ep, "bracket_begin", "Bracket Begin", "Bracket Beginner Used To Set Ui Conditions", LA_UI_INTERNAL_BRACKET_BEGIN, '{'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //    laAddEnumItemAs(ep, "bracket_else", "Bracket Else", "Bracket Else Block Beginner", LA_UI_INTERNAL_BRACKET_ELSE, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //    laAddEnumItemAs(ep, "folder_begin", "Folder Begin", "Folder Beginner Used To Toggle Some Display", LA_UI_INTERNAL_FOLDER_BEGIN, '{'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //    laAddEnumItemAs(ep, "bracket_end", "Bracket End", "Bracket Closer", LA_UI_INTERNAL_BRACKET_END, '}'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //    laAddEnumItemAs(ep, "aligner", "Aligner", "Align Column Heights", LA_UI_INTERNAL_ALIGNER, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //    laAddEnumItemAs(ep, "menu", "Menu", "Menu Activiator", LA_UI_INTERNAL_MENU, U'🗩'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             laAddStringProperty(p, "path", "Path", "Data Path", 0,0,0,0,0,0,0,laget_UiDataPath, 0,laread_UiDataPath,LA_READ_ONLY); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             laAddStringProperty(p, "actuator_id", "Operator ID", "Pure Operator With No 'This' Pointer", 0,0,0,0,0,0,0,laget_UiOperatorID, 0,laread_UiOperatorID,LA_READ_ONLY); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             laAddSubGroup(p, "pp", "Prop Pack", "Property Package In ui->PP Entry", "property_package",0,0,0,offsetof(laUiItem, PP), 0,0,0,0,0,0,0,LA_UDF_REFER); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             laAddSubGroup(p, "extra_pp", "Extra Prop Pack", "Property Package In ui->ExtraPP Entry", "property_package",0,0,0,offsetof(laUiItem, ExtraPP), 0,0,0,0,0,0,0,LA_UDF_REFER); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             laAddSubGroup(p, "go", "Prop Step Go", "Go Entry (For Determin If This Is A Prop Or Not)", "property_step",0,0,0,offsetof(laUiItem, PP.Go), 0,0,0,0,0,0,0,LA_UDF_REFER | LA_UDF_IGNORE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             laAddSubGroup(p, "raw_this", "Prop Raw This", "ui->PP.RawThis Entry", "property_package",0,0,0,offsetof(laUiItem, PP.RawThis), 0,0,0,0,0,0,0,LA_UDF_REFER); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //ep = laAddSubGroup(p, "Ui Template", "A Template Used To Create Sub Ui", "ui_template",0,LA_WIDGET_COLLECTION_SELECTOR, 0,offsetof(laUiItem, Template), laget_PanelTemplate, 0,laget_ListNext, 0,0,0,0,0,0,LA_UDF_REFER); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //laSubGroupDetachable(ep, laget_UiTemplate, laget_ListNext); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             laAddSubGroup(p, "current_page", "Current Page", "Current Page In Sub Ui List", "ui_list",0,0,0,offsetof(laUiItem, Page), 0,0,0,0,0,0,0,LA_UDF_REFER); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             laAddSubGroup(p, "internal_type", "Ui Internal Type", "Ui Internal Type", "ui_type",0,0,0,offsetof(laUiItem, Type), 0,0,0,0,0,0,0,LA_UDF_REFER); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             laAddSubGroup(p, "on_column", "On Column", "Ui On Which Column", "ui_column",0,0,0,offsetof(laUiItem, C), 0,0,0,0,0,0,0,LA_UDF_REFER); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             laAddSubGroup(p, "sub", "Sub UI", "Sub Ui Lists For Tabs And Collection", "ui_list",0,0,0,-1, 0,0,0,0,0,0,offsetof(laUiItem, Subs), 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             laAddStringProperty(p, "extra_args", "Extra Arguments", "Extra Arguments For This Ui Item", 0,0,0,0,0,0,0,0,0,0,0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             laAddStringProperty(p, "display", "Display", "Display String For Label", 0,0,0,0,0,0,0,0,0,0,0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //laAddSubGroup(p, "Condition Ui Extra Data", "Condition Ui Extra Data For Linkage And Conditioning", "ui_condition_extra_data",0,0,0,offsetof(laUiItem, Extra), laget_ConditionerExtra, 0,0,0,0,0,0,0,0,0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //laAddSubGroup(p, "2d_extra", "2D View Extra Data", "2D View Ui States And Modes Storage", 0,0,0,0,offsetof(laUiItem, Extra), laget_CanvasExtra, 0,0,0,0,0,0,0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             laAddOperatorProperty(p, "maximize", "Maximize", "Maximize this UI item", "LA_canvas_ui_maximize", 0,0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1501,7 +1484,7 @@ void la_RegisterInternalProps(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // TNS WORLD ============================================================================================ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     p = laAddPropertyContainer("tns_main", "TNS Main", "Render Kernel Root Structure", 0,0,sizeof(tnsMain), 0,0,2);{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        laAddSubGroup(p, "world", "World", "World Descriptor", "tns_world",0,0,0,offsetof(tnsMain, World), 0,0,0,0,0,0,0,LA_UDF_SINGLE | LA_UDF_LOCAL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        laAddSubGroup(p, "world", "World", "World Descriptor", "tns_world",0,0,0,offsetof(tnsMain, World), 0,0,0,0,0,0,0,LA_UDF_SINGLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         sp = laAddSubGroup(p, "texture_list", "Texture List", "List Of All Textures Under TNS Management", "tns_texture",0,0,0,-1, 0,tnsget_PreviewTexture, 0,0,0,tnsset_PreviewTexture, offsetof(tnsMain, Textures), LA_UDF_IGNORE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         laSubGroupDetachable(sp, tnsget_detached_FirstTexture, laget_ListNext); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1530,10 +1513,11 @@ void la_RegisterInternalProps(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         p->Template2D = la_GetCanvasTemplate(0,"la_CanvasDrawTexture"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    p = laAddPropertyContainer("tns_world", "World", "3D World Structure", 0,0,sizeof(tnsWorld), 0,0,2|LA_PROP_OTHER_ALLOC);{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    p = laAddPropertyContainer("tns_world", "World", "3D World Structure", 0,0,sizeof(tnsWorld), 0,0,1);{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         sp = laAddSubGroup(p, "root_objects", "Root Objects", "List of all root objects", "tns_object",0,0,0,-1,0,0,0,0,0,0,offsetof(tnsWorld, RootObjects), 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         laSubGroupDetachable(sp, tnsget_detached_FirstRootObject, laget_ListNext); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        sp = laAddSubGroup(p, "objects", "Objects", "List of all objects", "tns_object",tnsget_ObjectType, 0,0,-1, 0,0,0,0,0,0,offsetof(tnsWorld, AllObjects), 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        laAddSubGroup(p, "active_root", "Active Root Object", "Global active root object", "tns_object",0,0,0,offsetof(tnsWorld,ActiveRoot),tnsget_detached_FirstRootObject,0,laget_ListNext,0,0,0,0,LA_UDF_REFER); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sp = laAddSubGroup(p, "objects", "Objects", "List of all objects", "tns_object",tnsget_ObjectType, 0,0,-1,0,0,0,0,0,0,offsetof(tnsWorld, AllObjects), 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     p = laAddPropertyContainer("tns_child_object", "Child Object", "Child object linker", 0,0,sizeof(laListItemPointer), 0,0,0);{ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1590,8 +1574,8 @@ void la_RegisterInternalProps(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         TNS_PC_OBJECT_INSTANCER=p; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         laAddStringProperty(p, "name", "Object Name", "The Name Of The Object", 0,0,0,0,1, offsetof(tnsObject, Name), 0,0,0,0,LA_AS_IDENTIFIER); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         laAddSubGroup(p, "base", "Base", "Object base", "tns_object",0,0,0,0,0,0,0,0,0,0,0,LA_UDF_LOCAL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        laAddSubGroup(p, "default_instance", "Instance", "Default instance to be used during editing", "tns_object",0,0,0,offsetof(tnsInstancer, DefaultInstance), 0,0,0,0,0,0,0,LA_UDF_REFER); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        laAddSubGroup(p, "runtime_instance", "Runtime Instance", "Runtime instance, not saved", "tns_object",0,0,0,offsetof(tnsInstancer, RuntimeInstance), 0,0,0,0,0,0,0,LA_UDF_REFER|LA_UDF_IGNORE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        laAddSubGroup(p, "default_instance", "Instance", "Default instance to be used during editing", "tns_object",0,0,0,offsetof(tnsInstancer, DefaultInstance),tnsget_detached_FirstRootObject,0,laget_ListNext,tnsset_InstancerDefaultInstance,0,0,0,LA_UDF_REFER); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        laAddSubGroup(p, "runtime_instance", "Runtime Instance", "Runtime instance, not saved", "tns_object",0,0,0,offsetof(tnsInstancer, RuntimeInstance),0,0,0,0,0,0,0,LA_UDF_REFER|LA_UDF_IGNORE|LA_READ_ONLY); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     p = laAddPropertyContainer("tns_mesh_object", "Mesh Object", "Mesh object", 0,tnsui_MeshObjectProperties,sizeof(tnsMeshObject), tnspost_Object, 0,2);{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         laPropContainerExtraFunctions(p,0,0,tnstouched_Object,0/*tnspropagate_Object*/,0); 
			 |