useserde::{Deserialize, Serialize};usesolverforge::prelude::*;/// A container that owns an ordered sequence of items.
////// Rename this to something domain-specific (Worker, Machine, Bin, Lane, …)
/// and add whatever fields describe a capacity or processing unit.
#[planning_entity]#[derive(Serialize, Deserialize)]pubstructContainer{#[planning_id]pubid: String,
pubname: String,
// @solverforge:begin entity-variables
/// Ordered sequence of item positions assigned to this container.
////// This field declares the list variable the solver may reorder.
/// `solver.toml` still controls search strategy; the list scaffold only
/// changes the sample app shape and example domain.
#[planning_list_variable(element_collection ="item_facts")]pubitems:Vec<usize>,
// @solverforge:end entity-variables
}implContainer{pubfnnew(id: impl Into<String>, name: impl Into<String>)->Self{Self{
id: id.into(),
name: name.into(),// @solverforge:begin entity-variable-init
items:Vec::new(),// @solverforge:end entity-variable-init
}}}