├── com
│ └── fulcrologic
│ └── fulcro
│ ├── algorithms
│ │ ├── application_helpers.cljc
│ │ ├── data_targeting.cljc ; targeting for loads/mutations
│ │ ├── denormalize.cljc ; db->tree
│ │ ├── form_state.cljc ; from 2.x
│ │ ├── indexing.cljc ; internal
│ │ ├── merge.cljc ; merge-component!, etc.
│ │ ├── misc.cljc ; 2.x util, roughly
│ │ ├── normalize.cljc ; tree->db
│ │ ├── scheduling.cljc ; internal
│ │ ├── tempid.cljc ; from 2.x
│ │ ├── transit.cljc ; from 2.x
│ │ ├── tx_processing.cljc ; internals of new transact!
│ │ └── tx_processing_debug.cljc ; debugging util for internals of new transact!
│ ├── application.cljc ; App constructor: fulcro-app
│ ├── components.cljc ; get-query, get-ident, etc.
│ ├── data_fetch.cljc ; from 2.x: load, load-data, etc.
│ ├── dom
│ │ ├── events.cljc ; various helpers from 2.x
│ │ ├── html_entities.cljc
│ │ └── icons.cljc
│ ├── dom.clj ; DOM from 2.x
│ ├── dom.cljs
│ ├── dom_common.cljc
│ ├── dom_server.clj ; DOM for SSR (NOT WORKING YET)
│ ├── inspect ; package of nses for talking to Chrome Inspect plugin
│ │ ├── diff.cljc
│ │ ├── preload.cljs ; Use THIS for using Inspect. Do NOT include the inspect dependency.
│ │ └── transit.cljs
│ ├── macros
│ │ ├── defmutation.clj ; macro internals. Do not use.
│ │ └── defsc.clj
│ ├── mutations.cljc ; client-side defmutation
│ ├── networking
│ │ ├── http_remote.cljs ; normal client remote (no longer uses protocols)
│ │ ├── mock_server_remote.cljs ; mock server for use in cljs
│ │ └── server_middleware.clj ; middleware elements from 2.x for rolling your own server
│ ├── rendering
│ │ ├── ident_optimized_render.cljc ; Default rendering optimization. Not perfect yet, but fast.
│ │ └── keyframe_render.cljc ; More like Fulcro 2.x rendering. Relies on shouldComponentUpdate for performance.
│ ├── routing
│ │ ├── dynamic_routing.cljc ; Router from Incubator
│ │ └── union_router.cljc ; Fulcro 2.x routers (old dynamic router untested, possibly broken)
│ ├── specs.cljc
│ └── ui_state_machines.cljc ; From Incubator