Skip to content
Jeremy B edited this page Oct 30, 2017 · 24 revisions

Unclaimed

Error message parity

  • Owner: ???
  • Type: Feature
  • Size: Medium-Large
  • Priority: Low-Medium
  • Work in progress:
    • Tortoise: wip-middle-layer, wip-prims (I don't remember what the story is with this branch)
  • Unresolved issues:
    • Full implementation of error messages
  • Notes:
    • See here for Jason's notes on this task
    • This is tedious
    • This is also likely to lead to a substantial slowdown on NetLogo Web, since it will introduce runtime error-checking
    • My strategy for doing this initially is not necessarily a winning one. I wanted to centralize error-reporting in one place, but some primitives do error-reporting while in the midst of running a lambda, which makes it trickier. There’s still hope for that approach, though; the lambda could instead lead to returning a value that indicates an error, and the middle layer could then read that value and figure out if it needs to generate an error. Does this have an unpleasant effect on stacktraces, though?
    • NetLogo/Tortoise#184

Recompiling should not clear the world

  • Owner: ???
  • Type: Bugfix
  • Size: Small-Medium
  • Priority: Low-Medium
  • Work in progress: None
  • Unresolved issues:
    • It would be nice if we didn't blow away world states on recompile.
    • NetLogo/Galapagos#327

Model name should be passed to compiler

  • Owner: ???
  • Type: Sub-feature
  • Size: Small
  • Priority: Low
  • Work in progress: None
  • Unresolved issues
    • The compiler doesn’t currently take this information in, and Galapagos only kind of has it. It’s needed for printing out into the export-world results

Use NLW in prominent CCL locations

  • Owner: ???
  • Type: Meta
  • Size: Small-Medium
  • Priority: Low-Medium
  • Work in progress: None
  • Unresolved issues:
    • Have the site for Uri's book use NLW
    • Have Community Models page use NLW

Needs Cleanup from Jason

Interface editor

  • Owner: ???
  • Type: Feature
  • Size: Medium-Large
  • Priority: Medium
  • Work in progress:
    • Galapagos: wip-interface-editor, wip-interface-editor-chooser
  • Unresolved issues:
    • It got broken by somewhat recent (i.e. between summer of 2016 and summer of 2017) changes to the UI code
    • Status check
    • Plots (which I was going to punt on)
  • Notes:
    • wip-interface-editor-chooser depends on getting an implementation of read-from-string, which depends on The Great Yak Shave of 2016 branch
      • Needs “move”
      • Needs “resize”
      • Needs “add widget”
      • Needs auto-resize/reflow on editing
      • Deleting widgets that add globals (i.e. Slider, Switch, Input, Chooser) needs to cause a recompile
      • Deleting a plot should affect what plotting commands the engine is running
      • Widget “edit” windows should be resizable
      • I think "edit" windows will need to be truly modal, or else we can have people clicking buttons/running Command Center code that will be causing problems like doing resize-world while I have the View’s “edit” form open
      • Add support for editing Choosers
        • Get read-from-string working, so it can be used on the values here
        • Stop treating newline as the line separator
        • Make sure that strings are quoted as necessary
        • Validate the “choices”
        • ContainerBase should have a name parameter and an extraAttrs that it sets onto the CodeMirror editor
      • Fix freshenUpWidgets
        • widgets.coffee: freshenUpWidgets
          • Should be setting some flags for the sorts of recompiles happening. Only recompiles that change widgets need to reload the interface.
          • I feel like blowing away the whole widget controller everytime a change is made there is kind of silly. It would make more sense just to be able to recompile only one widget, and to then replace that widget.
        • session-lite: Call to freshenUpWidgets
          • This is probably abhorrent.
          • This works, but I think it's essentially a house of cards, just waiting for a slight breeze to knock it over
        • I think the smart thing here is to get the editing of all widgets finished, and then come back to rethinking this
      • Bug: Merely open the “edit” window a Slider or Button (but not all widgets will cause this) and, without making any changes, click “OK”. Then, export the model and try to open it in desktop. Failure! Somehow, the widget editor is messing up the file format.

Inspection window

  • Owner: ???
  • Type: Feature
  • Size: Medium
  • Priority: Low-Medium
  • Work in progress:
    • Tortoise: wip-inspect
    • Galapagos: wip-inspection-window
  • Unresolved issues:
    • Commits need major cleanup
    • Status check
    • Primary task: Actually Inspection Window functionality
      • Make it track the agent as it moves
      • View and variables need to update in realtime (e.g. when "watch-me" is clicked, or simulation running, or clear-all) (maybe use a “subcription” system?)
        • But isn’t the inspection window's focal point going to get totally messed up whenever follow is used?
      • The agent-specific view
        • Support wrapping (but this should happen automatically, when we get “following” working)
        • Should’t dim when watch (et. al) are used
        • Test case: setup inspect patch 0 0
      • Add right-click to ride/follow
    • Still need to solve UX problem with inspection windows opening up that are too tall for the space they're in
      • I'm feeling like viewport size should not shrink, except on loading a new model, and dialog size should be taken into account for viewport height
    • Refactor: Clean up all of the cruft (e.g. oncomplete, inline styles)
    • Low priority feature: Add "right-click in mini-View" capability
    • Go to 'SimplePrims.scala' and implement stop-inspecting and stop-inspecting-dead-agents
    • Add this to 'link.coffee', and then make it work in Galapagos:
      # () => Unit
      watchMe: ->
        @world.observer.watch(this)
        return
      

Claimed

General extension support

  • Owner: Jeremy
  • Type: Feature
  • Size: Medium
  • Priority: Medium
  • Work in progress:
    • Tortoise: wip-ext-def
  • Unresolved issues:
    • Figure out how to we should extensions from URLs
    • Implement it
    • Document the API
    • Ship it
    • Obsoletes NetLogo/Tortoise#101

import-world/export-world

  • Owner: Camden (implementer)/Jason (advisor)
  • Type: Feature
  • Size: Medium-Large
  • Priority: Low-Medium
  • Work in progress:
    • Tortoise: wip-importworld
    • CamdenClark/Tortoise: wip-importworld
  • Unresolved issues:
    • export-world needs to be completed
    • Pretty sure that importPen isn't going to be doing the right thing for importing multi-mode/multi-color pens. When it iterates over the points, it only gives ops the X and Y. We need a better way of batch-importing points to ops. It's also probably not blowing away old points (@_ops.reset())
    • We should be testing plotting importing
    • We should be testing more models in general
    • Extensions aren’t being imported or exported, but we can punt on that for v1.0

Clone this wiki locally