Commit graph

43 commits

Author SHA1 Message Date
dfdffed745 fix(Rectangle2D): now the collider will treat its position as the center and not a corner much like textures in the renderer 2025-10-20 02:41:33 +02:00
d04c706a94 feat(ecs): limited the creation of archetypes to three unique components to lower the creation to polynomial complexity 2025-07-26 01:13:23 +02:00
0da5200916 feat(ecs): added utility methods 2025-07-25 00:25:56 +02:00
67ac2f90e4 fix(ecs): removed unnecessary clone from Render2D Render trait implementation 2025-07-21 03:09:33 +02:00
88fda5c654 fix(ecs): added safety boundaries to the IdQueue 2025-07-21 03:01:40 +02:00
e1597e6fa4 feat(ecs): added a simple prefab system 2025-07-14 01:54:53 +02:00
fef128f8a7 feat(ecs): added a set_vec function to Position2D and Position3D to simply change the position components with a vector instead of manually needing to change it 2025-07-13 03:18:23 +02:00
ffb4bdf35f feat(renderer2d): Rotation2D now actually has an effect on the rotation of the sprite in the Renderer2D 2025-07-12 00:01:49 +02:00
7760baeab5 fix(ecs): bug concerning adding entities to archetypes that already existed 2025-07-11 11:35:51 +02:00
ff475f1775 fix: changed the input type of the query functions from ComponentSet to Vec<TypeId> 2025-05-07 01:00:08 +02:00
643c5caf0e feat: added a Timer component 2025-05-06 17:09:00 +02:00
d3cf390cd8 feat: added set_size to the Rectangle2D implementation 2025-05-06 00:07:31 +02:00
b619449b13 fix: removed debug print in scene.rs 2025-05-05 14:05:21 +02:00
c1d41323f9 fix: the ecs will now create all the archetypes for any combination of components that entities have on them 2025-05-05 13:27:49 +02:00
7d351ced62 fix: changed second type in the archetype hashmap 2025-05-04 22:43:46 +02:00
6d0e5aef1e fix: removed the error message in get_entities_with in scene.rs 2025-05-01 12:09:30 +02:00
15c71a5285 chore: removed unneeded imports 2025-04-27 22:58:28 +02:00
fd8cf1f278 chore: renamed the structs Vec2, Vec3, Vec4, Mat2, Mat3, Mat4, Point2, Point3 to v2, v3, v4, m2, m3, m4, p2, p3 2025-04-17 00:54:09 +02:00
982323f671 chore: added the chrono crate back to the Cargo.toml of the crates 2025-04-15 20:31:33 +02:00
0296ef19a9 chore: cleaned Cargo.toml for almost every crate 2025-04-12 23:18:00 +02:00
4d4c6aad90 feat: added the Color component to the base components in the ECS 2025-03-21 23:17:16 +01:00
9e16179df3 feat: added Font to get glyphs out of ttf files and make a TextureAtlas with them (right now only latin range of Unicode to not explode the atlas) and started trying to incorporate text rendering in ECS and Renderer2D 2025-03-15 23:17:02 +01:00
81d3b2f714 fix: some color conversions were incorrect 2025-03-13 23:54:19 +01:00
e1906371be feat: added delete_entities_with, foreach and has to the Scene and interface of App 2025-03-12 08:18:24 +01:00
ab73b145b1 fix: changed the name of World to Scene (because the name fits better) 2025-03-11 01:23:33 +01:00
445818b79b feat: finally added a working multi-camera system where the highest priority Camera2D will be used to make the RenderCamera (unfortunately not very efficient because it creates a new RenderCamera every tick, but it works i guess) 2025-03-10 17:48:11 +01:00
4e9e296ba4 fix: completely annihilated matrix and rewrote it with a good orthographic projection matrix finally 2025-03-10 01:39:00 +01:00
4af65ed961 feat: implemented a priority camera system that searches for the Entity with the Camera2D component with the smallest priority 2025-03-08 02:04:50 +01:00
8b439cb0e8 feat: implemented a Camera2D component that works with the Renderer2D
Renders with only one camera (the first by ID) rn but should work
2025-03-07 23:42:12 +01:00
cae678747f fix: finally removed the storage.rsin the comet_ecs 2025-03-05 08:39:57 +01:00
7b6ccbe72c docs: making world.rs a little prettier and removing the asserts but not much else 2025-03-05 08:22:09 +01:00
7753ca7c4f fix: changed deletion order in the delete_entity function of the World struct. Now deletes everything properly 2025-03-05 07:47:18 +01:00
38b41985dc fix: removed the garbage github copilot code out of flat_map and making iter_mut irrelevant 2025-03-05 07:16:42 +01:00
f784fb2c02 fix: forgot the tomls 2025-03-04 23:53:11 +01:00
db405bfb2e wip: transitioning to the newer comet_structs and new ComponentStorage through a FlatMap (not the rust implementation) 2025-03-04 23:52:16 +01:00
4ce24b58dd feat: added the beginnings of a ecs based camera system. render_scene_2d crashes miserably right now but theoretically everything *should* be in place for a full adoption 2025-02-26 23:53:52 +01:00
ee3d0bdb9e feat: moved the ECS related functions to the App to remove unnecessary calling of the World struct inside App. 2025-02-23 16:51:31 +01:00
f07b829b7d feat: changed the preset system to a "with_" option. Removed auto of a component to entity (will be reintroduced differently) 2025-02-19 02:22:38 +01:00
2736d97d03 feat: Added shader loading and swapping as well as beginnings of out of the box noise generation and support for multiple render passes 2024-12-17 01:36:34 +01:00
a3df3f4f17 feat: Added swappability of the renderer and added a Renderer trait to make custom renderers if needed. Also renamed Renderer2D component to Render2D because it is a "render component" and not a renderer (but also name to avoid name clashes) 2024-11-29 01:29:57 +01:00
5a9f632e3a feat: added a camera with orthographic projection and did some work restructuring the comet_app to make the setup system optional. Input handling is moved to the app 2024-11-13 03:33:02 +01:00
780365aeb8 feat: added 2D scene rendering and initialization of the texture atlas 2024-10-28 15:17:59 +01:00
6154c72b0e initial commit 2024-10-26 02:15:26 +02:00