|  | @@ -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);
 |