ORCSolver-CHI2020

Code released for our CHI2020 paper "ORCSolver: An Efficient Solver for Adaptive GUI Layout with OR-Constraints" (by YueJiang-nj)

ORCSolver-CHI2020 Alternatives

Similar projects and alternatives to ORCSolver-CHI2020

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better ORCSolver-CHI2020 alternative or higher similarity.

ORCSolver-CHI2020 reviews and mentions

Posts with mentions or reviews of ORCSolver-CHI2020. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-06-22.
  • What will a Chromium-only Web look like?
    6 projects | news.ycombinator.com | 22 Jun 2022
    Layout engines are difficult to write and adapt. Especially adapt as they're so complicated.

    I read part of the ORC Solver paper and there is algorithms in that paper for writing a layout engine and there's code on GitHub.

    https://github.com/YueJiang-nj/ORCSolver-CHI2020

    I would like to adapt this approach but write the code myself but it is obviously a challenging area.

    I am yet to write a branch and bound optimisation algorithm. But from my understanding you greedily try a number of rows or columns and try arrange objects preferred width and preferred height into the space available. ORCSolver uses intervals and eliminates attempts that are not viable. ORCSolver uses Z3 for the final step to actually get coordinates when the system has been constrained. I plan to use ORTools.

    For simplicity I plan to break up text into letters and try place them all in a flowing horizontal then vertical layout. I can use GetTextExtents of WX widgets to predict size of a rendered letter. It shall be slow but then how else do you begin writing a layout engine? I would need to read TeX or the Art of Computer Programming.

    Layout is expensive especially for grid based layouts with flowing. I wonder if website authors could prerender at different resolutions and provide start point sizes and coordinates for speed. Generally everybody reaches the same numbers on everyone's machines and we don't need to try a lot of aborted work to relayout.

    I am the author of additive GUIs which is a declarative rendering approach for bootstrap layouts. https://GitHub.com/samsquire/additive-guis

Stats

Basic ORCSolver-CHI2020 repo stats
1
26
10.0
about 4 years ago

YueJiang-nj/ORCSolver-CHI2020 is an open source project licensed under Mozilla Public License 2.0 which is an OSI approved license.

The primary programming language of ORCSolver-CHI2020 is Python.


Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com