Commits

Michael Ludwig committed cb44af1

Update README and tweak names within POMs

Comments (0)

Files changed (3)

 Entreri is a data-oriented entity-component framework designed for high 
 performance applications and games. It scales well to tens of thousands of 
 instances, in both memory and performance, and fits data models that require 
-many similar objects of the same type, objects with composable types at runtime
+many similar objects of the same type, objects needing runtime aspects
 , and combinations thereof.
 
-Using annotations and minor limitations to type definitions, component data
-is packed into primitive arrays to improve cache locality. Fly-weight instances
-are then used to access the packed data.
+Using annotation processing over component interfaces, the underlying
+is packed into primitive arrays to improve cache locality. Fly-weight proxy instances
+are then used to access the packed data. Other advanced features include runtime
+decoration of components with new data, and a multi-threading oriented task
+API to process the entity system.
 
 Java's garbage collection can move objects around, hurting locality when using 
 Object arrays or collections. By using primitive arrays or buffers storing
 managed data in blocks, all of your game data will be automatically stored in a
 cache friendly, and iteration friendly manner.
 
-In addition, this requires less memory per instance because the actual
-component data is stored in packed structures, avoiding the Java Object model
-overhead normally associated with complex classes.
-
 In off-the-cuff performance tests, garbage collection in other entity-component
 frameworks could cause performance to slow down by a factor of 2 to 4, while 
 Entreri remained consistently fast (pre-GC performances near identical).
     <dependency>
       <groupId>com.lhkbob.entreri</groupId>
       <artifactId>entreri</artifactId>
-      <version>1.6.0</version>
+      <version>1.7.0</version>
     </dependency>
     
 [Maven]: http://maven.apache.org
 
 ## Release Notes
 
+### 1.7.0
+* Drastically simplify `Component` definition by using interfaces, APT, and Janino.
+* Remove `IndexedDataStore` to consolidate property package.
+* Make `Component`, `Entity` and `EntitySystem` interfaces and hide their implementations
+  in an impl package.
+* Remove `ComponentData`. Types now extend `Component` directly as sub-interfaces. The
+  onSet() method has also been removed, but the same functionality can be used with the
+  `@SharedInstance` annotation.
+* Component definitions are now either generated at build time using an annotation
+  processor, or at runtime using Janino if an existing class can't be located.
+* Restructure Maven modules to support integration tests.
+
 ### 1.6.1
 * Remove `Entity.getIfModified()` method because its semantics were vague and unhelpful.
 * Make version numbers unique within a component type.

entreri-core/pom.xml

     <artifactId>entreri-core</artifactId>
     <packaging>jar</packaging>
 
-    <name>Entreri Core Library</name>
+    <name>Entreri Entity-Component Framework</name>
+    <description>Entreri is an entity-component framework for Java that helps manage or
+        remove complex OO hierarchies that often form when developing games. For a useful
+        description of an entity-component framework, see
+        http://t-machine.org/index.php/2007/09/03/entity-systems-are-the-future-of-mmog-development-part-1/
+    </description>
 
     <parent>
         <groupId>com.lhkbob.entreri</groupId>
     <packaging>pom</packaging>
     <version>1.7.0-SNAPSHOT</version>
 
-    <name>Entreri Entity-Component Framework</name>
-    <description>Entreri is an entity-component framework for Java that helps manage or
-        remove complex OO hierarchies that often form when developing games. For a useful
-        description of an entity-component framework, see
-        http://t-machine.org/index.php/2007/09/03/entity-systems-are-the-future-of-mmog-development-part-1/
-    </description>
+    <name>Parent for Entreri and tests</name>
     <url>http://entreri.lhkbob.com</url>
 
     <parent>