Compare commits

...

3 Commits

Author SHA1 Message Date
projectmoon a83aea86e3 Some cleanup 2024-01-11 15:24:45 +01:00
projectmoon 70e7b82996 Actually record duplicate exits 2024-01-11 15:20:15 +01:00
projectmoon 850c43c486 Fix unused variable thing 2024-01-11 15:19:18 +01:00
3 changed files with 6 additions and 9 deletions

View File

@ -6,10 +6,7 @@ use itertools::Itertools;
use crate::models::{
coherence::{CoherenceFailure, SceneFix},
world::{
raw::ExitSeed,
scenes::{root_scene_id, Exit, Scene},
},
world::scenes::{root_scene_id, Exit, Scene},
Content, ContentContainer,
};
@ -69,7 +66,7 @@ pub(super) fn check_scene_coherence<'a>(scene: &'a Scene) -> Vec<CoherenceFailur
let duplicate_exits: Vec<_> = scene.exits.iter().filter(|e| e.name == exit.name).collect();
if duplicate_exits.len() > 1 && !is_duplicate_recorded(&failures, exit) {
let failure = CoherenceFailure::DuplicateExits(duplicate_exits);
failures.push(CoherenceFailure::DuplicateExits(duplicate_exits));
}
}

View File

@ -13,10 +13,10 @@ use crate::models::world::raw::{
use crate::models::world::scenes::{Exit, Scene, SceneStub, Stage};
use std::rc::Rc;
fn find_exit_position(exits: &[Exit], exit: &Exit) -> Result<usize> {
fn find_exit_position(exits: &[Exit], exit_to_find: &Exit) -> Result<usize> {
let (pos, _) = exits
.iter()
.find_position(|&exit| exit == exit)
.find_position(|&exit| exit == exit_to_find)
.ok_or(anyhow!("cannot find exit"))?;
Ok(pos)
@ -24,7 +24,8 @@ fn find_exit_position(exits: &[Exit], exit: &Exit) -> Result<usize> {
/// Intermediate level struct that is charged with creating 'raw'
/// information via the LLM and doing basic coherence on it. Things
/// like ID creation and management are done at a higher level.
/// like ID creation, data management, and advanced coherence are done
/// at a higher level.
pub struct AiClient {
parsing_convo: AiConversation,
world_creation_convo: AiConversation,

View File

@ -10,7 +10,6 @@ use crate::models::world::scenes::{Exit, Scene, SceneStub, Stage};
use crate::models::{new_uuid_string, Content, ContentContainer, ContentRelation};
use anyhow::{bail, Result};
use itertools::Itertools;
use std::cell::RefCell;
use std::rc::Rc;
mod coherence;