Commit graph

123 commits

Author SHA1 Message Date
Phoenix Eliot
663c220eaf Show wev-dev iFrame error messages like Aether's
This heavily refactors SpellView and adds infrastructure for receiving and reporting Errors raised by the web-dev iFrame. The web-dev error system, the Aether error system, and the Ace html-worker avoid disturbing each others' errors/annotations (though currently Aether+web-dev errors won't coexist), and they clear/update their own asynchronously.

Show web-dev iFrame errors as Ace annotations

Add functional error banners (with poor messages)

Improve error banners, don't allow duplicate Problems

Refactor setAnnotations override

Convert all constructor calls for Problems

Add comments, clean up

Clean up

Don't clear things unnecessarily

Clean up error message sending from iFrame

Add web-dev:error schema

Clarify error message attributes

Refactor displaying AetherProblems

Refactor displaying user problem banners

Refactor onWebDevError

Set ace styles on updating @problems

Clean up, fix off-by-1 error

Add comment

Show stale web-dev errors differently
Some web-dev errors are generated by "stale" code — code that's still running in the iFrame but doesn't have the player's recent changes.
This shows those errors differently than if they weren't "stale", and suggests they re-run their code.

Hook up web-dev event schema

Destroy ignored duplicate problems

Functionalize a bit of stuff

Fix ProblemAlertView never loading
2016-08-31 10:59:06 -07:00
Matt Lott
f2597229b5 No autocomplete x y, rename Zatanna to Autocomplete
Don’t autocomplete common variables ’x’ or ‘y’:
return if /^x$|^y$/i.test(prefix)
Renaming zatanna to autocomplete

