Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Refactor] Create a uniform constructor for all connectivity structures #8

Closed
6 tasks done
T0nyX1ang opened this issue Jan 28, 2024 · 2 comments · Fixed by #10
Closed
6 tasks done

[Refactor] Create a uniform constructor for all connectivity structures #8

T0nyX1ang opened this issue Jan 28, 2024 · 2 comments · Fixed by #10
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@T0nyX1ang
Copy link
Owner

T0nyX1ang commented Jan 28, 2024

All the connectivity structures contain three parts:

  • initialization (required): define the initial points,
  • propagation (required): propagate the full connectivity map with the initial points and a propagation rule (such as an adjacent rule),
  • constraint (optional): reachable on a certain area, region, etc.

Hence, it is possible to create a uniform constructor.

The following things are regarded as a connectivity structure:

  • reachable, without a known origin (named as reachable/2 in the codes)
  • reachable, with some known origins (named as region/2 in the codes)
  • reachable to edges (named as reachable_edge/2 in the codes)
  • lit, propagate adjacency as a bulb (named as lit/2 in the codes)
  • reachable in an area (named as reachable/3 in the codes)
  • reachable components (named as reachable/4 in the codes)
@T0nyX1ang T0nyX1ang added enhancement New feature or request help wanted Extra attention is needed labels Jan 28, 2024
@zhuyaoyu zhuyaoyu linked a pull request Feb 3, 2024 that will close this issue
@T0nyX1ang
Copy link
Owner Author

T0nyX1ang commented Mar 28, 2024

The former structure is hard to understand, so we are going to remake it.
The remake will be more intuitive and understandable, which will try to set the connectivity into three parts:

  • initialization
  • propagation
  • constraint

The final call will become connectivity(initial='init_params', propagation='prop_params', constraint='con_params'), and a rule will be generated eventually.

@T0nyX1ang T0nyX1ang reopened this Mar 28, 2024
@T0nyX1ang T0nyX1ang changed the title [Refactor] Create a uniform constrctor for all connectivity structures [Refactor] Create a uniform constructor for all connectivity structures Mar 29, 2024
@T0nyX1ang
Copy link
Owner Author

The refactor is almost completed now (in the dev branch).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants