|  | @@ -1622,10 +1622,12 @@ void laui_Materials(laUiList *uil, laPropPack *This, laPropPack *Extra, laColumn
 | 
	
		
			
				|  |  |                  ->Flags|=LA_UI_COLLECTION_SIMPLE_SELECTOR;\
 | 
	
		
			
				|  |  |          }\
 | 
	
		
			
				|  |  |          laShowItem(uil,cr,&rb->PP,"name");\
 | 
	
		
			
				|  |  | -        laShowItemFull(uil,cr,&cp->PP,"use_script",0,"icon=📃",0,0)\
 | 
	
		
			
				|  |  | -            ->Flags|=LA_UI_FLAGS_HIGHLIGHT|LA_UI_FLAGS_CYCLE|LA_UI_FLAGS_ICON;\
 | 
	
		
			
				|  |  | -        laShowSeparator(uil,cr);\
 | 
	
		
			
				|  |  | +        laShowItemFull(uil,cr,&cp->PP,"use_script",0,"icon=📃;text=GLSL",0,0)\
 | 
	
		
			
				|  |  | +            ->Flags|=LA_UI_FLAGS_HIGHLIGHT|LA_UI_FLAGS_CYCLE;\
 | 
	
		
			
				|  |  | +        laShowSeparator(uil,cr)->Expand=1;\
 | 
	
		
			
				|  |  |          laShowItem(uil,cr,&rb->PP,"refresh");\
 | 
	
		
			
				|  |  | +        laShowSeparator(uil,cr);\
 | 
	
		
			
				|  |  | +        laShowItem(uil,cr,&rb->PP,"as_library")->Flags|=LA_UI_FLAGS_HIGHLIGHT|LA_UI_FLAGS_CYCLE;\
 | 
	
		
			
				|  |  |          laEndRow(uil,b);\
 | 
	
		
			
				|  |  |      }laEndCondition(uil,b2);\
 | 
	
		
			
				|  |  |      b2=laOnConditionThat(uil,c,laPropExpression(&rb->PP,"shader_page"));{\
 | 
	
	
		
			
				|  | @@ -1642,6 +1644,7 @@ void laui_Materials(laUiList *uil, laPropPack *This, laPropPack *Extra, laColumn
 | 
	
		
			
				|  |  |          laUiItem* rb=laShowInvisibleItem(uil,cr,Extra,"material");
 | 
	
		
			
				|  |  |          ADD_PAGE(1)
 | 
	
		
			
				|  |  |      }laElse(uil,b1);{
 | 
	
		
			
				|  |  | +        laShowInvisibleItem(uil,cr,0,"tns.world.active_root.active.as_mesh.materials"); // for switching updates.
 | 
	
		
			
				|  |  |          laUiItem* rb=laShowInvisibleItem(uil,cr,0,"tns.world.active_root.active.as_mesh.current_material.material");
 | 
	
		
			
				|  |  |          ADD_PAGE(0)
 | 
	
		
			
				|  |  |      }laEndCondition(uil,b1);
 | 
	
	
		
			
				|  | @@ -1782,20 +1785,24 @@ void tnsui_InstancerObjectProperties(laUiList *uil, laPropPack *This, laPropPack
 | 
	
		
			
				|  |  |      laShowLabel(uil,cl,"Instance",0,0); laShowItemFull(uil,cr,This,"instance",LA_WIDGET_COLLECTION_SELECTOR,0,laui_IdentifierOnly,0);
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  void tnsui_Material(laUiList *uil, laPropPack *This, laPropPack *UNUSED_Extra, laColumn *UNUSED_Colums, int context){
 | 
	
		
			
				|  |  | -    laColumn* c=laFirstColumn(uil),*cl,*cr; laUiItem* b,*b1;
 | 
	
		
			
				|  |  | +    laColumn* c=laFirstColumn(uil),*cl,*cr; laUiItem* b,*b1,*b2;
 | 
	
		
			
				|  |  |      laSplitColumn(uil,c,0.4); cl=laLeftColumn(c,8); cr=laRightColumn(c,0);
 | 
	
		
			
				|  |  |      if(!context){
 | 
	
		
			
				|  |  |          laShowLabel(uil,cl,"Name",0,0); laShowItem(uil,cr,This,"name");
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | -    b=laBeginRow(uil,cl,0,0);
 | 
	
		
			
				|  |  | -    laShowLabel(uil,cl,"Color",0,0)->Expand=1;
 | 
	
		
			
				|  |  | -    b1=laOnConditionThat(uil,cl,laOr(laPropExpression(This,"shader_page.racks"),
 | 
	
		
			
				|  |  | -                                    laPropExpression(This,"shader_page.use_script")));{
 | 
	
		
			
				|  |  | -        laShowLabel(uil,cl,"🎨",0,0);
 | 
	
		
			
				|  |  | -    }laEndCondition(uil,b1);
 | 
	
		
			
				|  |  | -    laEndRow(uil,b);
 | 
	
		
			
				|  |  | -    laShowItemFull(uil,cr,This,"color",LA_WIDGET_FLOAT_COLOR,0,0,0)->Flags|=LA_UI_FLAGS_COLORFUL;
 | 
	
		
			
				|  |  | -    laShowItemFull(uil,cr,This,"colorful",LA_WIDGET_ENUM_HIGHLIGHT,0,0,0);
 | 
	
		
			
				|  |  | +    b2=laOnConditionThat(uil,c,laPropExpression(This,"as_library"));{
 | 
	
		
			
				|  |  | +        laShowLabel(uil,c,"Material is common library.",0,0);
 | 
	
		
			
				|  |  | +    }laElse(uil,b2);{
 | 
	
		
			
				|  |  | +        b=laBeginRow(uil,cl,0,0);
 | 
	
		
			
				|  |  | +        laShowLabel(uil,cl,"Color",0,0)->Expand=1;
 | 
	
		
			
				|  |  | +        b1=laOnConditionThat(uil,cl,laOr(laPropExpression(This,"shader_page.racks"),
 | 
	
		
			
				|  |  | +                                        laPropExpression(This,"shader_page.use_script")));{
 | 
	
		
			
				|  |  | +            laShowLabel(uil,cl,"🎨",0,0);
 | 
	
		
			
				|  |  | +        }laEndCondition(uil,b1);
 | 
	
		
			
				|  |  | +        laEndRow(uil,b);
 | 
	
		
			
				|  |  | +        laShowItemFull(uil,cr,This,"color",LA_WIDGET_FLOAT_COLOR,0,0,0)->Flags|=LA_UI_FLAGS_COLORFUL;
 | 
	
		
			
				|  |  | +        laShowItemFull(uil,cr,This,"colorful",LA_WIDGET_ENUM_HIGHLIGHT,0,0,0);
 | 
	
		
			
				|  |  | +    }laEndCondition(uil,b2);
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  void tnsui_MaterialListItem(laUiList *uil, laPropPack *This, laPropPack *UNUSED_Extra, laColumn *UNUSED_Colums, int context){
 | 
	
		
			
				|  |  |      laColumn* c=laFirstColumn(uil); laUiItem* b,*b1;
 | 
	
	
		
			
				|  | @@ -1809,16 +1816,21 @@ void tnsui_MaterialListItem(laUiList *uil, laPropPack *This, laPropPack *UNUSED_
 | 
	
		
			
				|  |  |      laEndRow(uil,b);
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  void tnsui_MaterialSlot(laUiList *uil, laPropPack *This, laPropPack *UNUSED_Extra, laColumn *UNUSED_Colums, int context){
 | 
	
		
			
				|  |  | -    laColumn* c=laFirstColumn(uil); laUiItem* b,*b1,*b2;
 | 
	
		
			
				|  |  | +    laColumn* c=laFirstColumn(uil); laUiItem* b,*b1,*b2,*b3;
 | 
	
		
			
				|  |  |      b1=laOnConditionThat(uil,c,laPropExpression(This,"material"));{
 | 
	
		
			
				|  |  |          b=laBeginRow(uil,c,0,0);
 | 
	
		
			
				|  |  | -        laShowItemFull(uil,c,This,"material.color",LA_WIDGET_FLOAT_COLOR,0,0,0)
 | 
	
		
			
				|  |  | -            ->Flags|=LA_UI_FLAGS_NO_EVENT|LA_UI_FLAGS_ICON|LA_UI_FLAGS_COLORFUL;
 | 
	
		
			
				|  |  | -        laUiItem* ui=laShowItem(uil,c,This,"material.name"); ui->Flags|=LA_UI_FLAGS_PLAIN; ui->Expand=1;
 | 
	
		
			
				|  |  | -        b2=laOnConditionThat(uil,c,laOr(laPropExpression(This,"material.shader_page.racks"),
 | 
	
		
			
				|  |  | -                                    laPropExpression(This,"material.shader_page.use_script")));{
 | 
	
		
			
				|  |  | -            laShowLabel(uil,c,"🎨",0,0);
 | 
	
		
			
				|  |  | -        }laEndCondition(uil,b2);
 | 
	
		
			
				|  |  | +        b3=laOnConditionThat(uil,c,laPropExpression(This,"material.as_library"));{
 | 
	
		
			
				|  |  | +            laShowLabel(uil,c,"LIB ",0,0)->Flags|=LA_UI_DISABLED;
 | 
	
		
			
				|  |  | +            laShowItem(uil,c,This,"material.name")->Flags|=LA_UI_FLAGS_PLAIN|LA_UI_FLAGS_DISABLED;
 | 
	
		
			
				|  |  | +        }laElse(uil,b3);{
 | 
	
		
			
				|  |  | +            laShowItemFull(uil,c,This,"material.color",LA_WIDGET_FLOAT_COLOR,0,0,0)
 | 
	
		
			
				|  |  | +                ->Flags|=LA_UI_FLAGS_NO_EVENT|LA_UI_FLAGS_ICON|LA_UI_FLAGS_COLORFUL;
 | 
	
		
			
				|  |  | +            laUiItem* ui=laShowItem(uil,c,This,"material.name"); ui->Flags|=LA_UI_FLAGS_PLAIN; ui->Expand=1;
 | 
	
		
			
				|  |  | +            b2=laOnConditionThat(uil,c,laOr(laPropExpression(This,"material.shader_page.racks"),
 | 
	
		
			
				|  |  | +                                        laPropExpression(This,"material.shader_page.use_script")));{
 | 
	
		
			
				|  |  | +                laShowLabel(uil,c,"🎨",0,0);
 | 
	
		
			
				|  |  | +            }laEndCondition(uil,b2);
 | 
	
		
			
				|  |  | +        }laEndCondition(uil,b3);
 | 
	
		
			
				|  |  |          laEndRow(uil,b);
 | 
	
		
			
				|  |  |      }laElse(uil,b1);{
 | 
	
		
			
				|  |  |          laShowItem(uil,c,This,"name")->Flags|=LA_UI_FLAGS_DISABLED;
 |