refactor: IC 池重命名为属性池

This commit is contained in:
2026-06-05 21:56:07 +08:00
parent cea4387a34
commit 7bd736e308
2 changed files with 18 additions and 18 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
#![doc = "OxideJS - Shared kernel (CodeForge, ShapeForge, IcForge, StringForge, BuiltinWorld)"] #![doc = "OxideJS - Shared kernel (CodeForge, ShapeForge, IcForge, StringForge, BuiltinWorld)"]
pub mod code_forge; pub mod code_forge;
pub mod ic_forge; pub mod prop_forge;
pub mod shape_forge; pub mod shape_forge;
pub mod string_forge; pub mod string_forge;
@@ -5,32 +5,32 @@ use dashmap::DashMap;
use crate::shape_forge::ShapeId; use crate::shape_forge::ShapeId;
#[derive(Debug, Clone)] #[derive(Debug, Clone)]
pub struct IcTemplate { pub struct PropTemplate {
pub shape_id: ShapeId, pub shape_id: ShapeId,
pub offset: u8, pub offset: u8,
pub generation: u32, pub generation: u32,
} }
pub struct IcForge { pub struct PropForge {
templates: DashMap<ShapeId, Arc<IcTemplate>>, templates: DashMap<ShapeId, Arc<PropTemplate>>,
} }
impl IcForge { impl PropForge {
pub fn new() -> Self { pub fn new() -> Self {
Self { Self {
templates: DashMap::new(), templates: DashMap::new(),
} }
} }
pub fn get_template(&self, shape_id: ShapeId) -> Option<Arc<IcTemplate>> { pub fn get_template(&self, shape_id: ShapeId) -> Option<Arc<PropTemplate>> {
self.templates.get(&shape_id).map(|r| Arc::clone(&*r)) self.templates.get(&shape_id).map(|r| Arc::clone(&*r))
} }
pub fn upsert(&self, shape_id: ShapeId, template: IcTemplate) { pub fn upsert(&self, shape_id: ShapeId, template: PropTemplate) {
self.templates.insert(shape_id, Arc::new(template)); self.templates.insert(shape_id, Arc::new(template));
} }
pub fn upsert_if_better(&self, shape_id: ShapeId, template: IcTemplate) { pub fn upsert_if_better(&self, shape_id: ShapeId, template: PropTemplate) {
use dashmap::mapref::entry::Entry; use dashmap::mapref::entry::Entry;
match self.templates.entry(shape_id) { match self.templates.entry(shape_id) {
@@ -46,7 +46,7 @@ impl IcForge {
} }
} }
impl Default for IcForge { impl Default for PropForge {
fn default() -> Self { fn default() -> Self {
Self::new() Self::new()
} }
@@ -58,14 +58,14 @@ mod tests {
#[test] #[test]
fn test_get_nonexistent() { fn test_get_nonexistent() {
let forge = IcForge::new(); let forge = PropForge::new();
assert!(forge.get_template(999).is_none()); assert!(forge.get_template(999).is_none());
} }
#[test] #[test]
fn test_upsert_and_get() { fn test_upsert_and_get() {
let forge = IcForge::new(); let forge = PropForge::new();
let t = IcTemplate { let t = PropTemplate {
shape_id: 1, shape_id: 1,
offset: 3, offset: 3,
generation: 10, generation: 10,
@@ -79,10 +79,10 @@ mod tests {
#[test] #[test]
fn test_upsert_if_better_high_gen_wins() { fn test_upsert_if_better_high_gen_wins() {
let forge = IcForge::new(); let forge = PropForge::new();
forge.upsert_if_better( forge.upsert_if_better(
1, 1,
IcTemplate { PropTemplate {
shape_id: 1, shape_id: 1,
offset: 3, offset: 3,
generation: 10, generation: 10,
@@ -90,7 +90,7 @@ mod tests {
); );
forge.upsert_if_better( forge.upsert_if_better(
1, 1,
IcTemplate { PropTemplate {
shape_id: 1, shape_id: 1,
offset: 7, offset: 7,
generation: 5, generation: 5,
@@ -102,10 +102,10 @@ mod tests {
#[test] #[test]
fn test_upsert_if_better_low_replaced() { fn test_upsert_if_better_low_replaced() {
let forge = IcForge::new(); let forge = PropForge::new();
forge.upsert_if_better( forge.upsert_if_better(
1, 1,
IcTemplate { PropTemplate {
shape_id: 1, shape_id: 1,
offset: 3, offset: 3,
generation: 5, generation: 5,
@@ -113,7 +113,7 @@ mod tests {
); );
forge.upsert_if_better( forge.upsert_if_better(
1, 1,
IcTemplate { PropTemplate {
shape_id: 1, shape_id: 1,
offset: 7, offset: 7,
generation: 10, generation: 10,