Skip to content

Latest commit

 

History

History
66 lines (66 loc) · 3.59 KB

File metadata and controls

66 lines (66 loc) · 3.59 KB

September 22, 2018

  • disentangling Holo speccing from queryHoloItem invocations, finally
    • complicated by mkTextEntryD using an emptyVisualHolo, which translated to ~emptyBlankHolo
      • emptyBlankHolo has no dimensions, so when run through render pipeline it needs a zero-sized Drawable
        • UnDrawable was thus born, as an ADT case
          • the entire draw thing now needs to be aware of it
            • Switch to maybe/employ functoriality?

September 26, 2018

  • trying to get a picture of how to route events

September 27, 2018

  • talked to dalaing on #reflex-frp

September 28, 2018

  • talking to dalaing and alanCS helped me find light on #reflex-frp
  • we can distribute the dumb EventSelector object everywhere, freely, and project it
  • next question is about GLFW event masks – a far simpler issue

September 29, 2018

  • done a basic algebra for event masks,
  • subscriptions introduced as concept – updated leaf ctors to pass them around
  • TODO for combinators to properly handle those

September 30, 2018

  • done event masks in reflex-glfw
  • completed picking-based dynamic focus that properly responds to scene changes!
  • Port now a Dynamic
  • framebuffer size changes driving Port
  • picking pipeline re-generation driven by Port changes
  • started rewriting MRecord to accomodate generic FRP widged derivation
    • faced complexity of the holo/dynamic API
    • started simplifying it, and mostly succeeded for simple cases
      • complex cases are, well, involved: mkTextEntryD & mkTextEntryValidateD
        • complicated because of Style interactivity knot tying
          • simple cases have their default style baked in
        • we still have the old problem of style Behavior taking effect on next redraw
      • maybe there is still some generality to lift there

October 1, 2018

  • we don’t want to create a dynamic from a dynamic – rather one from a value, since our task is to lift a non-interactive value.
  • ..and the above wish was granted, liftDyn is now a Holo class method

October 3, 2018

  • so, ‘readField’ needs to be monadic, at least because of MonadHold, and therefore ‘hsequence’ and =<< in ‘recover’

October 6, 2018

  • cue much suffering and fun from hitting dead ends & trying to upgrade to GHC 8.6.1, that turned into an attempt to build GHC to improve its logging, to track down a compiler panic..

October 11, 2018

  • we need readField to transform the type – from structural to derived
    • the argument-side type-level lists are over the structural type
    • the return-side type needs to reflect the change of type from structural to derived
      • (NP m xs) is current, but doesn’t reflect that change
        • it’s still useful to be able to refer to the structural type
        • if we want to keep the unmodified NP to work for us, we need to change its first argument to include the aforementioned change of type

October 13, 2018

  • the Prod m Derived needs expression to unify with regards to t, that is baked into m
    • ergo we have m ~ ReflexGLFW t mb at the top level, to make t available for unification
      • ..which makes GHC complain: Could not deduce: Ref mb ~ GHC.IORef.IORef
        • ..and we have to placate it with: ReflexGLFWCtx t mb
          • and that works
          • but it’s unwieldy, and so ReflexGLFWCtx t m mb

October 17, 2018

  • so, the question seems to be – how do we manage to switch from the record’s ConsCtx to the field’s Record so smoothly.. ?

  • [ ] simplify the holo/dynamic construction model
  • [ ] generics-sop to construct an interactive FRP widget for a value