Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
renatopp committed Jun 24, 2015
0 parents commit 4e25a7c
Show file tree
Hide file tree
Showing 146 changed files with 47,458 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .bowerrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"directory" : "src/vendor"
}
38 changes: 38 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Logs
logs
*.log

# Runtime data
pids
*.pid
*.seed

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage

# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release

# Dependency directory
# Commenting this out is preferred by some people, see
# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git-
node_modules

# Users Environment Variables
.lock-wscript

# IDE configurations
.idea

# Custom
dist
src/vendor
cache
teste.py

Empty file added BUILD.md
Empty file.
30 changes: 30 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
Version [NEXT]
==============

[editor]

- add: editor import and export custom_node property (see #9/b3js).
- add: editor create custom nodes automatically when importing (see #9/b3js).
- add: interface is using AngularJS now.
- add: editor now support multiple trees, you can change it on tree panel.
- add: history manager (undo/redo feature) (#13).
- add: desktop version using nwjs.
- add: a settings panels (see #6).
- add: node categories can have different colors (see #4).
- add: alt-click to select subtree (see #10).
- add: optional vertical layout (see #5).
- add: editor now can hanble multiple projects (see #15).
- mod: new commands and shortcuts (see #16, #17, #10 and #13).
- mod: new repository.
- mod: new architecture, merging viewer and editor (see #1).
- mod: further updates to the architecture.
- mod: parameters are read-only now, so they cannot be edited (see #2).
- mod: all communication (editor->app) is done by events.
- fix: error when importing json without Display.
- rem: dependence on JQuery and other libraries is removed.


Version 0.1.0 [Out 27, 2014]
============================

- initial release.
158 changes: 158 additions & 0 deletions Gruntfile.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
module.exports = function(grunt) {

// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),

// grunt server
connect: {
server: {
options: {
port: 8000,
base: 'src',
livereload: true
}
}
},

// grunt watch
watch: {
options: {
livereload: true
},
taskName: { // You need a task, can be any string
files: [ // Files to livereload on
"src/assets/less/*.less",
"src/assets/css/*.css",
"src/*.js",
"src/**/*.js",
"src/*.html",
"src/**/*.html",
]
}
},

// grunt style
less: {
options: {
compress: true,
},
target: {
files: {
'dist/web/css/app.css': ['src/assets/less/*.less']
},
}
},

cssmin: {
options: {
keepSpecialComments: 0,
},
target: {
files: {
'dist/web/css/load.css': [
'src/assets/css/fonts.css',
'src/assets/css/preload.css',
],
'dist/web/css/app.css': [
'src/vendor/normalize.css/normalize.css',
'src/vendor/bootstrap/dist/css/bootstrap.min.css',
'src/vendor/fontawesome/css/font-awesome.min.css',
'src/vendor/sweetalert/dist/sweetalert.css',
'dist/web/css/app.css',
]
}
}
},

uglify: {
target: {
files: {
'dist/web/js/load.js': [
'src/assets/libs/createjs.min.js',
'src/assets/libs/creatine-1.0.0.min.js',
],
'dist/web/js/libs.js': [
'src/assets/libs/behavior3js-0.1.0.min.js',
'src/assets/libs/mousetrap.min.js',
'src/vendor/angular/angular.min.js',
'src/vendor/angular-animate/angular-animate.min.js',
'src/vendor/angular-bootstrap/ui-bootstrap-tpls.min.js',
'src/vendor/angular-ui-router/release/angular-ui-router.min.js',
'src/vendor/sweetalert/dist/sweetalert.min.js',
],
'dist/web/js/editor.js': [
'src/editor/namespaces.js',
'src/editor/utils/*.js',
'src/editor/**/*.js',
],
'dist/web/js/app.js': [
'src/app/app.js',
'src/app/app.routes.js',
'src/app/app.controller.js',
'src/app/**/*.js'
],
}
}
},

clean: {
before: ['dist'],
after: ['temp']
},

// grunt fonts
copy: {
target: {
files: [
{expand:true, cwd:'src/assets/fonts/', src:['**'], dest:'dist/web/fonts/'},
{expand:true, cwd:'src/assets/imgs/', src:['**'], dest:'dist/web/imgs/'},
{expand:true, cwd:'src/app', src:['**/*.html'], dest:'dist/web/app/'},
{src:['src/dist.html'], dest:'dist/web/index.html'},
{src:['src/main.js'], dest:'dist/web/main.js'},
{src:['distPackage.json'], dest:'dist/web/package.json'},
]
},
after: {
files: [
{expand:true, cwd:'temp/behavior3editor/', src:['**'], dest:'dist/'},
]
}
},

nodewebkit: {
options: {
platforms: ['win32', 'osx32', 'linux32'],
buildDir: 'temp/',
version: '0.12.1'
},
src: ['./dist/web/**/*']
}
});

grunt.loadNpmTasks('grunt-contrib-connect');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-less');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-node-webkit-builder');

grunt.registerTask('serve', "Serving...", ['connect:server', 'watch' ]);
grunt.registerTask('build', [
'clean:before',
'less',
'cssmin',
'uglify',
'copy',
'nodewebkit',
'copy:after',
'clean:after']
);
grunt.registerTask('build-nw', [
'nodewebkit',
'copy:after',
'clean:after']
);
};
22 changes: 22 additions & 0 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
The MIT License (MIT)

Copyright (c) 2014 Renato de Pontes Pereira

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

58 changes: 58 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# BEHAVIOR3EDITOR

![interface preview](preview.png)

**Behavior3 Editor** is the official visual editor for the **Behavior3** libraries. It can be accessed online or you can download it to have handle local projects.

- Info: http://behavior3.com
- Editor: http://editor.behavior3.com


## Why Behavior3 Editor?

Why should you use b3editor? What is different from other editors? Can it compete against commercial alternatives? - Well, check it out some characteristics of Behavior3 Editor:

- **Open Source Software**: under MIT license, you can use this software freely, adapt it to your need and even use a specialized internal version in your company. You can also contribute with bug fixes, suggestions and patches to make it better.

- **Open Format**: b3editor can export the modeled trees to JSON files, following an open format. If there is no official reader on your favorite language yet, you can develop your own library and use the trees created here.

- **Formality**: the editor works above the basis created by Behavior3JS, which in turn is based on formal description of behavior trees. Thus, the editor provides a stable solution to model agents for your games or other applications such as robotics and simulations in general.

- **Focus on Usability**: intuitiveness is the key word of b3editor. We focus on providing an easy, clean, and intuitive tool for programmers and non-programmers. If there is something obscure or too difficult to use, report it immediately!

- **Minimalist, but Functional**: b3editor follows a minimalist style, trying to reduce the amount of non-essential information presented on the screen. We focus on the important things: designing Behavior Trees.

- **Customizable**: create your own node types and customize nodes instances individually. Create several projects and trees, change titles and add properties.

- **Big Projects Ahead**: we are working towards a collaborative tool in order to provide an awesome editor for big projects involving several designers working together.

- **Does not depends on other tools/editors/engines**.



## Main features

- **Custom Nodes**: you can create your own node types inside one of the four basic categories - *composite*, *decorator*, *action* or *condition*.
- **Individual Node Properties**: you can modify node titles, description and custom properties.
- **Manual and Auto Organization**: organize by dragging nodes around or just type "a" to auto organize the whole tree.
- **Create and Manage Multiple Trees**: you can create and manage an unlimited number of trees.
- **Import and Export to JSON**: export your project, tree or nodes to JSON format. Import them back. Use JSON on your own custom library or tool. You decide.


## Limitations

Nothing is perfect =( . Behavior3 Editor focus on Chrome (thus, working pretty well on Opera too), so it have some incompatibilities with Firefox, such as the image preview lag when dragging to create a node for the first time, and the ugly scroll bar inside the panels. Not tested on IE!


## Looking for Behavior Tree Libraries?

See http://behavior3.com for a complete list of libraries.

*If you have implemented an library compatible with Behavior3 schematics, tell me and I link it there*.


## Want to Contribute?

Take a look at the issue list, suggest new features, report bugs, send me pull requests, write documentation and tutorials. There are many ways to contribute, do what you know and you can make Behavior3 Editor better!

- More info: http://behavior3.com/donation
17 changes: 17 additions & 0 deletions bower.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"name": "behavior3editor",
"version": "0.2.0dev",
"directory": "src/vendor/",
"devDependencies": {
"angular": "~1.4",
"bootstrap": "~3.1.1",
"angular-animate": "~1.4",
"angular-bootstrap": "~0.13.0",
"angular-ui-router": "~0.2.14",
"fontawesome": "~4.3.0",
"less": "~2.5.0",
"normalize.css": "~3.0.3",
"sweetalert": "~1.0.0-beta"
},
"dependencies": {}
}
26 changes: 26 additions & 0 deletions distPackage.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"author": "Renato de Pontes Pereira",
"name": "behavior3editor",
"version": "0.2.0",
"homepage": "http://behavior3.com",
"licenses": {
"type": "MIT",
"url": "https://raw.github.com/renatopp/behavior3editor/master/LICENSE"
},
"bugs": "https://github.com/renatopp/behavior3editor/issues",
"repository": {
"type": "git",
"url": "[email protected]:renatopp/behavior3editor.git"
},
"main": "index.html",
"window": {
"title": "Behavior3 Editor - http://behavior3.com",
"toolbar": false,
"frame": true,
"width": 900,
"height": 800,
"position": "center",
"min_width": 600,
"min_height": 400
}
}
Loading

0 comments on commit 4e25a7c

Please sign in to comment.