Closes #3865
2016-08-22 05:46:07 -07:00
Scott Erickson
ffa840910d Do not automatically show victory modal for shareable game dev levels
Students are likely to want to keep working on their level, even if
they beat it.
2016-08-10 12:47:34 -07:00
Nick Winter
d77625bc77 Game dev levels (#3810)
* Tweak API doc behavior and styling

* Instead of moving to the left during active dialogues, just move to the top
* Allow pointer events
* Adjust close button
* Re-enable pinning API docs for game-dev and web-dev levels

* Make sidebar in PlayGameDevLevelView stretch, better layout columns

* Set up content of PlayGameDevLevelView sidebar to scroll

* Add rest of PlayGameDevLevelView sidebar content, rework what loading looks like

* Finish PlayGameDevLevelView

* Add share area below
* Cover the brown background, paint it gray

* Tweak PlayGameDevLevelView

* Have progress bar show everything
* Fix Surface resize handling

* Fix PlayGameDevLevelView resizing incorrectly when playing

* Add GameDevVictoryModal to PlayGameDevLevelView

* Don't show missing-doctype annotation in Ace

* Hook up GameDevVictoryModal copy button

* Fix onChangeAnnotation runtime error

* Fix onLevelLoaded runtime error

* Have CourseVictoryModal link to /courses when course is done

* Trim, update CourseDetailsView

* Remove last vestiges of teacherMode
* Remove giant navigation buttons at top
* Quick switch to flat style

* Add analytics for game-dev

* Update Analytics events for gamedev

* Prefix event names with context
* Send to Mixpanel
* Include more properties

* Mostly set up indefinite play and autocast for game-dev levels

* Set up cast buttons and shortcut for game-dev

* Add rudimentary instructions when students play game-dev levels

* Couple tweaks

* fix a bit of code that expects frames to always stick around
* have PlayGameDevLevelView render a couple frames on load

* API Docs use 'game' instead of 'hero'

* Move tags to head without combining

* Add HTML comment-start string

Fixes missing entry point arrows

* Fix some whitespace
2016-07-28 13:39:58 -07:00
Nick Winter
739973cb47 Sending goal states to GoalManager and GoalStatusView 2016-07-15 09:11:36 -07:00
Nick Winter
e3670165e7 Remove code for multiple spells; rename SpellListTabEntryView to SpellTopBarView; remove hero avatar from SpellTopBarView 2016-07-14 22:43:25 -07:00
Nick Winter
220db3106c Run button now recreates web-dev DOM; no submit button 2016-07-14 19:48:27 -07:00
Nick Winter
ed320a8d9e WebSurfaceView now parsing player code through virtual DOM into iframe 2016-07-14 18:07:36 -07:00
Nick Winter
c5c831c211 Remove real-time multiplayer prototype code 2016-07-14 10:26:09 -07:00
Nick Winter
ede12ed50f Add effective simulation frames per second to verifier 2016-06-29 12:40:30 -07:00
Josh Callebaut
c4652d82e2 Implements the SPADE logger into the SpellView
* Updates spade.js vendor file, adds a sublime-project for developers to use
* Moves server logic away from handlers
* Moves session update logic to middleware, sets up server schema to autorender IDs as ObjectIDs
* Modernizes the supermodel loading scheme and switches from constructor to initalize
2016-04-26 09:56:30 -07:00
Nick Winter
e96f4651f2 Add basic listening for code problems to Verifier 2016-04-25 17:03:08 -07:00
Nick Winter
a7114a2719 Implement headless verifier; fix headless client 2016-04-12 19:34:05 -07:00
Scott Erickson
e6593dea8d Refactor FacebookHandler and GPlusHandler
* Move api loading to FacebookHandler
* Use success callbacks
* Use same, properly named events
* Use same functions and property names
* Refactor related social button, out of use rendering system
* Remove the now unnecessary form split from CreateAccountModal
2016-03-18 11:03:55 -07:00
Nick Winter
260fd21f4e Add Segment for teachers, misc analytics cleanup tweaks 2016-02-02 15:13:55 -08:00
Nick Winter
95c703a7df Simulate games in background while playing levels if we think there's extra compute power 2015-11-29 12:30:19 -08:00
Nick Winter
9b990ba452 Mark mirror match multiplayer levels complete on success 2015-11-17 15:23:34 -08:00
Scott Erickson
57c5384ec1 Refactor editor:save-new-version from a mediator event to a normal Backbone event
Part of a push to move away from global subscriptions when 'local' ones will do.
2015-10-21 15:34:07 -07:00
Scott Erickson
2d2f4814f4 Add course membership required error to LevelLoadingView 2015-10-06 12:48:58 -07:00
Nick Winter
80af32180c Fixed #1638: detect and automatically report unrecoverable world loading errors, plus adding better instructions for checking dev console. We can't recover yet, but having eyes on it will hopefully give us better visibility on this kind of error. 2015-04-25 17:29:02 -07:00
Matt Lott
d51eddef29 Update campaign editor analytics
Double-click level row in overview to open level details view.
2015-01-20 15:02:24 -08:00
Nick Winter
947811c01b Replayable once-per-day increasing-difficulty level basics. 2015-01-05 10:44:24 -08:00
Nick Winter
744d30737e Merged in campaign editor and campaign view. Destroyed WorldMapView, CampaignOptions, and LevelOptions. Lots of stuff is now stored in the database instead of code. Cleaned up a few unneeded old features. Fixed some problems with checking permissions on first rather than latest versions of documents. 2014-12-28 13:25:20 -08:00
Nick Winter
bba78970ea Deleted WizardSettingsView. 2014-12-06 10:23:26 -08:00
Nick Winter
c0842959e8 Avoid opening InventoryModal or ChooseHeroesModal until the session is loaded. 2014-12-04 13:18:06 -08:00
Nick Winter
0ac9b3758b Fixed bug with subscriptions not working. Added subscription status text to the world map. 2014-12-03 11:19:10 -08:00
Michael Schmatz
3cf80c895e Removed log infos, iPad language selection 2014-11-30 16:19:01 -05:00
Scott Erickson
3a4eaa718f Did what I needed to do to get d3 to not be loaded during play: refactored the ladder views out of the play wad, and got the Router to handle viewClass being a string rather than a fully loaded module. 2014-11-29 16:46:51 -08:00
Scott Erickson
31214e854e Wabam. Refactored a bunch of stuff into 'core' folders so that it's clearer which files are being loaded first thing, and which are not. Also reworked a bunch of the anymatch things in config.coffee, cause there were better ways. 2014-11-28 17:49:41 -08:00
Nick Winter
5c77eea304 You can now buy heroes. 2014-11-25 10:15:10 -08:00
Nick Winter
ffaa42cb9b Added detection of suspect code fragment deletion. Implemented Chloe's styling advice on restricted items. Fixed purchasing items clobbering inventory changes. 2014-11-23 12:18:42 -08:00
Nick Winter
5d54332ed7 Round inferred cooldown docs. Show grabber/grabbing cursor when Surface is enabled, playing, and zoomed in. 2014-11-22 21:22:46 -08:00
Nick Winter
549fb8aa37 Attempting to require purchase of tarnished bronze breastplate in The Raised Sword. 2014-11-21 16:23:26 -08:00
Michael Schmatz
1d52562070 Publish signed up message 2014-11-21 17:18:02 -05:00
Nick Winter
f310719cee Restarting level now doesn't clear anything except code unless you hold down shift. 2014-11-19 15:24:50 -08:00
Nick Winter
c82d1d0f36 Additional scriptable property on thang-died events. 2014-11-19 15:13:45 -08:00
Nick Winter
0640f382ba Fixed coordinate hover cursors fighting flag cursors. Added suspect code check functionality for scripts to slap hands. 2014-11-19 14:29:11 -08:00
Nick Winter
f5b5ee2206 Fixes for updating paths during world streaming. 2014-11-18 12:40:28 -08:00
Nick Winter
f1a4249f18 More reductions in memory usage for iPad. 2014-11-18 11:21:29 -08:00
Scott Erickson
95dca575d1 Set up stripe on the server and site to allow purchases through the website. 2014-11-17 15:15:08 -08:00
Matt Lott
f56d01419f Update sync pvp teams and real-time playback
-Non-creator will switch teams upon joining a sync pvp game, if creator
is on same team
-Team swapping should only affect level session
-Real-time multiplayer submit now reloads PlayLevelView to ease loading
both player’s latest level sessions, and then automatically starts
real-time playback.
2014-11-17 15:07:10 -08:00
Nick Winter
f9a7aba5d9 Some fixes for programmatically generated flag events not polluting session flag history. 2014-11-15 16:56:35 -08:00
Scott Erickson
fc3a5de2f2 Tweaked the BuyGemsModal to not need gems from the iPad app. 2014-11-12 12:15:03 -08:00
Scott Erickson
a582717bc3 Set up the BuyGemsModal with Backbone events so the iPad can communicate with it. 2014-11-12 10:23:43 -08:00
Nick Winter
956186b538 Fixed #1604: changing languages and reloading work better now. 2014-11-10 09:36:40 -08:00
Matt Lott
377138f35f Hide problem alert on code change 2014-11-09 11:36:17 -08:00
Matt Lott
588fa0620e Jiggle user code problem alert 2014-11-07 22:46:12 -08:00
Nick Winter
cfff09b01e Merged big .executing arrow. 2014-11-07 16:06:14 -08:00
Nick Winter
5090a47afc Implementing more of new code editor design. Removed ThangList, EditorConfigModal, and a few other obsolete things. 2014-11-07 16:04:35 -08:00
Matt Lott
b4dde5705b Place error message over Surface next to line 2014-11-06 21:43:43 -08:00