From: Ian Jackson Date: Sun, 1 May 2022 18:17:38 +0000 (+0100) Subject: Provide desc even in piece updates, and note in script.ts X-Git-Tag: otter-1.1.0~339 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=01de78465775422d1b6dcdfdbe742f55c4da7927;p=otter.git Provide desc even in piece updates, and note in script.ts This has always been provided, properly occulted, during session load, but not provided in updates. And all this time I have been writing JS-generated log messages under the assumption that the JS can't describe pieces. Signed-off-by: Ian Jackson --- diff --git a/src/pcrender.rs b/src/pcrender.rs index 44bcbb7b..4c55c1e2 100644 --- a/src/pcrender.rs +++ b/src/pcrender.rs @@ -128,8 +128,9 @@ impl PieceRenderInstructions { let occregion = gpc.occult.active_region(&gs.occults)? .map(|r| JsonString(r.clone())); let (svg, bbox) = pri.make_svg_defs(ioccults, gs, gpc, ipc)?; + let desc = pri.describe(ioccults,&gs.occults, gpc, ipc); let r = PreparedPieceState { - pos, svg, occregion, bbox, + pos, svg, desc, occregion, bbox, held : gpc.held, z : zlevel.z.clone(), zg : zlevel.zg, @@ -151,8 +152,9 @@ impl PieceRenderInstructions { -> PreparedPieceImage { let pri = self; let (svg, bbox) = pri.make_svg_defs(ioccults, gs, gpc, ipc)?; + let desc = pri.describe(ioccults, &gs.occults, gpc, ipc); let r = PreparedPieceImage { - svg, bbox, + svg, desc, bbox, uos: pri.ui_operations(gs, gpc, ipc)?, }; trace_dbg!("prep_pieceimage", pri, ipc, gpc, r); diff --git a/src/updates.rs b/src/updates.rs index 20d8cd94..f6eba394 100644 --- a/src/updates.rs +++ b/src/updates.rs @@ -113,6 +113,7 @@ pub struct PreparedPieceUpdateGeneral { pub struct PreparedPieceState { pub pos: Pos, pub svg: Html, + pub desc: Html, pub facehint: Option, pub held: Option, pub z: ZCoord, @@ -139,6 +140,7 @@ impl Default for PieceMoveable { fn default() -> Self { PieceMoveable::Yes } } #[derive(Debug,Clone,Serialize)] pub struct PreparedPieceImage { pub svg: Html, + pub desc: Html, pub bbox: Rect, pub uos: Vec, } diff --git a/templates/script.ts b/templates/script.ts index e95f994d..982870db 100644 --- a/templates/script.ts +++ b/templates/script.ts @@ -81,6 +81,7 @@ type PieceInfo = { moveable: PieceMoveable, rotateable: boolean, multigrab: boolean, + desc: string, uos : UoDescription[], uelem : SVGGraphicsElement, delem : SVGGraphicsElement, @@ -1778,6 +1779,7 @@ messages.Piece = handle_piece_update; type PreparedPieceState = { pos: Pos, svg: string, + desc: string, held: PlayerId | null, z: ZCoord, zg: Generation, @@ -1860,6 +1862,7 @@ function piece_modify_image(piece: PieceId, p: PieceInfo, p.pelem= piece_element('piece',piece)!; p.uos = info.uos; p.bbox = info.bbox; + p.desc = info.desc; piece_resolve_special(piece, p); } @@ -1939,6 +1942,7 @@ function redisplay_held_ancillaries() { type PreparedPieceImage = { svg: string, + desc: string, uos: UoDescription[], bbox: Rect, }