if k == "Piece";
let piece = v["piece"].as_str().unwrap().to_string();
let op = v["op"].as_object().unwrap();
- if let Some(_) = op.get("Insert");
+ if let Some(_) = op.get("InsertQuiet");
then { added.push(piece); }
}
)?;
ig.ipieces.as_mut(modperm).insert(piece, IPiece {
p, occilk, special,
});
- updates.push((piece, PieceUpdateOp::Insert(())));
+ updates.push((piece, PieceUpdateOp::InsertQuiet(())));
})(); // <- no ?, infallible (to avoid leaking ilk)
pos = (pos + posd)?;
}
use PieceUpdateOp::*;
let oe = bulk.pieces.get(&upiece);
let ne = match (oe, uuop) {
- ( None , e ) => Some( e ),
- ( Some( Insert(()) ) , Delete() ) => None,
- ( Some( Insert(()) ) , _ ) => Some( Insert(()) ),
- ( Some( Delete( ) ) , _ ) => Some( Modify(()) ),
- ( _ , _ ) => Some( Modify(()) ),
+ ( None , e ) => Some( e ),
+ ( Some( InsertQuiet(()) ) , Delete() ) => None,
+ ( Some( InsertQuiet(()) ) , _ ) => Some( InsertQuiet(()) ),
+ ( Some( Delete ( ) ) , _ ) => Some( Modify (()) ),
+ ( _ , _ ) => Some( Modify (()) ),
};
trace_dbg!("accumulate", upiece, oe, uuop, ne);
match ne {
kinds.new().at_all_visible(),
) {
(false, false) => None,
- (false, true ) => Some(PUO::Insert(())),
+ (false, true ) => Some(PUO::InsertQuiet(())),
(true, false) => Some(PUO::Delete()),
(true, true ) => Some(PUO::Modify(())),
};
if matches_doesnot!(
op,
= Move(_) | MoveQuiet(_) | SetZLevel(_) | SetZLevelQuiet(_),
- ! Delete() | Insert(_) | Modify(_) | ModifyQuiet(_),
+ ! Delete() | InsertQuiet(_) | Modify(_) | ModifyQuiet(_),
) {
match self.occulted {
Visible(_) | Occulted => (),
// Quiet means not to produce the yellow halo (see `movements` in script.ts)
pub enum PieceUpdateOp<NS,ZL> {
Delete(),
- Insert(NS),
+ InsertQuiet(NS),
Modify(NS),
ModifyQuiet(NS),
Move(Pos),
use PieceUpdateOp::*;
match self {
Delete() => None,
- Insert(ns) => Some(ns),
+ InsertQuiet(ns) => Some(ns),
Modify(ns) => Some(ns),
ModifyQuiet(ns) => Some(ns),
Move(_) => None,
use PieceUpdateOp::*;
Ok(match self {
Delete() => Delete(),
- Insert(ns) => Insert(f(ns)?),
+ InsertQuiet(ns) => InsertQuiet(f(ns)?),
Modify(ns) => Modify(f(ns)?),
ModifyQuiet(ns) => ModifyQuiet(f(ns)?),
Move(pos) => Move(pos),
use PieceUpdateOp::*;
match self {
Delete() => Delete(),
- Insert(ns) => Insert(ns),
+ InsertQuiet(ns) => InsertQuiet(ns),
Modify(ns) => Modify(ns),
ModifyQuiet(ns) => ModifyQuiet(ns),
Move(pos) => Move(*pos),
use PieceUpdateOp::*;
match self {
Delete() => None,
- Insert(_) => None,
+ InsertQuiet(_) => None,
Modify(_) => None,
ModifyQuiet(_) => None,
Move(_) => None,
piece_modify(piece, p, info);
}
-pieceops.Insert = <PieceHandler>function
+pieceops.InsertQuiet = <PieceHandler>function
(piece: PieceId, xp: any, info: PreparedPieceState) {
console.log('PIECE UPDATE INSERT ',piece,info)
let delem = document.createElementNS(svg_ns,'defs');