chiark / gitweb /
dice js: Obtain information from the input dataset etc.
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 16 Apr 2022 11:24:41 +0000 (12:24 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 16 Apr 2022 11:57:26 +0000 (12:57 +0100)
We want this all nicely in our JS object.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
templates/script.ts

index a69bbab1703087035406bf6666818a0b9be81030..508d8b1b7244892a32ddc7eb1472d13b3299a731 100644 (file)
@@ -2263,10 +2263,22 @@ function startup() {
 }
 
 type DieSpecialRendering = SpecialRendering & {
+  cd_path: SVGPathElement,
+  loaded_ts: DOMHighResTimeStamp,
+  loaded_remprop: number,
+  total_ms: number,
   anim_id: number | null,
 };
 special_renderings['Die'] = function(piece: PieceId, p: PieceInfo,
                                     s: DieSpecialRendering) {
+  let cd_path = document.getElementById('def.'+piece+'.die.cd');
+  if (!cd_path) return;
+
+  s.cd_path = cd_path as any as SVGPathElement;
+  s.loaded_ts = performance.now();
+  s.loaded_remprop = parseFloat(cd_path.dataset.remprop!)!;
+  s.total_ms       = parseFloat(cd_path.dataset.total_ms!)!;
+
   s.stop = die_rendering_stop as any;
   die_request_animation(piece, p, s);
 } as any;
@@ -2279,7 +2291,7 @@ function die_request_animation(piece: PieceId, p: PieceInfo,
 function die_render_frame(piece: PieceId, p: PieceInfo,
                          s: DieSpecialRendering, ts: DOMHighResTimeStamp) {
   s.anim_id = null;
-  console.log('DIE RENDER', piece, ts);
+  console.log('DIE RENDER', piece, s);
 }
 function die_rendering_stop(piece: PieceId, p: PieceInfo,
                            s: DieSpecialRendering) {