Art-World

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN


0.17_07 2020-10-21T11:11:05Z
  - Updating to Type::tiny 1.011_011

0.17_06 2020-10-21T08:58:05Z
  - Changing the way the dynamic Fame attribute is generated

0.17_05 2020-10-19T21:18:54Z
  - Fame can now adapt to the class that consume it by deciding if it is a Work or an Agent
  - Adding 3 methods in the Meta class for simple manipulation of objects
  - Working on the Artwork aura: guess this is something different of the Fame's reputation
  - Introducing some Meta class to work on the objects themselves
  - Working on Curators and Manager role
  - Update to Type::Tiny 1.011_009 so we can use non quoted types constraints for attributes (see RT #133448)

0.17_04 2020-10-07T20:39:25Z
  - A more complete Buyer role
  - aquire() add an Artwork to the Collector->collection (an take the Artwork->value)
  - sale() remove and Artwork from the collection (and add some money)
  - Force the Collector->collection to be composed of Artwork
  - Add a title attribute to the works

lib/Art/World.pm  view on Meta::CPAN

    }

    multi method change_owner ( Collector $buyer ) {

      # From seller collection
      $self->$remove_from_seller_collection;

      $self->clear_owner;
      $self->set_owner([ $buyer ]);
      push $buyer->collection->@*, $self;
      # TODO guess it should bump some people reputation and artwork aura now
    }

    multi method change_owner ( Coinvestor $buyers ) {

      # From Collector point of view
      $self->$remove_from_seller_collection;

      # From Artwork point of view
      $self->clear_owner;
      $self->set_owner( $buyers->members );
      push $buyers->collection->@*, $self;
      # TODO guess it should bump some people reputation and artwork aura now
    }
  }

  role Collective {

    has members! ( type => ArrayRef[ Agent ] );

    multi method acquire ( Artwork *art, Collective *collective ) {
      for my $member ( $arg->collective->members->@* ) {
        $member->pay( $arg->art, $arg->collective );

lib/Art/World.pm  view on Meta::CPAN

      class Magazine {

        has reader;
        has writer ( type => ArrayRef[ Agent ] );

        method publish {};
      }

      class Place with Fame, Invitation, Space {

        # Like, dunno, a city ? Could be in a Geo role I guess
        has location ( type => Str );

        class Institution with Market {
          class Gallery with Exhibit, Buyer {
            has artwork ( type => ArrayRef );
            has artist ( type => ArrayRef );
            has event ( type => ArrayRef );
            has owner;
          }

lib/Art/World/Manual.pod  view on Meta::CPAN

<p>
  <img alt="Pencil schema with mountains" src="https://gitlab.com/smonff/art-world/-/raw/master/spec/schema_v4.png"
    width="600px">
</p>

=end html

The residency ended up with L<the redaction of a rather precise documentation|https://files.balik.network/art/schema_v4_presentation.pdf> (FR) and maybe the first specification I ever wrote.

Then I almost got beaten by a fellow artist who was participating in a collective
exhibition mostly for the money and not for the fun. I guess he felt a bit provoked by my situationist theory.

In 2008, I finally decided to start a training to learn programming and design a proper database and system for I<managing a virtual Art
World>. I became a web developer, but I totally forgot the ulterior motive.

Sometimes I thought about it:

=over

=item 2013 Perl try



( run in 1.054 second using v1.01-cache-2.11-cpan-702932259ff )