Index: /trunk/nv/interface/data_channel.hh
===================================================================
--- /trunk/nv/interface/data_channel.hh	(revision 531)
+++ /trunk/nv/interface/data_channel.hh	(revision 532)
@@ -151,5 +151,5 @@
 		}
 
-		size_t get_channel_size( slot s ) const
+		uint32 get_channel_size( slot s ) const
 		{
 			const raw_data_channel* channel = get_channel( s );
@@ -157,5 +157,5 @@
 		}
 
-		size_t get_channel_size( size_t channel ) const
+		uint32 get_channel_size( uint32 channel ) const
 		{
 			if ( m_size > channel ) return m_channels[channel].size();
@@ -164,5 +164,5 @@
 
  		template < typename Struct >
-		size_t get_channel_size() const
+		uint32 get_channel_size() const
 		{
 			data_descriptor compare;
Index: /trunk/nv/interface/interpolation_raw.hh
===================================================================
--- /trunk/nv/interface/interpolation_raw.hh	(revision 531)
+++ /trunk/nv/interface/interpolation_raw.hh	(revision 532)
@@ -1,3 +1,3 @@
-// Copyright (C) 2015 ChaosForge Ltd
+// Copyright (C) 2015-2017 ChaosForge Ltd
 // http://chaosforge.org/
 //
Index: /trunk/nv/stl/container/hash_table.hh
===================================================================
--- /trunk/nv/stl/container/hash_table.hh	(revision 531)
+++ /trunk/nv/stl/container/hash_table.hh	(revision 532)
@@ -1,3 +1,3 @@
-// Copyright (C) 2015 ChaosForge Ltd
+// Copyright (C) 2015-2017 ChaosForge Ltd
 // http://chaosforge.org/
 //
@@ -301,5 +301,5 @@
 		bool rehash_check( size_type new_elements )
 		{
-			uint32 new_buckets = RehashPolicy::is_rehash_required( m_bucket_count, m_element_count + new_elements, m_max_load_factor );
+			size_t new_buckets = RehashPolicy::is_rehash_required( m_bucket_count, m_element_count + new_elements, m_max_load_factor );
 			if ( new_buckets )
 			{
Index: /trunk/nv/stl/math.hh
===================================================================
--- /trunk/nv/stl/math.hh	(revision 531)
+++ /trunk/nv/stl/math.hh	(revision 532)
@@ -1,3 +1,3 @@
-// Copyright (C) 2012-2015 ChaosForge Ltd
+// Copyright (C) 2012-2017 ChaosForge Ltd
 // http://chaosforge.org/
 //
@@ -96,7 +96,7 @@
 	struct datatype_info
 	{
-		size_t   size;
+		uint32   size;
 		datatype base;
-		size_t   elements;
+		uint32   elements;
 	};
 
Index: /trunk/src/engine/particle_engine.cc
===================================================================
--- /trunk/src/engine/particle_engine.cc	(revision 531)
+++ /trunk/src/engine/particle_engine.cc	(revision 532)
@@ -196,5 +196,5 @@
 	datap->plane_normal = normalize_safe( datap->plane_normal, vec3(0.0f,1.0f,0.0f) );
 	datap->bounce       = table->get<float>("bounce", 0.0f );
-	datap->distance     = -math::dot( datap->plane_normal, datap->plane_point ) / sqrt( math::dot( datap->plane_normal, datap->plane_normal ) );
+	datap->distance     = -math::dot( datap->plane_normal, datap->plane_point ) / math::sqrt( math::dot( datap->plane_normal, datap->plane_normal ) );
 	return true;
 }
Index: /trunk/src/gfx/mesh_creator.cc
===================================================================
--- /trunk/src/gfx/mesh_creator.cc	(revision 531)
+++ /trunk/src/gfx/mesh_creator.cc	(revision 532)
@@ -25,6 +25,6 @@
 				&& old_keys->get_channel(0)->descriptor()[0].etype == TRANSFORM ) continue;
 
-			size_t max_keys = 0;
-			for ( size_t c = 0; c < chan_count; ++c )
+			uint32 max_keys = 0;
+			for ( uint32 c = 0; c < chan_count; ++c )
 			{
 				max_keys = nv::max( max_keys, old_keys->get_channel(c)->size() );
@@ -45,5 +45,5 @@
 				for ( uint16 c = 0; c < chan_count; ++c )
 				{
-					size_t idx = nv::min( old_keys->get_channel_size(c) - 1, n );
+					uint32 idx = nv::min( old_keys->get_channel_size(c) - 1, n );
 					pkey += raw_channel_interpolator::get_raw( *old_keys->get_channel(c), idx, pkey );
 				}
@@ -66,9 +66,9 @@
 	for ( auto node : m_data->m_data )
 	{
-		for ( size_t c = 0; c < node->size(); ++c )
+		for ( uint32 c = 0; c < node->size(); ++c )
 		{
 			raw_data_channel_access channel( node, c );
-			size_t key_size = channel.element_size();
-			for ( size_t n = 0; n < channel.size(); ++n )
+			uint32 key_size = channel.element_size();
+			for ( uint32 n = 0; n < channel.size(); ++n )
 			{
 				transform_key_raw( node->get_channel( c )->descriptor(), channel.raw_data() + n * key_size, scale, r33, ri33 );
@@ -568,8 +568,8 @@
 	int och_ti = other->get_channel_index( slot::TEXCOORD );
 	if ( ch_pi == -1 || ch_ti == -1 ) return;
-	size_t size   = m_data->get_channel_size( unsigned(ch_ti) );
-	size_t osize  =  other->get_channel_size( unsigned(och_ti) );
-	size_t count  = m_data->get_channel_size( unsigned(ch_pi) );
-	size_t ocount =  other->get_channel_size( unsigned(och_pi) );
+	uint32 size   = m_data->get_channel_size( unsigned(ch_ti) );
+	uint32 osize  =  other->get_channel_size( unsigned(och_ti) );
+	uint32 count  = m_data->get_channel_size( unsigned(ch_pi) );
+	uint32 ocount =  other->get_channel_size( unsigned(och_pi) );
 	if ( count % size != 0 || ocount % osize != 0 ) return;
 	if ( count / size != ocount / osize ) return;
@@ -583,5 +583,5 @@
 		data_descriptor old_desc = old->descriptor();
 		bool old_is_index = old_size > 0 && old_desc[0].vslot == slot::INDEX;
-		size_t frame_count = ( old_is_index ? 1 : old_size / size );
+		uint32 frame_count = ( old_is_index ? 1 : old_size / size );
 		data.set_channel( c, append_channels( *old, *other->get_channel(c), frame_count ) );
 		if ( old_is_index )
