Code Monkey home page Code Monkey logo

Comments (5)

ey51 avatar ey51 commented on May 24, 2024

I want to rephrase what this ticket is about.
This ticket is about indicating for each chain block, which blocks it accepts.

Example when k >= 5
Accepted Blocks Example 1 (3)

Example when k = 4
Accepted Blocks Example 2 (1)

We can add to kasparov REST calls, that whenever a block object is returned, it will contain an array with the hashes of the blocks that it accepts. Then, you can get the initial state of a block from kasparoc REST and update it with updates from MQTT dag/selected-parent-chain.

from dagviz.

ey51 avatar ey51 commented on May 24, 2024

(a) Up until now, we discussed highlighting in teal a chain block's accepted blocks.

(b) I want to bring up now a different thing: teal highlight from each block (when hovering) to the accepting block.


For (a), we will need to give you a new API (block.acceptedBlockHashes) and you can get updates for this using the MQTT dag/selected_parent_chain.

For (b), the info is in each block (block.acceptingBlock) and you can get updates from MQTT.

from dagviz.

aspect avatar aspect commented on May 24, 2024

Holding off until the API is ready. It appears that we lack data to determine this programmatically. I really don't like the fact that the dataset will be larger due to that, but I guess there is no way around this.

from dagviz.

ey51 avatar ey51 commented on May 24, 2024

I can split this to two issues:

(a) highlighting in teal a chain block's accepted blocks
We will need to give you a new API (block.acceptedBlockHashes) and you can get updates for this using the MQTT dag/selected_parent_chain.
^ this one will remain in this issue and will defer until we supply this API.

(b) highlighting in teal from each block (when hovering) to its accepting block
The info is in each block (block.acceptingBlock) and you can get updates from MQTT.
^ this one will be in a new issue #28 .

from dagviz.

ey51 avatar ey51 commented on May 24, 2024

I noticed a bug with regards to this.
Link from chain block back to red blocks shouldn't be teal.

image
Link to DAGviz of the above blocks

To make a distinction between referenced blocks, I propose the following:

When hovering any block:

  • incoming link from accepting block = bold teal (as today, done!)
  • any linked block is highlighted darker (as today, done!)
  • outgoing links to parent blocks and child blocks = bold

When hovering chain blocks (in addition to the above):

  • outgoing links to accepted blocks = bold teal (block.acceptedBlockHashes, shouldn't include red blocks, bold teal overrides bold)

Notes:

  • The group block.parentBlockHashes is going to have blue and red blocks.
  • block.parentBlockHashes that are blue ∈ block.acceptedBlockHashes.
  • block.parentBlockHashes that are red ∉ block.acceptedBlockHashes.
  • The group block.acceptedBlockHashes may have blocks that are not in the group block.parentBlockHashes;
    but these accepted blocks will be ancestors of the block (so parents of parents, or deeper ancestors);
    so it is important that we can cold-teal the links to the accepted blocks on hover, even when they are not direct parents;
    the link would span for example from block to parent to grandparent, likewise:
    [ GP ]<==[ P ]<==[ B ]
    P is a parent of B, and it is accepted by B
    GP is not a parent of B, but it is accepted by B
    both links should be bold-teal when hovering.

@aspect @n15a

from dagviz.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.