{"id":956,"date":"2011-08-03T00:03:44","date_gmt":"2011-08-03T08:03:44","guid":{"rendered":"http:\/\/technofovea.com\/blog\/?p=956"},"modified":"2016-03-31T23:34:20","modified_gmt":"2016-04-01T06:34:20","slug":"profiles-loading-now-integrating-new-dependency-graph","status":"publish","type":"post","link":"http:\/\/technofovea.com\/blog\/archives\/956","title":{"rendered":"Profiles loading, now integrating new dependency graph"},"content":{"rendered":"<p>PackBSP&#8217;s profile-loading (a nested Spring ApplicationContext, really) is well underway, but I&#8217;m adding another level of indirection (some data-holding classes) to avoid too tight of an integration with certain HL2Parse innards. My main goal right now is to geta build which reproduces most of the current dependency-crawling features, and then worry later about how components are going to merge\/override specific configuration data, like recognized shader parameters.<\/p>\n<p>This will also mean integrating and testing the new dependency-graph classes, which unlike the old version are able to model crawling multiple maps at once, where each map may potentially have its own copy of a named asset in its pakfile. This is done by allowing multiple edges in the graph (directed acyclic multigraph) where each edge corresponds to the context of a particular map. In this way most nodes will be shared across maps (avoiding duplication of effort) but differences can still be modeled by having certain nodes only connected through map-specific edges.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>PackBSP&#8217;s profile-loading (a nested Spring ApplicationContext, really) is well underway, but I&#8217;m adding another level of indirection (some data-holding classes) to avoid too tight of an integration with certain HL2Parse innards. My main goal right now is to geta build which reproduces most of the current dependency-crawling features, and then worry later about how components [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[4],"tags":[8],"_links":{"self":[{"href":"http:\/\/technofovea.com\/blog\/wp-json\/wp\/v2\/posts\/956"}],"collection":[{"href":"http:\/\/technofovea.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/technofovea.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/technofovea.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/technofovea.com\/blog\/wp-json\/wp\/v2\/comments?post=956"}],"version-history":[{"count":4,"href":"http:\/\/technofovea.com\/blog\/wp-json\/wp\/v2\/posts\/956\/revisions"}],"predecessor-version":[{"id":959,"href":"http:\/\/technofovea.com\/blog\/wp-json\/wp\/v2\/posts\/956\/revisions\/959"}],"wp:attachment":[{"href":"http:\/\/technofovea.com\/blog\/wp-json\/wp\/v2\/media?parent=956"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/technofovea.com\/blog\/wp-json\/wp\/v2\/categories?post=956"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/technofovea.com\/blog\/wp-json\/wp\/v2\/tags?post=956"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}