GithubHelp home page GithubHelp logo

oil-rs's People

Contributors

nemikolh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

nemikolh

oil-rs's Issues

Homepage returns 404

http://oil-lang.github.io redirects to a 404 page. It's regrettable, as it's the project's homepage on crates.io.

Data-bindings

Add the following functions to DataBinderContext

  • get_iter
  • register_iter

Implement the Frame logic to render:

  • Simple text (look up -> compute new size -> update associated LayoutBox)
  • <repeat> tag

Focus: Wrapping rule

Add a wrapping rule at the style level defining the focus behaviour for the following situation:

  • focus_left is called but there's nothing on the left
    • if wrapping is none, the focus does not change
    • if wrapping is loop, the focus goes to the rightmost node

Focus: Strategy

With PR #12 focus is now using a cursor strategy to find the choose the next node when changing the focus. It works well on the shop_inventory example.
However, we can still build example that might be counter intuitive when switching the focus, consider the following case:

+------+   +------+
|  A   |   |  B   |
+------+   +------+
           +------+
           |  C   |
           +------+
+------+
|  D   |
+------+

Assuming you start at D with the cursor centered on D, if you do a focus_up, you'll end up on C. And if you do again focus_up, you'll end up on A.

RenderBuffer should use FlatTree

This will be required to implement the overlap style property.
It requires a bit of work because the resulting RenderBuffer is a collection of small trees which do not map to any sub tree from the original tree (in the general case).

Compile time issue

time: 0.026     parsing
time: 0.000     recursion limit
time: 0.011     configuration 1
time: 0.000     gated macro checking
time: 0.000     crate injection
time: 0.029     macro loading
time: 0.001     plugin loading
time: 0.000     plugin registration
time: 0.069     expansion
time: 0.001     complete gated feature checking 1
time: 0.017     configuration 2
time: 0.009     maybe building test harness
time: 0.008     prelude injection
time: 0.000     checking that all macro invocations are gone
time: 0.001     complete gated feature checking 2
time: 0.009     assigning node ids and indexing ast
time: 0.004     external crate/lib resolution
time: 0.000     language item collection
time: 0.049     resolution
time: 0.001     lifetime resolution
time: 0.000     looking for entry point
time: 0.000     looking for plugin registrar
time: 0.005     region resolution
time: 0.001     loop checking
time: 0.000     static item recursion checking
time: 0.010     type collecting
time: 0.001     variance inference
time: 1.068     coherence checking
time: 1.329     type checking
time: 0.217     const checking
time: 0.006     privacy checking
time: 0.000     stability index
time: 0.003     intrinsic checking
time: 0.001     effect checking
time: 0.030     match checking
time: 0.004     liveness checking
time: 0.184     borrow checking
time: 0.158     rvalue checking
time: 0.000     reachability checking
time: 0.004     death checking
time: 0.103     stability checking
time: 0.000     unused lib feature checking
time: 0.130     lint checking
time: 0.000     resolving dependency formats
time: 34.828    translation
  time: 0.375   llvm function passes
  time: 0.128   llvm module passes
  time: 6.767   codegen passes
  time: 0.001   codegen passes
time: 7.938     LLVM passes
time: 0.498     linking

Action & User Events

As suggested during the conversion on #15, we should start sketching the interface for Actions.
The first approach should offer:

  • A way to register an action handler that will be called when the associated action is emitted by any ui element from the ui. It will receive as parameters:
    • the name of the action
    • the original user event
    • the value of the data binding or None if no argument was provided to the action.

This first approach is quite simple but should help seeing the impact on the rest of the code and would also be a base for further discussion to design the action architecture.

Draw things behind the UI

Hi there,

I am no expert here, but I think it might be useful to add a layer behind the UI one, where it is possible to draw things (basically, the game). A good behavior should be that UI catches keystrokes first, then if it can do nothing with it, gives it back to this layer.

Thus, in “HUD UI”, arrows are transfered. But when Escap is hit, it switches to menu and arrows are catches. That way, character is not longer moving.

Is something like that already existing in OIL?

I want to write a PoC client and I need something like that!

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.