GRAPHIC: New Entity Operations™ Alpha Logo

EntityScript



core_graphics



core_graphics is meant to operate as a backend/frontend operator.

The Frontend can be deployed in something like JavaScript. In this case, we'll call that script XYZObjects.js. XYZObjects will give you the following:

There is one part of the frontend that is for traditional browsers and is in a preview stage currently. It's called New Entity™ and you can find it at https://NewEntity.io

The other default/provided _FRONTEND implementation runs on a lower level and is able to be locked down as a solid 1-demensional state on your machine. It's fairly simple and allows for interfacing with most of the other scripts in some way. There are also a couple of special frontend features available too. A special license is needed to view this part of the software at this stage, but we'll eventually be releasing most things under an appropriate open source license. Talks are on about what the best way to do that is. The link to the lower level library provided with the default package is core_FRONTEND and there will be more details about it soon.

XYZObjects.js has three parts.

The first is a 'canvasMain'. This instance provides a background for the frame.

The second is a 'inceptionObject', that provides a frame to be used as an overlay to the main frame, or subsequently stacked frames.

The third is a 'pointObject'. This instance provides a scalable point to be used as an overlay to the main frame, or subsequently stacked frames.


When you start to move the elements around you can see how powerful each abstraction of cubes and shapes could become if you continued onward, but the point is a very limited and basic set of elements to start.


There is also emulated 3D graphics in 2D space. Here, we can draw lines, or connect faces together to form shapes. If you wanted to spend a lot of time... you could also connect points and lines.

Backend

Each pixel on screen can be mapped into a coordinate system in many lower-level system graphics extensions. The purpose of this project isn't to provide thos, but to enable ways of implementing one or many of them at the same time in both a low-level interface and a default/traditional interface for browsers. Typically, in a web browser these pixels will take up roughly 4 bytes of data per pixel but the ideas of grouping them can be fairly simple. You're able to augment pixels before they arrive using a backend or as they arrive using something to manipulate them as they're loaded. This backend could technically format pixels with a GPU instead of rendering them as pixel values and then amplifying them to meet a screen size. This would reduce pixel quality.


# -*- coding: utf-8 -*-
"""
COPYRIGHT (C) 2020-2023 NEW ENTITY OPERATIONS INC. ALL RIGHTS RESERVED
INSTANCE: core_graphics
MODIFIED: 2021/01/12
OVERVIEW:

core_graphics gives basic X,Y,Z coordinate systems for use within C.ORE

"""
__version__ = "0.0.5"
__author__ = "Ryan McKenna"
__copyright__ = "Copyright (C) 2023 New Entity Operations Inc."
__credits__ = [
 "Ryan McKenna",
 "New Entity Operations Inc.", "New Entity Operations, LLC"]
__email__ = "Operator@NewEntityOperations.com"
__license__ = "New Entity License"
__maintainer__ = "Ryan McKenna"
__status__ = "Production"

## MODE-> facilities
from MODE.facilities import (FillInceptionBlock, matrix_setup,
 MODULE_MATCHER_MAIN, pin, SURFACE_COLOR, VECTOR_ADJUST, VECTOR_SPACE)

## Provide matrix-limits
for i in range(matrix_setup):
 """
 Setup function that takes the empty lists x, y, z and sets them up
 with the matrix_setup number 'standard is 100'
 """
 VECTOR_SPACE.X.append(i)
 VECTOR_SPACE.Y.append(i)
 VECTOR_SPACE.Z.append(i)

def fill():
 """
 Fill the InceptionBlock with the colors defined based off of the
 A-E graph specifications
 """
 FillInceptionBlock.append(SURFACE_COLOR.A)
 FillInceptionBlock.append(SURFACE_COLOR.B)
 FillInceptionBlock.append(SURFACE_COLOR.C)
 FillInceptionBlock.append(SURFACE_COLOR.D)
 FillInceptionBlock.append(SURFACE_COLOR.E)
 FillInceptionBlock.append(SURFACE_COLOR.F)

def clear_block():
 """
 Clear the fill color of the InceptionBlock
 """
 FillInceptionBlock.clear()

class VECTOR_ADJUST:
 ## Block Altering Turns
 ## FORWARD: A becomes B
 forward = 3
 ## BACKWARD: A becomes D
 backward = 3
 ## LEFT: A becomes X*-90Degrees
 left = 3
 ## RIGHT: A becomes X+90Degrees
 right = 3
 ## UP: F becomes E
 up = 3
 ## DOWN: E becomes F
 down = 3

def adjust_block(matrix_setup=matrix_setup):
 """
 Overload the matrix_space with your own value as needed
 """
 ## clear the vector space
 VECTOR_SPACE.X.clear()
 VECTOR_SPACE.Y.clear()
 VECTOR_SPACE.Z.clear()
 ## repopulate the matrix
 for i in range(matrix_setup):
  VECTOR_SPACE.X.append(i)
  VECTOR_SPACE.Y.append(i)
  VECTOR_SPACE.Z.append(i)

def provide_block():
 print("X: "+str(len(VECTOR_SPACE.X))+\
  ", Y: "+str(len(VECTOR_SPACE.Y))+\
  ", Z: "+str(len(VECTOR_SPACE.Z))+" Graphic")
 print("                                                     ")
 print("          Y ("+str(len(VECTOR_SPACE.Y))+")           ")
 print("              |                                      ")
 print("              |                                      ")
 print("              |                                      ")
 print("              |                                      ")
 print("              |                                      ")
 print("              |                                      ")
 print("              |                                      ")
 print("              |__                                    ")
 print("              /_ /|_____________________ X ("+str(len(VECTOR_SPACE.X)))
 print("             |__|/                                   ")
 print("            /                                        ")
 print("           /                                         ")
 print("          /                                          ")
 print("         /                                           ")
 print("        /                                            ")
 print("       /                                             ")
 print("      /                                              ")
 print(" Z ("+str(len(VECTOR_SPACE.Z))+")                    ")
 ## Setup the Matrix based off of the standard matrix_setup
 print('----- X-AXIS -----')
 print(VECTOR_SPACE.X)
 print('----- Y-AXIS -----')
 print(VECTOR_SPACE.Y)
 print('----- Z-AXIS -----')
 print(VECTOR_SPACE.Z)
 ## Confirm the pin location
 print(pin)

## Default runner
if __name__ == MODULE_MATCHER_MAIN:
 ## provide a constructed block
 provide_block()
 ## Render the visual version of the Matrix-defined points
 fill()
 print(FillInceptionBlock)