Prepare v0.1.1 release for crates.io
- Rename `macros` crate to `libmarathon-macros` for better discoverability on crates.io - Update all imports from `macros::` to `libmarathon_macros::` - Add crates.io metadata (description, license, repository, homepage, etc.) - Bump version to 0.1.1 - Add version requirement for libmarathon-macros dependency Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
42
Cargo.lock
generated
42
Cargo.lock
generated
@@ -276,7 +276,7 @@ dependencies = [
|
||||
"iroh",
|
||||
"iroh-gossip",
|
||||
"libmarathon",
|
||||
"macros",
|
||||
"libmarathon-macros",
|
||||
"objc",
|
||||
"rand 0.8.5",
|
||||
"raw-window-handle",
|
||||
@@ -4535,7 +4535,7 @@ checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de"
|
||||
|
||||
[[package]]
|
||||
name = "libmarathon"
|
||||
version = "0.1.0"
|
||||
version = "0.1.1"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-channel",
|
||||
@@ -4584,7 +4584,7 @@ dependencies = [
|
||||
"iroh",
|
||||
"iroh-gossip",
|
||||
"itertools 0.14.0",
|
||||
"macros",
|
||||
"libmarathon-macros",
|
||||
"naga",
|
||||
"nonmax",
|
||||
"offset-allocator",
|
||||
@@ -4614,6 +4614,24 @@ dependencies = [
|
||||
"winit",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "libmarathon-macros"
|
||||
version = "0.1.1"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"bevy",
|
||||
"bevy_macro_utils",
|
||||
"bytes",
|
||||
"inventory",
|
||||
"libmarathon",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"rkyv",
|
||||
"serde",
|
||||
"syn",
|
||||
"tracing",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "libredox"
|
||||
version = "0.1.10"
|
||||
@@ -4728,24 +4746,6 @@ dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "macros"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"bevy",
|
||||
"bevy_macro_utils",
|
||||
"bytes",
|
||||
"inventory",
|
||||
"libmarathon",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"rkyv",
|
||||
"serde",
|
||||
"syn",
|
||||
"tracing",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "mainline"
|
||||
version = "6.0.1"
|
||||
|
||||
@@ -11,7 +11,7 @@ headless = []
|
||||
|
||||
[dependencies]
|
||||
libmarathon = { path = "../libmarathon" }
|
||||
macros = { path = "../macros" }
|
||||
libmarathon-macros = { path = "../macros" }
|
||||
inventory.workspace = true
|
||||
rkyv.workspace = true
|
||||
bevy = { version = "0.17.2", default-features = false, features = [
|
||||
|
||||
@@ -8,7 +8,7 @@ use uuid::Uuid;
|
||||
///
|
||||
/// This component contains all the data needed for rendering a cube.
|
||||
/// The `#[synced]` attribute automatically handles network synchronization.
|
||||
#[macros::synced]
|
||||
#[libmarathon_macros::synced]
|
||||
pub struct CubeMarker {
|
||||
/// RGB color values (0.0 to 1.0)
|
||||
pub color_r: f32,
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
[package]
|
||||
name = "libmarathon"
|
||||
version = "0.1.0"
|
||||
version = "0.1.1"
|
||||
edition.workspace = true
|
||||
description = "A peer-to-peer game engine development kit with CRDT-based state synchronization"
|
||||
license = "MIT"
|
||||
repository = "https://github.com/r3t-studios/marathon"
|
||||
homepage = "https://github.com/r3t-studios/marathon"
|
||||
readme = "../../README.md"
|
||||
keywords = ["gamedev", "p2p", "crdt", "multiplayer", "bevy"]
|
||||
categories = ["game-engines", "network-programming"]
|
||||
|
||||
[dependencies]
|
||||
anyhow.workspace = true
|
||||
@@ -23,7 +30,7 @@ bevy_math = "0.17.2"
|
||||
bevy_mesh = "0.17.2"
|
||||
bevy_platform = { version = "0.17.2", default-features = false }
|
||||
bevy_reflect = "0.17.2"
|
||||
macros = { path = "../macros" }
|
||||
libmarathon-macros = { version = "0.1.1", path = "../macros" }
|
||||
bevy_shader = "0.17.2"
|
||||
bevy_tasks = "0.17.2"
|
||||
bevy_time = "0.17.2"
|
||||
|
||||
@@ -109,7 +109,7 @@ pub trait SyncComponent: Component + Reflect + Sized {
|
||||
///
|
||||
/// ```no_compile
|
||||
/// // Define a synced component with the #[synced] attribute
|
||||
/// #[macros::synced]
|
||||
/// #[libmarathon_macros::synced]
|
||||
/// pub struct CubeMarker {
|
||||
/// pub color_r: f32,
|
||||
/// pub size: f32,
|
||||
|
||||
@@ -15,7 +15,7 @@ use bevy_ecs::{
|
||||
};
|
||||
use core::{marker::PhantomData, ops::Deref};
|
||||
|
||||
pub use macros::ExtractComponent;
|
||||
pub use libmarathon_macros::ExtractComponent;
|
||||
|
||||
/// Stores the index of a uniform inside of [`ComponentUniforms`].
|
||||
#[derive(Component)]
|
||||
|
||||
@@ -2,7 +2,7 @@ use core::marker::PhantomData;
|
||||
|
||||
use bevy_app::{App, Plugin};
|
||||
use bevy_ecs::prelude::*;
|
||||
pub use macros::ExtractResource;
|
||||
pub use libmarathon_macros::ExtractResource;
|
||||
use bevy_utils::once;
|
||||
|
||||
use crate::render::{Extract, ExtractSchedule, RenderApp};
|
||||
|
||||
@@ -26,7 +26,7 @@ use bevy_ecs::{
|
||||
use bevy_image::{Image, TextureFormatPixelInfo};
|
||||
use bevy_platform::collections::HashMap;
|
||||
use bevy_reflect::Reflect;
|
||||
use macros::ExtractComponent;
|
||||
use libmarathon_macros::ExtractComponent;
|
||||
use encase::internal::ReadFrom;
|
||||
use encase::private::Reader;
|
||||
use encase::ShaderType;
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
pub use crate::define_atomic_id;
|
||||
|
||||
// Re-export derive macros from macros
|
||||
pub use macros::{AsBindGroup, RenderLabel, RenderSubGraph};
|
||||
pub use libmarathon_macros::{AsBindGroup, RenderLabel, RenderSubGraph};
|
||||
|
||||
#[cfg(target_pointer_width = "16")]
|
||||
compile_error!("bevy_render cannot compile for a 16-bit platform.");
|
||||
|
||||
@@ -11,7 +11,7 @@ use core::fmt::Debug;
|
||||
|
||||
use super::{EdgeExistence, InternedRenderLabel, IntoRenderNodeArray};
|
||||
|
||||
pub use macros::RenderSubGraph;
|
||||
pub use libmarathon_macros::RenderSubGraph;
|
||||
|
||||
define_label!(
|
||||
#[diagnostic::on_unimplemented(
|
||||
|
||||
@@ -18,7 +18,7 @@ use downcast_rs::{impl_downcast, Downcast};
|
||||
use thiserror::Error;
|
||||
use variadics_please::all_tuples_with_size;
|
||||
|
||||
pub use macros::RenderLabel;
|
||||
pub use libmarathon_macros::RenderLabel;
|
||||
|
||||
use super::{InternedRenderSubGraph, RenderSubGraph};
|
||||
|
||||
|
||||
@@ -68,7 +68,7 @@ use bevy_ecs::{
|
||||
system::{lifetimeless::SRes, SystemParamItem},
|
||||
};
|
||||
use crate::render::renderer::RenderAdapterInfo;
|
||||
pub use macros::ShaderLabel;
|
||||
pub use libmarathon_macros::ShaderLabel;
|
||||
use core::{fmt::Debug, hash::Hash, iter, marker::PhantomData, ops::Range, slice::SliceIndex};
|
||||
use smallvec::SmallVec;
|
||||
use tracing::warn;
|
||||
@@ -85,7 +85,7 @@ define_label!(
|
||||
/// A shorthand for `Interned<dyn RenderSubGraph>`.
|
||||
pub type InternedShaderLabel = Interned<dyn ShaderLabel>;
|
||||
|
||||
pub use macros::DrawFunctionLabel;
|
||||
pub use libmarathon_macros::DrawFunctionLabel;
|
||||
|
||||
define_label!(
|
||||
#[diagnostic::on_unimplemented(
|
||||
|
||||
@@ -7,7 +7,7 @@ use crate::render::{
|
||||
};
|
||||
use bevy_derive::{Deref, DerefMut};
|
||||
use bevy_ecs::system::{SystemParam, SystemParamItem};
|
||||
pub use macros::AsBindGroup;
|
||||
pub use libmarathon_macros::AsBindGroup;
|
||||
use core::ops::Deref;
|
||||
use encase::ShaderType;
|
||||
use thiserror::Error;
|
||||
|
||||
@@ -14,7 +14,7 @@ use core::{hash::Hash, marker::PhantomData};
|
||||
use tracing::error;
|
||||
use variadics_please::all_tuples;
|
||||
|
||||
pub use macros::{Specializer, SpecializerKey};
|
||||
pub use libmarathon_macros::{Specializer, SpecializerKey};
|
||||
|
||||
/// Defines a type that is able to be "specialized" and cached by creating and transforming
|
||||
/// its descriptor type. This is implemented for [`RenderPipeline`] and [`ComputePipeline`], and
|
||||
|
||||
@@ -3,7 +3,7 @@ use bevy_ecs::{prelude::Component, resource::Resource};
|
||||
use bevy_image::BevyDefault;
|
||||
use bevy_math::UVec2;
|
||||
use bevy_platform::collections::HashMap;
|
||||
use macros::ExtractResource;
|
||||
use libmarathon_macros::ExtractResource;
|
||||
use wgpu::TextureFormat;
|
||||
|
||||
use crate::render::render_resource::TextureView;
|
||||
|
||||
@@ -33,7 +33,7 @@ use bevy_image::{BevyDefault as _, ToExtents};
|
||||
use bevy_math::{mat3, vec2, vec3, Mat3, Mat4, UVec4, Vec2, Vec3, Vec4, Vec4Swizzles};
|
||||
use bevy_platform::collections::{hash_map::Entry, HashMap};
|
||||
use bevy_reflect::{std_traits::ReflectDefault, Reflect};
|
||||
use macros::ExtractComponent;
|
||||
use libmarathon_macros::ExtractComponent;
|
||||
use bevy_shader::load_shader_library;
|
||||
use bevy_transform::components::GlobalTransform;
|
||||
use core::{
|
||||
|
||||
@@ -18,7 +18,7 @@ use serde::{
|
||||
Serialize,
|
||||
};
|
||||
// TODO: Re-export the Synced derive macro (not part of bevy_render_macros)
|
||||
// pub use macros::Synced;
|
||||
// pub use libmarathon_macros::Synced;
|
||||
|
||||
pub type NodeId = uuid::Uuid;
|
||||
|
||||
|
||||
@@ -70,7 +70,7 @@ use uuid::Uuid;
|
||||
// ============================================================================
|
||||
|
||||
/// Simple position component for testing sync
|
||||
#[macros::synced]
|
||||
#[libmarathon_macros::synced]
|
||||
#[derive(Reflect, PartialEq)]
|
||||
#[reflect(Component)]
|
||||
struct TestPosition {
|
||||
@@ -79,7 +79,7 @@ struct TestPosition {
|
||||
}
|
||||
|
||||
/// Simple health component for testing sync
|
||||
#[macros::synced]
|
||||
#[libmarathon_macros::synced]
|
||||
#[derive(Reflect, PartialEq)]
|
||||
#[reflect(Component)]
|
||||
struct TestHealth {
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
[package]
|
||||
name = "macros"
|
||||
version = "0.1.0"
|
||||
name = "libmarathon-macros"
|
||||
version = "0.1.1"
|
||||
edition.workspace = true
|
||||
description = "Procedural macros for the Marathon game engine"
|
||||
license = "MIT"
|
||||
repository = "https://github.com/r3t-studios/marathon"
|
||||
homepage = "https://github.com/r3t-studios/marathon"
|
||||
|
||||
[lib]
|
||||
proc-macro = true
|
||||
|
||||
@@ -160,7 +160,7 @@ pub fn derive_draw_function_label(input: TokenStream) -> TokenStream {
|
||||
/// # Example
|
||||
///
|
||||
/// ```no_compile
|
||||
/// use macros::synced;
|
||||
/// use libmarathon_macros::synced;
|
||||
///
|
||||
/// #[synced]
|
||||
/// pub struct CubeMarker {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
use bevy::prelude::*;
|
||||
|
||||
// Test 1: Basic struct with synced attribute compiles
|
||||
#[macros::synced]
|
||||
#[libmarathon_macros::synced]
|
||||
struct Health {
|
||||
current: f32,
|
||||
}
|
||||
@@ -58,7 +58,7 @@ fn test_health_is_clone_and_copy() {
|
||||
}
|
||||
|
||||
// Test 2: Struct with multiple fields
|
||||
#[macros::synced]
|
||||
#[libmarathon_macros::synced]
|
||||
struct Position {
|
||||
x: f32,
|
||||
y: f32,
|
||||
|
||||
Reference in New Issue
Block a user